Типичные грабли на пути программиста от Junior’а к Senior’у

от автора

Молодому программисту, едва закончивший или ещё даже не закончивший ВУЗ, готов свернуть горы, учиться, учиться и ещё раз учиться и ему близлежащее будущее кажется таким:

Но более опытные товарищи знают, что на самом деле на его пути давно уже заботливо разложены грабли и путь от Junior’а к Senior’у выглядит как-то так:

Давайте вспомним некоторые типичные грабли, на которые мы все (ну или большинство) наступали сами того не замечая.

1. Человек-оркестор

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

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

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

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

2. У нас в Греции все есть

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

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

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

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

3. Медные трубы и звездная болезнь


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

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

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

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

4. Болото


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

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

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

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

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

5. Фриланс

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

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

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

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

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

6. Горизонтальный и диагональный рост

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

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

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

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

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

7. Потеря мотивации к развитию


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

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

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

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

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

N. …

А тут каждый может вписать в коментариях свою любимую граблю. И да! Всех с ПЯТНИЦЕЙ!

Сегодня пятница?

Никто ещё не голосовал. Воздержавшихся нет.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

ссылка на оригинал статьи http://habrahabr.ru/post/271297/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *