Блог

«Сейчас или никогда!» Бросил хорошую работу ради Python

А стоило ли? Чему научили ошибки и успешные собеседования по новой специальности.
5 минут23684

Говорим с выпускником GeekUniversity Артемом Сухаренко, который сменил профессию в 36 лет.

— Артем, как долго ты в IT? Какие впечатления остались от работы инженером ЦОД? И когда ты решил перейти в разработку?

— В IT я уже девять лет. Заниматься разработкой хотел c далекой юности, но в силу обстоятельств, в том числе и личных сомнений, не решался. Уже в 15 лет я пробовал программировать по мелочам и даже делал графический редактор на QBasic. Периодически возвращался к кодингу, «щупал» разные ЯП, но без карьерных планов. 

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

Позже к препятствиям добавились бытовые проблемы: ипотека, например. Начинать с нуля, когда висит кредит по ипотеке, было страшновато. Да и личные опасения не последнюю роль играли: одно дело крутить провода за деньги, почти не используя мозг, совсем другое — постоянно учиться новому и аккуратно внедрять это, чтобы не поломать уже готовое.

А мечта тем временем скреблась и просилась на волю! Однажды понял: сейчас или никогда — и принял твердое решение. Это примерно совпало с поступлением в GeekUniversity. 

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

— Почему изо всех направлений ты выбрал Python? И какое применение этого универсального языка тебе интереснее?

— Вот именно за универсальность и простоту я Python и выбрал. Сейчас на рынке мне открыто в первую очередь веб-направление, потому что для Machine Learning я недостаточно силен в математике. 

«Для души» использую Python везде: пишу мелкие игрушки и десктопные приложения, автоматизирую свои повседневные задачи, ну и веб-сервисы пилю, куда ж без них.

— Почему ты решил пойти на курсы? Какие были критерии и требования, когда ты выбирал место учебы?

— В моем окружении не было разработчиков, поэтому на курсах я надеялся найти в первую очередь сообщество — профессиональную среду. И нашел. 

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

— Много ли времени приходилось каждый день выделять на учебу? И совмещал ли ты ее с работой на прежнем месте? Насколько хватало времени на остальную жизнь? 

— В день я старался уделять занятиям хотя бы два часа. Теорию читал и продолжаю читать в пути от дома до работы и обратно. Практиковался поначалу только вечерами. Остальную жизнь, конечно, пришлось потеснить. Но я всегда оставляю вторую половину субботы для прогулок.

— Где сейчас трудишься и над какими задачами?

— Сейчас работаю в компании «Код безопасности». Есть готовый продукт — программно-аппаратный комплекс для защиты сетевой инфраструктуры и создания VPN-сетей. Его нужно поддерживать. Я занимаюсь в основном исправлением багов и рефакторингом. Намечается еще задача: планируем весь legacy-код проекта перенести на Python 3+.

— Сколько предложений работы ты получил после обучения? Как выбирал работодателя? 

— За время учебы и после нее мне поступило три оффера. Еще пара наклевывалась, но потребность в них отпала сама собой. Вакансии я выбирал по двум критериям: что за проект и сколько ехать до офиса. На нынешнем месте остановился в том числе потому, что знал будущего начальника по его выступлениям в подкастах и на митапах.

— Может, поделишься советами, как проходить собеседования?

— На самом деле, тут все банально. Откройте вакансии, посмотрите, какие технологии интересуют работодателя, пощупайте это руками — изучите хотя бы на 70 % — и после этого смело начинайте ходить по собеседованиям.

Как получить работу? Обязательно знать Rest и еще какой-нибудь Rest-фреймворк. Если с этим все в порядке — считайте, что оффер ваш. :) 

Мое скромное мнение: лучше не врать, что все знаете и просто что-то подзабыли. Говорите или пишите о том, чем действительно владеете, только обязательно уточняйте, что еще готовы освоить или уже изучаете. Все задают примерно одинаковые вопросы, но некоторые интервьюеры (HR или руководители) в силу своих личностных качеств любят предложить что-нибудь с подковыркой. А вы все равно не бойтесь! :) 

Какие проекты ты сделал за время учебы в GeekUniversity? Расскажи немного о каждом, пожалуйста.

— Самым сложным (это отмечали и многие мои сокурсники) было создание чата. Это очень интересный проект с точки зрения обучения. Как прикладное решение он вряд ли представляет ценность, а вот поковыряться под капотом популярных Python-библиотек было очень полезно и любопытно.

На командной разработке мы делали коммерческий проект GLOLiving, который просуществовал недолго, но дал нам уйму практического опыта. Я писал backend, а еще выступал в роли fullstack-разработчика при создании админки сервиса и деплоил все на сервер.

Мы обсуждали проект на встречах через Google Hangouts, а code review был коллективным.

— Как считаешь, почему проект «не взлетел»? Что пошло не так?

— У меня и остальных членов команды не было опыта, поэтому ошибок было не избежать. Многое, что я делал в начале, пришлось переписывать, а что-то и вовсе осталось кучей некрасивого кода. 

Нужно было добавлять новые фичи, но наш стартап сам не знал, чего хочет, и работал по «динамическому» ТЗ. Что я точно помню, это сложности в организационных вопросах: не было четкого разделения обязанностей и ясных задач. Так мы получили горький, но полезный опыт участия в псевдокоманде! :)

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

Почему GLOLiving не взлетел — это скорее вопрос к владельцу бизнеса. В какой-то момент он просто пропал с моих радаров.

Сейчас я понимаю: там было что переписать, мягко говоря. Это были «учебные» [проекты] — мы кодили, как могли! 

Именно тогда я попробовал технологии, о которых раньше только читал: требовалось сделать P2P-чат на веб-сокетах. Это было очень интересно и даже работало.

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

Кстати, благодаря этому опыту я почти полностью переписал собственный проект, который на добровольных началах затеял на предыдущей работе «непрограммистом». Это была система мониторинга и взаимодействия с операторами ЦОД. Но и это я бы сегодня переписал! (Смеется.)

— Как быстро удалось найти работу? Насколько сложными были тестовые задания и технические вопросы на интервью?

— Так совпало, что новую работу я нашел чуть ли не день в день с окончанием учебы. До этого проходил несколько собеседований. Тестовые задания были не слишком сложными, но в то же время заставляли помозговать и попробовать разные варианты.

Наиболее сложными из тестовых мне показались задачи, связанные с асинхронными фреймворками, такими как AioHTTP и Sanec. В этом деле мне не хватало практического опыта.

— Как проходит адаптация на новой работе? И хватает ли времени на самообразование?

— Адаптация проходит интенсивно и интересно. Я уже в принципе представлял, как выглядит коммерческая разработка, поэтому огромным сюрпризом это не стало.

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

— Ты уже наметил себе цели в профессии на ближайшую перспективу?

— На сегодняшний день цель одна — стать хорошим разработчиком, а не только мечтать об этом! В выбранной мною сфере можно перестать развиваться только в двух случаях: по причине смерти или ухода из профессии. Других уважительных причин быть не может. :)

истории успехаgeekstoryработасобеседованиеpythonпрограммирование
Нашли ошибку в тексте? Напишите нам.
Спасибо,
что читаете наш блог!
Posts popup