Подпишитесь на рассылку о самых интересных материалах в мире веб-разработки :)

Кто ты: junior/middle/senior ?


(Kvokka) #1

С каждым днем я все хуже и хуже понимаю концепцию деления на специалистов junior/middle/senior. В частности, на примере той же рельсы- срок работы не коррелирует со знаниями, я наблюдал отвратительный код после 3-4 лет работы в сфере.

OpenSource тоже далеко не всегда показатель- некоторые вещи пишутся абстрактно, но закрыто, либо ввиду сырости, либо ввиду бесполезности публикации в OS ввиду специфичности и не имплементации избыточной гибкости. Как и реализованные проекты- человек может работать в “глубоком тылу” и его работа не видна, или наоборот, проект может быть на столько большим, что выделить, кто-что делал уже крайне проблематично.

Пытаться ругаться необычными для нормального человека словами типа Presenter или BigData и по ним определять, правильно ли тебе ругаются в ответ? Дык это странная какая-то методика, неинвазивная.

Какой линейкой мерить свой или чужой уровень?


(Kvokka) #3

Ваш метод несколько напоминает https://ru.wikipedia.org/wiki/Цветовая_дифференциация_штанов

Организации с таким типом деления для меня не интересны как класс.

Есть проекты, где не только 1 человек вносит изменения в мастер. И вообще мастеров много или практикуется парное программирование.

middle бывает, к нашему общему сожалению, ибо этим наименованием пользуются HR.


(Kvokka) #5

То-есть, по вашему разумению, группа вообще не может состоять из синиоров, тк нужна диктатура?

Про не хотят платить- тоже спорно. При оплате, к примеру 50-70 фунтов в год за миддла, я не могу сказать, что не хотят платить.

Я изначально задал вопрос, подразумевающий освещение этой грани у работодателей. И ответ, что не стоит пользоваться этой терминологией- это то, что хочется получить меньше всего, тк этот ответ лишь отнимает время.

Простите, wagon, но вы за 2 поста сумели полностью продемонстрировать свою некомпетентность, в моем понимании.

Хорошего вам настроения!


(Павел) #6

как решишь написать в своем резюме - тем тебе и быть. ну а так, мне кажется, некоторые просто от природы схватывают материал куда быстрее и лучше и в принципе соображают быстрее.


(Kvokka) #7

Ну так я могу и архитектор написать, только вот потом офигеть от вопросов на резюме и потратить время пустую. Свое время. А его жалко.

Вопрос все еще открыт: где эта грань, отличающая ждуниора от мидла или мидла от синиора ну и синиора от рок-стара.

Разность между синиором и тимлидом более ли менее ясна, как с СТО и все такое.


(Павел) #8

на российских интервью тебя будет ебать так и так. с логической точки зрения возможно предположить, что чем сложнее структура приложения или скрипта, которые ты способен написать, тем выше твой ранг, с другой стороны, возможно, опыт умноженный на твой процент усвоения информации, которую ты получаешь. потому что опять же, есть люди, которые соображают с первого раза, а есть те, кто не поймет и с 10. и для обоих случаев итоговой результат от 10 выполненных проектов будет разный. самый простой вариант - начать с самых низов или чуть выше и постепенно осваиваться и ощущать все больше и больше уверенности на фоне остальных, что позволит тебе менять слово в заголовке своего резюме. так же, решающим фактором может послужить то, насколько свободно ты знаешь язык + общие познания в информатике и общих паттернах программирования


(Kvokka) #9

По-моему, наоборот. Чем проще ты напишешь замудреный скрипт- тем круче.
Любой код будет требовать саппорта.

Но, опять же, ответ лежит не в той плоскости, в который ты мне пытаешься дать ответ: давай возьмем экстренумы, к примеру DHH- это синиор. На сколько нужно приблизиться к его уровню? Или же что является мерилом знания?
Явно не HR, который вообще плохо понимает, что происходит.

