В последнее время очень много мыслей сосредоточено на том, что я из себя представляю, как разработчик (у меня 3-5 лет опыта, но всегда казалось, что последующий опыт обесценивает предыдущий). Я то начинаю видеть кучу вещей, которых не знаю, и думать, что мой уровень ниже, то замечаю, что знаю много вещей, о которых и не догадывался раньше, и оценка снова меняется.
Есть ли какой-то объективный способ решить эту проблему? На Хабре недавно был сервис с возможностью проходить собеседования с последующей оценкой, но он, к сожалению, в закрытой бете.
Это нормально всё. Опыт приходит, возникают вопросы, о которых раньше даже не думал. И свой старый код кажется ужасным. Субъективно тут трудно понять уровень, разве только упорядочить процесс - читать спец.литературу, отдавать код на ревью, делать тесты какие-то.
А вот объективно, если у вас зарплата не ниже средней по рынку труда, если к вам приходят с вопросами, переманивают на другие фирмы/отделы/проекты, то всё идёт хорошо. Если этого нет - тревожный сигнал.
3-5 лет как раз такой срок в одной сфере, когда мастерство приходит. Если не чувствуется роста, надо думать о смене сферы, технологии, фирмы, города, страны.
Если ты можешь сделать нечто как минимум средних размеров более-менее нормально, то ты - миддл. Если не можешь, или испытываешь серьезные трудности, или код заставляет плакать, то джуниор. А вот если ты спокойно отвечаешь на stackoverflow, имеешь там большой процент отмеченных решений и, будучи разбуженным посреди ночи, дашь оптимальное решение сложной проблемы, то - сеньор.
Важно понимать, что миддл - это очень большой этап в карьере, многие не могут его перешагнуть. Переход от миддла (специалиста) к сеньору (эксперту) может занимать много лет. По существу, большинство разработчиков именно миддлы.
отвечаешь на stackoverflow, имеешь там большой процент отмеченных решений
Уровень вопросов на тостере и SO почти одинаковый. У меня тут 59% решений, но я бы не назвал себя сеньором, так, мидлом с натяжкой. Мне кажется, это не совсем показатель. Да и на SO нужно еще учитывать качество ответов и вопросов, а то можно отвечать на всякие простые вопросы по jQuery.
оптимальное решение сложной проблемы
А как понять, оптимальное ли это решение? Даже если спросить у других сеньоров, не факт что они тоже подлинные сеньоры.
Нет. Там гораздо жестче, гораздо больше сложных вопросов. А действительно топовые ответы, сложные ответы, изящные и красивые ответы набирают 500+ голосов, их награждают репутацией топовые эксперты ресурса. Никакой тостер не сравнится. Здесь разве что несколько персоналий могут потянуть на уровень SO, FanatPHP, например. Но это единицы
99% людей наплевать на ваш уровень... он возможно немного интересен коллеге за соседним столом, по причине зависти или жадности... непосредственному начальнику (отдела разработки), чтобы знать вашу грузоподъемность... а остальные в этом ничего не понимают, люди на которых вы работаете ничего не понимают, люди которые будут использовать ваши труды ничего не понимают, часто и коллеги и непосредственные руководители не понимают... важен результат, который от вас хотят... а не ваш уровень.
у людей есть задачи, которые нужно решить (не важно как, какими методами, технологиями... важен результат!), есть деньги, которые они готовы заплатить... кроме задач которые нужно решить, есть косвенная задача - сэкономить деньги, если у вас получается и то и другое вы, по Паретто, круче чем у 80% таких как вы...
Если вы задаётесь таким вопросом, то вы где-то в серединке. Если вы не задаётесь, то вы либо ничего не знаете, либо знаете на высоком уровне, что бы оценить уровень своих знаний самостоятельно.
p.s.
Когда достигните уровня мастерства, который есть только у 100 специалистов на планете, поймёте, что ваши знания, по существу, ничего толком и не значат.
Точно также, как и узнать: какой из пары предметов больше или тяжелее.
Измерительный прибор - это ваши возможности, оценка ваших действий сообществом (того же направления), сертификаты, дипломы, уровень оплаты вашего труда и т.д.
Никак. Человек не может оценить сам себя объективно.
Я то начинаю видеть кучу вещей, которых не знаю, и думать, что мой уровень ниже, то замечаю, что знаю много вещей, о которых и не догадывался раньше, и оценка снова меняется.
Чем больше узнаешь, тем больше понимаешь, как многого еще не знаешь.
Это нормально.