Меня зовут Алексей Дарвин, я в течение многих лет руководил командами разработки в крупных телекоммуникационных компаниях, а последние 2 года отвечаю за работу продуктовых команд в X5 Retail Group. За это время мне удалось собрать в отделе около 70 программистов (40 инхаус, 30 — внешние разработчики).
Среди кандидатов, приходивших к нам на собеседования, мне встретилось несколько человек, которые не так давно перешли в программирование из других профессий. В их числе были Юрий и Семён, которые в итоге благополучно вошли в нашу команду. Я попросил их рассказать, как они решились на смену профессии, как искали работу и что помогает им расти в компании сегодня.
Как понять, что пришла пора перемен
Решиться на смену профессии непросто: многие опасаются конкуренции с более молодыми специалистами и не хотят терять в зарплате, которая на первых порах гарантированно «просядет», другие не уверены, что смогут найти работу. К тому же по своей природе человек склонен минимизировать затраты энергии: чем дольше он занимается одним делом и живёт по устоявшемуся распорядку, тем сложнее ему взяться за что-то новое. Как понять, что жизнь в зоне комфорта затянулась и пора переходить к серьёзным действиям по смене профессии?
Юрий Великий, бэкенд-разработчик в X5 Retail Group:
«Я работал инженером-программистом на госпредприятии, но от программирования там было одно название, задачи не отличались разнообразием, и меня не покидало ощущение болота. Я всегда знал, как пройдёт мой день, более того — как пройдут последующие три месяца. С одной стороны, там было очень спокойно и удобно, а с другой — мою жизнь постоянно отравляла мысль, что я не развиваюсь. Я боялся однажды проснуться и обнаружить, что мне уже много лет, а я сижу в том же кабинете и ничему новому за эти годы не научился. Теперь я думаю, что даже 2 месяца в зоне комфорта — уже повод задуматься, не уходит ли время зря».
Юрий Великий
Семён Осипов, Data Engineer в X5 Retail Group:
«Моя прежняя специальность вообще не имела никакой связи с программированием. Я 6 лет проработал инженером по охране труда, и моя основная задача заключалась в том, чтобы контролировать соблюдение мер безопасности. Работу нельзя было назвать скучной, но она была однообразной и очень нервной: я бесконечно говорил об одних и тех же правилах, а люди без конца их нарушали, из-за чего иногда случались серьёзные ЧП. Однажды сотрудник начал откручивать болт от ёмкости, забыв измерить в ней давление, в итоге ему практически оторвало палец. Но хуже всего было то, что за не очень большое время я всё узнал по этой специальности, а ничего нового там не происходило.
В школе я занимался программированием, но потом эти занятия стали совсем редкими, и чем старше я становился, тем меньше было веры, что удастся к этому вернуться. Тут был ещё такой забавный момент: когда я выбирал, куда пойти учиться после школы, моя мама, руководившая разработкой систем для военной промышленности, отговорила меня идти в программирование. Она сказала, что если к 30 годам не стать руководителем, дальше в этой сфере не удержишься — заменят более молодыми сотрудниками. Этот страх надолго засел у меня в голове, и к тому, чтобы «войти в айти», я созрел только к 28 годам».
Семён Осипов
Я добавлю к этому лишь то, что для успешного перехода в программирование необходим неподдельный интерес к этому занятию. Если вам просто надоела ваша текущая работа и вы готовы сменить её на что угодно, то это ложная мотивация. Она вряд ли поможет вам освоить новую сложную профессию.
Какой язык выбрать и как долго его изучать
Юрий:
«К выбору языка следует подойти серьёзно — от этого многое зависит, в том числе успех в поиске работы. Начинать лучше с языков, которые относительно просты в освоении, способствуют пониманию базовых принципов программирования и востребованы на рынке. Я посмотрел, каких разработчиков чаще всего ищут работодатели на HeadHunter, и в итоге начал учить сразу два языка, Java и C++. Параллельно прошёл курсы по Data Science, где получил представление о Python.
С начала учёбы до момента, как я почувствовал в себе силы пойти на первое собеседование, прошло полгода. Это относительно быстро, но нужно понимать, что у меня была минимальная нагрузка на работе, и на учёбу было много сил».
Семён:
«Повезло! У меня сил на учёбу оставалось маловато — я совмещал её сразу с двумя работами, потому что к должности специалиста по охране труда добавились обязанности саппорт-инженера. Я часто помогал коллегам решать проблемы с компьютерами, в результате попросился на эту должность официально.
Программированию я учился на курсах. Увидел в Фейсбуке предложение от сообщества Moscow Python поработать у них администратором за бесплатный курс и отозвался. За 10 недель обучения я выполнил свой первый проект по анализу данных — обработал расходы большой компании на мобильную связь и нашёл способ сократить их на пару тысяч долларов ежемесячно. От начала учёбы до первого собеседования у меня ушло 6 месяцев».
Как искать работу и выбирать работодателя
На этом этапе понадобится много терпения — собеседования могут занять не один месяц.
Семён:
«Поначалу мои отклики на портале поиска работы даже не просматривали. Я начал переписывать своё резюме в попытках нащупать правильную подачу, и примерно на двадцатой итерации мне наконец стали поступать редкие приглашения на собеседования. Первое время меня «отшивали» после разговора с HR-специалистами, но постепенно я дошёл и до технических.
Эйчары часто спрашивали, почему я пошёл в IT в таком возрасте, накануне тридцатилетия. Отвечал им честно: хочу стать программистом, уже работаю IT-инженером и мне нравится. Мне отказывали, говоря, что ищут сеньоров. Я быстро понял, что джуны никому в индустрии особо не нужны, но решил не сдаваться.
В какой-то момент опытные люди дали мне совет не заморачиваться с редактированием резюме, а действовать через личные контакты. Я нашёл в сети несколько людей из интересных мне IT-компаний и написал им честную историю о себе: где учился, почему хочу работать программистом. Это помогло попасть на несколько важных собеседований».
Если иметь достаточно упорства, рано или поздно череда отказов закончится, и вам предложат работу. В этот момент нельзя спешить: сначала нужно выяснять, есть ли на этой работе возможность обучения и какие задачи предстоит решать. Для начинающего разработчика это очень важно.
Юрий:
«Работодателя я оценивал по нескольким критериям. Во-первых, смотрел на технологии: если в компании использовалась Java старше восьмой версии, я понимал, что там скорее всего legacy, а мне не очень хотелось этим заниматься.
Во-вторых, я спрашивал о возможностях вертикального роста и о том, что для этого необходимо: что нужно изучить, каких показателей достичь, какие контрольные мероприятия пройти и так далее. Если получал туманные ответы без конкретики, сразу ставил минус.
Ещё сильно настораживали неадекватные задания на собеседованиях. Как-то раз мне дали здоровенную кипу листов А4 с кусками кода и поставили задачу за 4 часа разобраться, что выведет этот код. Я решил не тратить на это своё время и просто ушёл».
Семён:
«В самом начале поисков я здорово обжёгся: так хотел скорее начать работать в IT, что согласился на предложение, не разобравшись, куда меня приглашают. В итоге попал на позицию аналитика в один стартап, где не было ни выстроенных процессов, ни обучения, ни осмысленных задач, и даже компьютер в свой первый рабочий день я собирал себе сам.
После полутора месяцев я твёрдо решил искать команду, которая занимается прокачкой своих специалистов. X5 оказалась одной из немногих компаний с внятной системой обучения. Собеседование тоже было необычным: со мной говорил технический специалист, и только после этого я получил тестовое задание. Позже я узнал, что собеседование прошёл слабенько, тестовое мне дали в виде второго шанса. Оно и помогло мне попасть в команду».
Работодателю в первую очередь важно оценить такие вещи, как тип мышления, опыт решения задач, мотивацию и характер разработчика, а это возможно только в ходе личной встречи. Тестовое задание можно дать, если на собеседовании чувствовалось, что человек слишком волнуется. А чтобы понять, задержится ли человек в компании, никаких специальных методик не нужно, — лучшим показателем будет его желание учиться и расти в профессии.
Как не сойти с дистанции после трудоустройства
Первые месяцы на работе по новой специальности — настоящее испытание. Что делать, чтобы справиться с этим вызовом?
Семён:
«Не бояться сложных задач. Моё первое задание в X5 вообще не было связано с языком, который я учил: нужно было за неделю собрать витрину данных на неизвестном мне фреймворке. Я честно сообщил менеджеру, что не знаю, как это сделать, но разберусь. Ну, и надо понимать, что здесь уже не песочница, пообещал — должен сделать. Если не получается и книги с форумами не помогают, нужно без промедления идти к коллегам и просить помощи. Главное не молчать».
Юрий:
«У меня шло по той же схеме: первая задача на неизвестном фреймворке — паника — упорная работа — результат. Легко точно не будет, но можно упростить себе задачу, научившись признавать, что чего-то не знаешь, и не бояться просить помощи коллег».
Хорошая новость заключается в том, что период паники рано или поздно закончится. Что поможет его сократить?
Семён:
«Ваше личное упорство и контакт с коллективом. Мне повезло с коллегами, они сами предлагают помощь, поэтому у нас никто не боится подойти к более опытным ребятам. Мы быстро сдружились, часто общаемся и обсуждаем наши задачи. Я думаю, так сложилось потому, что в команду приглашают только тех, кто по-настоящему увлекается программированием.
Помимо этого в компании есть и системный подход к обмену опытом. Каждые две недели мы собираемся на небольшие митапы, где в формате мини-докладов рассказываем, как решали те или иные задачи. Раз в месяц проходит большая встреча всего отдела. Не всем хватает смелости там выступать, но за более опытными постепенно подтягиваются и остальные. То же самое происходит и в работе: продуктовые команды сбалансированы по количеству начинающих и сильных разработчиков, поэтому всегда есть, у кого учиться».
В нашем отделе порядка 10 продуктовых команд по 5-7 человек, из которых 1-2 обладают большим опытом разработки (от 4 лет работы с конкретной технологией и больше). При этом команды различаются по уровню: есть команды для самых простых задач, где разработчики интенсивно учатся в процессе работы.
Юрий:
«Людей в команды подбирают таким образом, чтобы они дополняли друг друга, и это круто, потому что способности у всех разные. Мы с Семёном работаем в одной команде, но если я как инженер обладаю более глубоким техническим бэкграундом, то у Семёна здорово прокачаны навыки коммуникации и быстрого принятия решений в сложных ситуациях — не зря он 6 лет убеждал людей надеть каску и оперативно разбирался с теми, кто продырявил себе руку. А ещё в команде есть тимлид, у которого большой опыт в разработке, но лидерская функция для него пока новая, и он тоже учится вместе с нами».
От себя хочу добавить, что построение процессов обучения позитивно влияет и на разработчиков, и на саму компанию, которая получает возможность расти. За прошедший год дирекция больших данных X5 Retail Group выросла с 150 до 270 человек, а наш отдел разработки продуктов для Big Data – до 70 человек. Чтобы так быстро увеличивать штат, мы используем все доступные каналы привлечения разработчиков: размещаем вакансии на популярных порталах поиска работы и в соцсетях, сотрудничаем с сообществами разработчиков — например, в конце ноября провели совместный митап с сообществом MoscowPython в одном из московских офисов X5. Нам близки идеи таких объединений, и свою команду мы также стремимся развивать как некое внутреннее сообщество разработчиков: устраиваем внутренние митапы, подбираем продуктовые команды по принципу взаимообучения.
Помимо прочего, возможность учиться и работать с опытными коллегами помогает быстро восстановиться в зарплате, если она снизилась после перехода:
Семён:
«Сразу после перехода в программирование моя зарплата упала на 40%, но спустя год работы она не только достигла прежнего уровня, но и превысила его на 15%».
Юрий:
«Я при переходе в программирование «апнулся» по заработку на 50-55% — но это потому, что на предыдущей работе получал не так много, инженеры в той сфере имеют не очень высокую зарплату».
Подведём итог.
Переход из другой профессии в программирование — это риск. Вы можете ошибиться с выбором технологии, потерять время в компании без возможностей развития, не достичь прежней планки по зарплате и в итоге утратить мотивацию. Чтобы этого не произошло, нужно взвешенно подходить к выбору языка и места работы.
С точки зрения работодателя нанимать людей, недавно перешедших в разработку из других профессий, тоже рискованно. Им есть куда отступать — если на новой работе станет слишком жарко, они могут вернуться к прежней специальности. Тем не менее, именно среди таких людей встречаются наиболее мотивированные и потому перспективные специалисты. Если дать им возможность учиться, они быстро догонят профессионалов и надолго останутся в команде.
Комментарии (19)
faoriu
16.12.2019 12:14+1Какая-то корпоративная шизофрения: отделы PR клепают статьи о том, как хорошо бы переходить в IT, отделы HR заворачивают людей, переходящих в IT и говорят, что им «джуны за 30 не нужны».
Sevensenn
16.12.2019 13:27А вам действительно кто-то из эйчаров ответил «Вы нам не подходите по возрасту»?
kossmit
16.12.2019 19:22Вопрос был адресован не мне, но ему товарищу так прямо и сказали, что староват для их молодой команды. Ему тогда 26 было.
faoriu
18.12.2019 10:52Из статьи: "Эйчары часто спрашивали, почему я пошёл в IT в таком возрасте, накануне тридцатилетия".
Это вообще в каком таком конченом идиотском мире считается, что накануне 30-ти летия человек уже слишком стар, чтобы менять профессию, #$%? Во многих развитых странах к 27-29 годам люди только универ заканчивают.
Sevensenn
18.12.2019 14:31Возможно, в чьей-то картине мира это может показаться эйджизмом.
На момент, когда меня так спрашивали, исходил из того, что эйчар хотел узнать мою мотивацию.
mr_Darwin Автор
18.12.2019 16:22В нашей стране, обычный человек заканчивает учится в 21-22 и при наличии достаточного количества энергии, к 30 уже имеет опыт работы в какой то конкретной области и является специалистом в этой области.
Исходя из этого, вопрос о том готов ли человек поменять уже сложившийся опыт на что то новое вполне логичен, не правда ли?
A114n
16.12.2019 14:14О, помню, помню, ходил как-то в X5 несколько лет назад.
НЕ ПЕРЕЗВОНИЛИdss_kalika
16.12.2019 17:56Перезвонили. Но… офис у них далекова то. =)
Sevensenn
16.12.2019 19:26Для офиса в Калитниках есть теперь МЦД =)
A114n
16.12.2019 20:41А офис в Румянцево как был в чистом поле, так и остался :-D
Sevensenn
16.12.2019 22:35Приходите в Дирекция Больших Данных, мы сидим на Добрынинской)
A114n
18.12.2019 14:34А хотя бы 300к дадут?
Sevensenn
18.12.2019 18:47Если докажет, что стоите этого — почему нет. Предлагаю вам зайти в ODS, и в канале #jobs посмотреть вакансии от нас, вилки там есть.
A114n
19.12.2019 11:41Да я там попытался зарегиться, а меня не аппрувят.
Всё как обычно, делят зарплату между своими, а с улицы не зайти.SimonOsipov
19.12.2019 12:25Сообщество состоит сейчас из 40+ тысяч (!) человек. Сомневаюсь, что поподает под «Зарплату делят между своими, а с улицы не зайти».
Возможно, был сбой в отправке емейлов или у вас оно попало в спам. Но никаких предварительных одобрений не нужно, чтобы попасть в него. Вы же просто оставляете свой емейл.
vadimpl
19.12.2019 17:18Два мира — два Шапиро.
Тут — такая классная статья, так всё круто, какие-то Биг даты и пр., пр., пр.
Там, в реальном мире… крендец. Буквально позавчера-вчера. Заходишь в приложение Карусели, подтверждаешь персональные скидки, топаешь в магазин, открываешь приложение (ну, я ж не помню, сколько % на что конкретно)… а оно не открывается. Ещё минут 10-20 потери времени и, наконец-то, выдаёт — «технические работы» (и без даты окончания)!
WTF! А что, вашей Биг даты не хватает для того, чтобы элементарно заранее выдать предупреждение пользователям? И хотя бы примерно обозначить время работ?
Алексей, у вас есть основание запросить у бизнеса квоту ещё на… дцать разработчиков для этой фичи; вперёд.
xfaetas
Рвёшь, такой, задницу, чтобы попасть на собеседование и наконец перейти в нескучный и интересный IT из скучной и неинтересной профессии — а оказывается, что в нескучном IT всё такая же скучная рутина, только вместо правил, инструкций и договоров — простыни непонятно как и кем написанного кода, который надо было поправить ещё вчера.
mr_Darwin Автор
Рутина есть везде. Вопрос в том, что какая-то профессия человеку нравится, а какая-то нет. И если всегда хотелось программировать, но по какой-то причине не сложилось, никогда не поздно попробовать. Я не утверждаю, что переход в программирование — это весёлый и радостный процесс, напротив, там сначала куча труда, а потом период паники на первой работе по новой специальности.
Но те, кто через это прошёл, подтверждают — всё не зря.