Сейчас модно расспрашивать про всякие там абстрактные патерны проектирования. Но ведь это бесполезно. Или тестовое задание выдать не от мира сего. Тоже ведь чушь.

Но вот как правильно? вопрос все еще актуален.


(Павел) #10

под сложностью структуры я имел в виду не размер кода, или элегантсность написания, а саму сложность архитектуры, ты можешь написать какую-нибудь хуйню, которая ломается от того, что ты ставишь пробел не в том месте, а можешь написать систему, которая сама себя диагностирует и выдает информацию об ошибке тебе в консоль, сравни, кто тут юниор, а кто тут синьор помидор. все эти лейблы - относительные измерения, чтобы как-то обозначит твой уровень зарплаты, выше которой ты требовать не в праве.


(Kvokka) #11

Вот и мы плавно выходим к вопросу, что, как должна выглядеть эта хрень. есть тот же сервис codility, могу сказать, что там есть весьма интересные задания. Но это больше из олимпиадных задачек, а не про реальную жизнь. Быть может есть что-то лучше? Чем вообще мерять свою “программилку”? :slight_smile:


(Павел) #12

понимаешь ли, программист - это человек и его код и уровень во многом зависит от личностных качеств, только в раше прогер почему-то какая-то обособленная группа каких-то “невероятных” людей, который ассоциируются с каким-то бородатыми дрищами-ботаниками(во многом это из-за общего упадка образования и большого количества маргиналов). Возьмем того же создателя рельсов, Дэвида Ханссона, он профессиональный гонщик, написал фрейворк, который уже с первой секунды создает рабочее веб приложение, о быстром запуске проектов с рейлс можно даже не говорить. То есть, что мы имеем: гонщик создал скоростной фреймворк, улавливаешь связь? Далее, хороший программист, скорее всего тот, у кого есть математический бекграунд, у кого развито абстрактное мышление, есть алгоритмическое мышление. Для такого человека понять, что такое ООП не составит труда, но при этом некоторые не особо развитые работодатели будут жестко требовать с тебя какие-то примитивные инцеклопедиционные знания и формулировки, иногорируя при этом все остальное. Развивай свое мышление в целом, обучайся не только вещам, которые связанны непосредственно с программированием, ознакомься с историей развития информатики, попытайся найти в ней какие-либо паттерны, анализируй и тогда ты будешь наголову выше остальных и монетизировать свои знания тебе не составит труда.


(Kvokka) #13

Огромное спасибо за много букв, но, боюсь, бОльшая часть их них тут не совсем по теме. Я не ставлю вопроса КАК стать круче или что для этого делать. У меня и так есть весьма хорошая работа + годное развитие по специальности. Я спрашиваю как изменять свой уровень.

Говорить, что я круче чем Коля, но не дотягиваю до Васи- ну по меньшей мере не этично + Коля и Вася из примера тоже не в палате мер и весов взяты.

Опять же, что значит знать ту или иную технологию? Возьмем ту же рельсу. Пролопатил из нее добрую половину сырцов, сделал кучку фиксов, несколько гемчиков запилил, один, надеюсь даже вскоре в паблик запилить (оффтоп :). Это значит я ее знаю? Или учусь?

И так во многом. Я хочу найти линейку для измерения “программилки”. При том, не то чтобы с кем-то мерятся, а для себя.


(Павел) #14

Это значит, ты одновременно знаешь и учишься, жизнь - это бесконечный учебный процесс, если ты задаешься этим вопросом, значит и сам это понимаешь. Тут нет потолка или лимитов, кроме тех, которые ты сам себе поставил. Изменять свой уровень - делать то, чего не делал, учить то, чего не знаешь, все просто, по моему, даже если допустить абстрактную ситуацию, что ты выучил в руби все, садись учить си и начинай переписывать исходники руби, вот и все, совершенству нет придела.


(Павел) #15

