Обложка: Как разработчику выбрать первое место работы

Как разработчику выбрать первое место работы

Дмитрий Красичков

Дмитрий Красичков

предприниматель, программист, основатель IT-компании

Важность первого места работы

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

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

Совершив ошибку на старте, со временем вы рискуете оказаться совсем не там, где мечтали, а изменить что-то будет значительно труднее.

Когда искать работу?

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

Советы по выбору первого места работы

  1. Определитесь со своими целями и приоритетами. Этот пункт самый важный из всех. Во время обучения в университете самостоятельно попробуйте различные технологии и области, посмотрите, что для вас наиболее интересно. Подумайте, как вы видите свое будущее и в каком направлении планируете развиваться. Из программиста вы можете вырасти, например, в системного архитектора или, наоборот, в менеджерскую позицию. Выберите то, что по душе именно вам, не обманывайте самого себя и не гонитесь за навязанными обществом стереотипами.
  2. Не делайте фриланс основным местом работы. Это может показаться очень заманчивым за счет большой свободы и неплохого для стартовой позиции заработка. Но важно помнить, что вам, как начинающему специалисту нужно набираться опыта, который приобретается только в сложных проектах, разрабатываемых профессиональными командами.
  3. Тренируйтесь проходить собеседования. Особенно, если вы хотите попасть в какую-то конкретную компанию. Прохождение собеседований – это отдельный приобретаемый навык, напрямую не всегда связанный с реальным уровнем кандидата. Первое время просто ходите на собеседования, не думая о результате. Эти попытки вряд ли будут успешны, но это и не важно. Вы получите необходимый опыт, перестанете нервничать и разберетесь с типовыми техническими вопросами. В качестве дополнительного материала для подготовки рекомендую прочитать книгу G.L. McDowell «Cracking the Coding Interview».
  4. Не гонитесь за деньгами, выбирайте место, где большему научитесь. В начале карьеры полученные знания гораздо важнее сиюминутной выгоды. У вас еще будет возможность хорошо заработать в будущем, и эти заработки будут тем больше, чем большими знаниями вы будете обладать. Компания переплачивает начинающим специалистам не от хорошей жизни, обычно это говорит о том, что есть какие-то проблемы с наймом опытных разработчиков. Это определенно не то место, где вам стоит начинать карьеру.
  5. Известный бренд не всегда автоматически лучший выбор, хоть и будет красиво смотреться в резюме. В крупных компаниях много проектов разной степени актуальности и качества. Уровень квалификации команд также сильно разнится. В процессе собеседования у вас обязательно будет возможность задать вопросы потенциальному работодателю. Поинтересуйтесь, чем вам предстоит заниматься, на каком проекте и какой технологический стек при этом вы будете использовать. После внимательного рассмотрения небольшая компания вполне может оказаться предпочтительнее известного технологического гиганта.
  6. Не спешите соглашаться на любой оффер. Как уже писал выше, первая работа определяет очень многое в вашей дальнейшей жизни. Если у вас не было возможности все взвесить, попросите время подумать перед окончательным ответом. В большинстве случаев потенциальный работодатель отнесется к этому с пониманием.
  7. Спросите совета у более опытных программистов, если в чем-то сомневаетесь. Наверное, не самый простой пункт в практической реализации, т.к. не всегда легко обзавестись необходимыми знакомствами в юном возрасте. Тем не менее, вы можете попросить помощи у преподавателей-практиков в вашем вузе или задать вопрос на профильном форуме в Интернете. Это в любом случае даст дополнительную информацию для размышления.

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