Топ-7 граблей на пути от Junior к Senior

На протяжении своего карьерного пути IT-специалисты, зачастую, наступают на одни и те же грабли. Важно знать врага в лицо, чтобы не провести всю жизнь на скучных «костыльных» проектах и без фотографии на фоне the Golden Gate Bridge 🙂

1. Человек-оркестр
Симптомы:
Небольшая фирма, набирают программистов без опыта работы. На собеседовании о будущих обязанностях вываливают гигантский список «задач»: «поддержка по телефону, прокладка сети, тестирования, бизнес анализ, обучение пользователей… программирование? А, да… конечно, и программирование…»

В чем грабли:
В лучшем случае, Вас обманут и, как раз, программирование в список ваших обязанностей входить не будет, или же будет входить по принципу «если очень хочется в свое личное время можете бесплатно нам что-нибудь накодить».
Почему в лучшем? Потому что в худшем, Вы будите писать код левой пяткой, правой пяткой обжимая сеть, в левой руке держа трубку телефона, пытаясь понять проблему недовольного клиента, а правой рукой делая записи желаний клиента. Такая ситуация очень характерна для небольшой фирмы, которая пытается делать все подряд за счет небольших ресурсов. Вечный цейтнот, принцип фиг-два и в продакт, разброс от рисования страничек в WEB до администрирования сайтов. Проблема в том, что учиться правильно программировать, когда ты работаешь человеком-оркестром очень сложно, да и не у кого обычно.

Плюсы:
После такой работы, любая другая покажется спокойной и неторопливой.

Рецепт:
По возможности ищите организации, где не пытаются совмещать роли программиста и грузчика. На крайний случай, учитесь всему чему сможете и подыскивайте новое место работы.

2. У нас свой фреймворк, с блэкджеком…
Симптомы:
Крупная компания, вплоть до кровавого Enterprise. На собеседовании вам долго рассказывают о своем замечательном ядре, сколько у них своих изобретений. Быстро можно понять, что в компании вообще все свое: ORM, коллекции, фреймворк, интеграция, платформа, все, естественно, закрытое и проприетарное.

В чем грабли:
Первое время вы с интересом играетесь с чужим кодом, дописывайте его и разбираетесь в чужих идеях. Проходит год, два, пять… Вы решаете сменить работу, приходите на собеседование и на все вопросы «а знаете ли вы открытый фреймворк А или библиотеку Б?» отвечаете «нет, у нас все было свое», в конце концов, помрачневший интервьюер начинает задавать Вам элементарные вопросы о коллекциях, но вы понимаете, что даже коллекции у Вас были свои…

Плюсы:
Вы изучите богатый опыт велосипедостроения для самых разных задач, иногда это может быть полезным.

Рецепт:
Участвуйте в open-source проектах, используя популярные и актуальные технологии и фреймворки. Всегда старайтесь обновлять знания современных технологии и фреймворков вашего языка.

3. Медные трубы и звездная болезнь
Симптомы:
Прошло пару месяцев на работе и Вас за героические заслуги в кодинге перевели из Junior в Middle, ещё пару месяцев уже называют Senior, потом ведущим программистом и т. д.

В чем грабли:
Оглянитесь. Это правда Вы такой гений или руководство вашей компании, по старинной русской традиции, заменяет нормальную зарплату орденами и званиями? Проблема в том, что Senior’ом не стать за год, так как одно из важнейших его качеств это профессиональная интуиция, умение находить золотую середину между паттернами и простотой, между комментированием всего подряд или наоборот полного отказа от комментариев, по заветам чистого кода. Это равносильно тому чтобы стать великолепным хирургом за год после института.
С одной стороны, в этом нет большой проблемы, но человек обычно редко включает здравый смысл и реально начинает верить, что он все знает и умеет. Сильно обижается минусам на code review и сильно удивляется, если его другие фирмы не хотят брать Senior’ом.

Плюсы:
Уверенность в своих силах — это замечательно, особенно когда она будет обоснованной.

Рецепт:
Самокритика, самокритика и ещё раз самокритика…

4. Болото
Симптомы:
Государственная или около-государственная компания, либо компания, у которой основная деятельность никак не связана с IT. Технических собеседований про приеме на работу нет или их проводит явно слабый специалист (или старичок, который пытается спрашивать о языках программирования, сгинувших вместе с перфокартами).

В чем грабли:
В таких компаниях людей, у которых можно учиться, нет, а начальство, зачастую, не понимает, что и как делать. Производственный процесс построен по принципу: «спросите там у бухгалтеров, им нужно какую-то программку сделать». Методологии разработки? Нет, не слышали.

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

Минусы:
Учиться чему-либо в такой компании очень сложно, просто потому что не у кого.

Рецепт:
Вообще, сменить работу, но, если невозможно, то учиться самому где угодно и чему угодно.

5. Фриланс
Симптомы:
Вы —Junior разработчик, собирающийся постоянно работать только во фрилансе.

В чем грабли:
Фриланс может быть полезен, если вы уже набрали опыта и состоялись как специалист. Когда же Junior разработчик начинает с фриланса, то начинается фриланс головного мозга: примеров старших разработчиков у него нет, а короткие заказы/проекты формируют модель разработки «тут накостылять, тут заплатку сделать, деньги получить и забыть навсегда».

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

Минусы:
Молодому разработчику очень легко привыкнуть к тяп-ляп и в продакт, от чего потом сложно будет отучиться. Да и реальные работодатели к опыту во фрилансе относятся очень скептически, особенно если опыт только во фрилансе. Тут вообще будут сомнения насколько человек способен работать в коллективе в принципе.

Рецепт:
Не уходить полностью во фриланс в начале карьеры или постоянно изучать материалы по написанию правильного кода.

6. Горизонтальный и диагональный рост
Симптомы:
К Вам приходит Ваш начальник и говорит: «а давай ты станешь бизнес аналитиком/project manager’ом/дизайнером/техническим писателем и т.д.» «Ура!» — кричите Вы в душе, ведь Вас учили, что повышение — это всегда хорошо.

В чем грабли:
Если перевести речь начальника в Google Translatorс дипломатического на русский, то она звучит так: «а давай ты перестанешь быть программистом, выкинешь все годы опыта и начнешь учиться с нуля новой профессии»? Если Вам кажется, что программированию разучиться невозможно и Вы сможете совмещать функции менеджера и программиста, Вы ошибаетесь. Через полгода-год без программирования Ваш уровень упадет очень сильно. Если Вам кажется, что менеджеру ничего уметь не нужно, только руководи — Вы заблуждаетесь. В целом, менеджер — это совсем отдельная профессия, почти не связанная собственно с программированием, можно быть отличным менеджером проекта и вообще не уметь программировать. Даже совмещать работу программиста и Team Lead’а без потери для одной из специализаций уже сложно, для менеджера проекта совмещать свою работу и программирование — вообще вредно.

Плюсы:
Если новая профессия — это то, о чем Вы мечтали всю жизнь — вперед! Если Вам надоела старая роль и Вы потеряли мотивацию — вперед!

Минусы:
Вы можете потерять опыт прошлой профессии и не суметь быстро научиться навыкам новой профессии. Собственно, как только Вы станете менеджером, то перестанете быть программистом. И не факт, что сумеете стать реально хорошим руководителем.

Рецепт:
Или не уходить в менеджеры или, если Вам предложили то, от чего вы не можете отказаться, заниматься open source/своими личными коммерческими проектами для поддержания навыков программирования.

7. Потеря мотивации к развитию
Симптомы:
Вы работаете от звонка до звонка и считаете, что все уже знаете и учиться уже нечему. Вас вполне все устраивает на текущей работе.

В чем грабли:
Программист как велосипед: как только он останавливает — падает. Перестав развиваться, программист неизбежно начинает деградировать, превращаясь в робота для написания кода. Проблема обычно в том, что сам он этого, как правило, не замечает. Тут критерий простой: если за год Вы не изучили ни одной новой технологии/библиотеки/языка/фреймворка, то у вас с саморазвитием что-то не то.

Плюсы:
Вы в зоне комфорта, деньги есть, стабильная работа есть, у Вас все хорошо.

Минусы:
Вы попали в машину времени и оказались в эпохе застоя Брежнева.

Рецепт:
Определитесь, действительно ли это то, что вам нужно. Если нет — меняйтесь: меняйте работу, открывайте свое дело, запускайте open source проекты и т. д.

Мы рассмотрели основные популярные, на наш взгляд, грабли, однако, их может встретиться на Вашем пути великое множество. Самое главное — нужно знать, чего Вы хотите добиться в своем карьерном росте и пойти работать именно в ту компанию, с которой Вы будете «на одной волне».

В качестве последнего рецепта мы рекомендуем написать нам. Мы поможем Вам сориентироваться с выбором компании для Вашего роста. У нас есть очень крутые проекты, где могли бы прокачаться специалисты уровня Junior и Middle. Возможно, сейчас как раз тот самый момент, когда пора убрать со своего пути грабельки и начать двигаться туда, куда нужно 🙂

Даем картину рынка труда. Организовываем ивенты. Угощаем кофе.