ну а про линнейку: возьмем двух прогреров одинаковго уровня, первый достиг его за год, второй за 3, кто круче? а вообще ты не сможешь измерить линейкой то, что нелинейно) но, судя по всему, я не понимаю тебя и то, что ты хочешь для себя осознать, я скорее просто высказываю мысли, так что мы немного в разных плоскостях


(Kvokka) #16

Есть такая фигня. Но, я ставлю вопрос не в скорости, а в результате. Так что по результату, если в твоем примере они получили одинаковое знание, то они равны, лишь прирост развития разнится.


(Павел) #17

Но при этом ты тоже не хочешь понять меня, ты пытаешься сузить все до какой-то измерительной, шкалы, но это в принципе невозможно, потому что слишком много факторов имеют ключевое значение в итоговом результате, конечно, можно написать нелинейный алгоритм, но лучше заняться каким-либо другим делом, я считаю


(Kvokka) #18

Я не хочу принимать навязываемый ответ, что “это неизмеримо”, осознавая, что определенная мера есть, хоть и сложная.

Давай спрошу иначе- в контору пришел человек и говорит, что он программист и хочет там работать. Как определить его уровень и тем самым навесить на него кумулятивный ярлык? Или поверить ему на слово, что он молодец и взять на должность “владыки мира”?


#19

от области и от специфики отталкивайся. и от вида работ. это уже решенная проблема.


(Kvokka) #20

Гражданин, прошу, если вам есть что сказать, по заданному вопросу, выразитесь внятно и понятно. Особенно если это решенная проблема.


(Sergey) #21

Считаю, что нет точного инструмента для определение уровня человека в той или иной деятельности.

Есть определенные рамки от х до y, для каждого уровня. В данном случае junior/middle/senior.
Если при собеседование, по мнению экзаменатора, человек попадает в рамки, например middle, и в резюме у соискателя указано именно, что он middle, то стало быть все хорошо. В случае разногласия решения будут приниматься в зависимости от ситуации.
Ключевые факторы - это временной опыт, примеры проектов, качество работ, характер человека, его способность к общению и др.
Но, как правило все это не даст 100% картинку о человеке и его способностях.
Порой middle, может иметь более лаконичный и красивый код, при этом работать в разы быстрее чем некий Senior. Но у второго все равно зп. будет выше. (За счет опыта, стажа, хорошего багажа выполненных работ за спиной). Может это не справедливо - но такая градация есть и иной “линейки” я не встречал.
Сам через такое прошел. Работая инженером в крупной фирме я работал быстрее, качественнее, активнее и продуктивнее всего нашего отдела. Там были и Старшие и Ведущие инженеры. Но у меня все равно оклад был ниже их, так как я был младший инженер. =)

А по поводу зарплаты, тут все проще. “Ты стоишь столько - сколько сам хочешь”! И если вторую сторону это устраивает - то Вы договоритесь. И не важно, что в отделе уже есть человек у которого такой же уровень, но з.п. на 30% ниже того что ты запросил. Данный аспект зависит от возможностей работодателя (как правило они в голове держат вилку по з.п. от мин. до макс. для определенного уровня), и от амбиций соискателя.


(Kvokka) #22

Спасибо за подробный ответ. Но все же, вопрос был именно в том, где живут эти рамки экзаменатора? Они ведь не абсолютно абстрактные, а вполне себе понятные для top и button уровня. Я лишь пытаюсь провести некоторые градации меж этих экстремумов.

Я работаю уже почти 15 в ИТ и вполне имею свои представления о задаваемом вопросе, но, порой, меня слишком смущает непонятная модель тестирования. Так же, очень размыта грань между junior/middle. Я не говорю про undergraduates, тут все ясно. Принципиальная разница в статусе в ширине охвата и глубине знания в предметной области.

Но HR и как следствие работодатели, порой, считают иначе. Я и хочу понять, как они измеряют это неизмеримое. Опытом и длинными словами сыпать проблем-то нет :slight_smile: