«Я ещё джун или уже не джун?» — вот в чём вопрос. Отвечает Наталья Ёркина из Ostrovok.ru.
Ещё о карьере:
Опыт и знания программистов увеличиваются во время работы — и джуны не исключение. Обычное дело — прийти на работу, узнать что-то, порешать задачи и через пару месяцев подумать «Ну вот я уже, наверное, и стал мидлом, надо просить зарплату в два раза выше».
А чаще всего не пора, и вот почему.
Дисклеймер: нет простого способа определить, джун перед вами или уже мидл. Умение находить множественные решения задач — только один из способов.
Джуны — младшие разработчики
Джуны — программисты, которые иногда не знают, что именно они знают (и никто из коллег тоже не знает). Это тот случай, когда не совсем понятно, что человек умеет, и совсем не ясно как он это применяет на практике.
Тест на джуна: придумайте больше двух способов сделать слайдер на сайте
💡 Тест на джуна: придумайте больше двух способов сделать слайдер на сайте.
Вы джун, если придумали одно или два решения без особого обоснования, а дальше пошли смотреть в Гугл.
Джуны обычно не могут объяснить вещи, которые нужно сначала потрогать на практике.
Например, event loop
в JavaScript. Про него всё написано, но до тех пор, пока программист с ним не поработал, он не поймёт, как там всё организовано. Когда я проходила собеседование на джуна, я вообще не знала половину этих слов. Я не могла ответить на вопрос, потому что просто не понимала, о чём меня спрашивают.
Джун, который немного поработал в настоящей компании, может решать задачи разных уровней. Вопрос только в том, как он это делает. Чаще всего, решение будет одно, максимум два, потому что у джуна нет опыта решения подобной задачи через множественные подходы. Он может нагуглить, может сам решить, но это условные 1-2 варианта, а всё остальное будет казаться сложным, непонятным и нереализуемым.
Ещё один признак джуна — попросить помощь на типовых задачах. В этом нет ничего плохого, но если разработчик на типовых задачах запрашивает помощь, то он почти всегда джун (или зануда-мидл, который просто любит всех отвлекать).
Стереотип о джунах
Есть стереотип, что джун — это человек, который ничего не умеет, и пришёл устраиваться вообще без навыков и знаний. Так думают многие, и с этим стереотипом сложно бороться.
Джуны умеют делать многое, просто у них нет опыта преодоления сложностей, так как нет опыта работы. Он знает, как сделать и раскрасить попап, сверстать слайдер и много чего ещё.
Джун — не приговор. Просто учитесь решать задачи.
Хороший джун знает или хотя бы слышал, как устроена разработка в современных компаниях — он умеет пользоваться системами контроля версий, понимает, что за чем идёт, и владеет базовым набором инструментов. HTML Academy готовит джунов так, чтобы они выпускались с нормальным набором знаний, а мы доучиваем их под свои реалии.
Мидлы — просто разработчики
Мидл хорошо пишет код, генерирует много вариантов и умеет выбирать из них оптимальный. Понимает базовые концепции, хорошо знает язык, на котором пишет. Мидл легко своими словами расскажет, как работает браузер, какие в нём инструменты и как ими пользоваться, как работает асинхронность и другие вещи из языка.
Мидл сразу понимает, о чём написано в технических статьях, потому что ему уже знакома вся терминология.
Если джун может придумать всего одно или два решения для задачи, то мидл эту задачу видел несколько раз, получал по ней фидбэк, решал её по-разному из-за стека, рабочего окружения и прочих обстоятельств в виде необходимости поддерживать IE11. Поэтому его решение скорее всего будет оптимальнее. К тому же, он может выбирать решения, а джун решает так, чтобы что-то просто работало.
Когда человек из головы может объяснять абстрактные вещи типа замыкания и контекстов, а также без труда видит возможные варианты решения задач, или знает где их взять и как применить, тогда он, по-моему, может считаться мидлом.
💡 Тест на мидла: вас попросили решить нетипичную для вас задачу.
Вы мидл, если сказали «Ух ты ж блин, как интересно», немного подумали и решили.
Программисты часто переходят между командами ради повышения уровня сложности и смены задач. Однажды мы взяли джуна в аналитический отдел. Он хорошо работал и за год стал мидлом. Перешёл в команду, которая делает внутренний продукт, и сейчас прекрасно себя там чувствует. То есть он год делал какие-то простенькие джуновые задачи — месяца три что-то совсем простое, потом мы ему стали давать задачи уровня мидла. Он их успешно выполнял, и его перевели в другой отдел на другой уровень сложности.
Сеньоры — старшие разработчики
С работой в одной команде связан интересный эффект. Пока программист работает в одной и той же компании и занимается каждый день одним и тем же, ему может показаться, что всё получается хорошо. Чтобы понять, пора ли просить зарплату сеньора, попроситесь в другой отдел и поделайте их задачи. Если не получается делать хорошо, быстро и с первой попытки, значит ещё рано.
Сеньор — программист, который может перейти в другой отдел с принципиально другими задачами в рамках одной компании, ничего там не сломать и не затормозить работу.
💡 Тест на сеньора: вас попросили решить нетипичную для вас задачу.
Вы сеньор, если сказали «Ух ты ж блин, какая интересная задача, надо бы её делегировать, пусть и остальные учатся».
Если человек может в одном отделе немножечко пилить аналитику, а в другом отделе поделать чуть-чуть фронтовый бэкенд на Node.js, а потом ещё уйти в совсем другую вещь и написать код на Vue.js, хотя на нём до этого не очень и писал (ну просто так сел и разобрался), то, скорее всего, он уже сеньор.