![](https://habrastorage.org/getpro/habr/upload_files/b27/42b/3f8/b2742b3f8521735330356072e1690973.png)
Хабр место демотивирующее и угнетающее, если ты начинающий разработчик - бесконечное число статей с непонятными названиями и аббревиатурами, истории про найм в “компанию с большой ЗП” и эмиграцию. Хотя хабр позиционируется, вероятно, как сообщество профессионалов, есть гипотеза, что он один из первых ресурсов, на который подписывается человек, который решил, что хочет “войти в айти”. Моя история будет интересна в первую очередь им. Эта история не про “кровь и пот”, и не про курсы “Стань программистом за N дней”, а про честность.
На момент начала истории дано:
Мужчина, 25 лет. Прописка в Подмосковье. Диплом с профессией “бакалавр менеджмента”. Место работы: международное рекламное агентство. Суммарный рабочий стаж 3 года. Бэкграунд в айти: двухнедельный курс по HTML и CSS и стандартный калькулятор на Delphi в 8 классе.
Этап 1 - Сказать правду
Прошло полгода с тех пор, как я пришел в новое рекламное агентство. Я продолжал считать свою работу вредной для людей, а сам феномен рекламы - раковой опухолью в сфере экономики. Короче говоря, работу я свою очень не любил. Мысль, что нельзя продолжать себя насиловать и нужно что-то делать уже закрепилась в мозгу.
На встрече 1 на 1 тим-лидом я озвучил мысль: “Реклама бесит. Кем хочу быть - не знаю. Я буду открывать свое резюме и искать работу. Только не в рекламе”. Слово за слово, лид предложил, что, быть может, я хочу попытать силы в программировании. Предложение вызвало скепсис. У меня было убеждение, что я туповат для программирования, что для смены профессии понадобится много времени, а реклама бесит меня здесь и сейчас. Лид сказал, что в рамках нашего агентства может предложить меня рассмотреть в команду, которая делает различные инструменты для внутренних нужд, если мне это будет интересно. Я взял сутки на подумать.
У меня не было идей, кем я хочу быть. Поэтому я анализировал идею, подкинутую извне: “Почему он вообще мне это предложил?”. Была гипотеза, что я был (внутри команды) достаточно шустрый в Excel. Не с VBA, но я делал, удобные расчетные таблицы, сводил данные из разных источников и т.п. Также, моя девушка, комментируя предложение моего руководителя, предположила, что с моим складом ума программирование - это хорошее направление.
На следующий день я сообщил руководителю, что готов попробовать. (СПОЙЛЕР: в этой компании программистом я не стал и через полгода покинул компанию)
Этап 2 - Учиться
Мне назначили встречу с лидом команды, куда была возможность меня рассмотреть в качестве разработчика. После нее я получил список из 15-20 задач, которые я должен научиться делать. Часть из них (Frontend) сводилась к приобретению базовых знаний о том, как устроена веб-страница, как отправлять данные формы и взаимодействовать с элементами страницы. Другая часть - про Backend, сводилась к тому, чтобы научиться работать с API сторонних публичных сервисов с помощью Python. Чтобы осилить вторую часть, я взялся за курс по Python для начинающих. На обучение и решение задач из списка у меня ушло 3 месяца, в течение которых я периодически отчитывался о прогрессе лиду из команды разработки.
Все шло хорошо. Тим-лид из разработки был доволен моими успехами. Мой руководитель был готов отпустить в другую команду, а начальник подразделения ничего против этой инициативы не имел. Однако, неловко получилось с бюрократией.
После месяца подвешенного статуса, который поддерживался словами о том, что процесс моего перевода идет, я начал подозревать, что процесс вовсе не идет. Начав докапываться о статусе дел, оказалось, что каждый из трех руководителей, был уверен, что мой перевод согласует кто-то другой, но не он. Когда это всплыло, процесс взял под контроль начальник подразделения и оказалось, что добро и бюджет на новую позицию в штате команды разработки не дадут, и уже до конца года ситуация не изменится. Дело было в январе. Было по-человечески обидно, и вместе с этим стало ясно, что в течение месяца я покину компанию.
Этап 3 - Снова в рекламу...но в айти?
Желание уволиться совпало с очень неблагоприятными обстоятельствами, из-за которых мне необходимо было срочно переехать из подмосковья в Санкт-Петербург. Поскольку сбережений было не очень много, а за аренду платить надо - у меня не было возможности до посинения искать работу разработчиком, не имея никакого портфолио. Поэтому параллельно я вынужден был искать также вакансии в рекламе, в той сфере, где есть опыт.
Спустя 1,5 месяца поисков (за которые, я зачем-то прошел вводный курс по C++), меня взяли специалистом по интернет-рекламе в одну хорошую IT-компанию. Не знаю, как мне удалось на интервью скрыть свою неприязнь к рекламе (вероятно необходимость платить аренду помогла), но спустя время мой новый руководитель скажет, чтобы при выборе между мной и другим кандидатом, он выбрал меня, потому что у меня были хоть какие-то навыки работы с Python, которые я готов был развивать.
Этап 4 - Снова сказать правду
Новый работодатель был объективно хороший. Даже моя зарплата, вопреки стереотипу, была больше, чем в Москве. Но внутри меня генерировалась желчь из-за рекламы, которую, я так не люблю. Я подумал: “Я был честен в прошлый раз, и у меня почти получилось перейти в программисты, если бы не бюрократия. Буду честен и здесь”.
По окончанию испытательного срока, я сообщил руководителю, что моя цель уйти из рекламы, а на интервью я был хорош потому, что деньги на жизнь нужны. Я пообещал смиренно отработать год, чтобы на меня можно положиться, но после я буду искать работу разработчиком. Честность не подвела, и руководитель принял мою позицию адекватно, и уволить меня никто не пытался.
Этап 5 - Наработать опыт
В течение обещанного года, я действительно не рыпался, как бы иногда не было сильно желание. В свободное от работы времени, я практиковался, изучал материалы по Python, сделал небольшое приложение на Flask(и переделал его трижды).
На момент моего прихода в компании интернет-реклама была не налажена. Одним из признаков этого являлась стандартная проблема, что невозможно быстро оценивать эффективность рекламы в контексте привлеченных с нее клиентов. Для отчетности требовалось сводить много(а значит и долго) данных руками.
В рамках своего видения руководитель передо мной поставил задачу стягивать данные с рекламных площадок, выстроить сквозную аналитику и визуализировать в каком-нибудь дэшборде. Не знаю, по каким причинам нельзя было воспользоваться готовыми решениями, но я не противился - это была возможность практиковаться в Python. При этом хочу отметить, данная задача не была приоритетной и мне на нее отводилось ~10% рабочего времени.
В рамках своей должности специалиста по интернет-рекламе, опыт получился неплохой: работа с API разных площадок и работа с БД(до этого я БД не работал вовсе). Правда, качество этого опыта было сомнительным - git я не пользовался. Миграции? Модели? - что это? Индексирование таблицы? - Это когда есть столбец id serial primary key?
Когда обозначенный год начал подходить к концу я напомнил о своих планах и отдел HR пообещал мне сообщить об открытии младших позиций после нового года, на которые меня смогут прособеседовать. После нового года мне сказали, что позиций нет.
Этап 6 - Снова учиться
В некотором роде ситуация повторилась. Повторились и мои действия: я озвучил руководителю, что в сложившихся обстоятельствах, как и говорил, я начинаю искать работу.
Весть об этом дошла до директора по маркетингу, и, чуть позже, со мной связались HR и позже назначили встречу с руководителем одного из подразделений разработки. Вероятно, эти события связаны, но доказательств у меня нет.
На встрече неформально поговорили. Я рассказал, о том что вот 2 простеньких приложения на фласке сделал за это время, работал с апи 4 площадок для стягивания данных и сделал автоматическое их сведение. По итогу встречи решили, что меня отправят на курсы, затем проведут интервью в отдел, где намечается открытие позиции младшего разработчика с последующим выполнением тестовых заданий из актуального бэклога.
Я подумал, что раз работодатель готов спонсировать курс (стоимостью две моих ЗП), то риск, что мне в третий раз откажут с переводом, минимален. Не испугал меня и ученический договор, по которому, если я уволюсь раньше срока, то средства нужно вернуть. Моих сбережений хватало на возмещение стоимости курса.
Меня направили на 5-ти месячный курс по Python. Откровенно скажу, курс был не очень полезен. Большие независимые друг от друга темы, каждую из которых пытались уместить 4 вебинара. Все, что осело в моей голове, могло осесть и при просмотре видео на YouTube на соответствующую тему, и это было бы экономически целесообразнее.
Этап 7 - Принять результат трудов
После курса, ближе к концу года, на меня назначили задачи из бэклога команды, в которую планировался мой перевод. В свободное от работы время и под менторством будущего руководителя я эти задачи делал.
С поставленными задачами я справился неплохо. Задачи были не сложные - большая часть времени ушла на чтение документации и рабочую рутину (всё-таки как рекламщику, у меня не было нужды грепать, ходить на хосты, пушить в гит и вот это всё). В феврале, после всех согласований и бюрократии меня перевели на позицию стажера-разработчика. Через полгода меня повысили до младшего разработчика и перевели в другую команду.
Такова моя история.
Выводы
Смотря на весь пройденный путь, я бы выделил следующие моменты, которые обеспечили happy end:
Руководители. Два раза подряд мне удалось найти адекватных работодателей и понимающих руководителей. Отчасти, я это связываю с моим стремлением попадать в “белые” коммерческие организации.
Искренность. Я всегда старался быть честным со своими руководителями. Благодаря этому, я получил помощь в ответ. Думаю, если бы я втихую строил планы и искал работу программистом - путь мой был бы более болезненный.
Сила воли. В душе я не программист. Программирование для меня работа. Поэтому обучение программированию для меня было не хобби в свободное время, а умственный труд, к которому себя нужно было принуждать. Без воли вряд ли бы я набрался хоть каких-то навыков.
Условия на старте. В момент, когда я решил сменить род деятельности, я уже, косвенно работал в айти (для гуманитариев это “Диджитал”): интернет-реклама.