IT-скачок: как за три года с нуля стать программистом международного уровня. Афиша Днепра

IT-скачок: как за 3 года стать программистом международного уровня

  • Категорія:
  • Новини

IT-разработчик Станислав Зажогин рассказал, как освоить профессию в рекордный срок, автоматизировать работу целого отдела и избавить программистов от рутинного труда

IT-скачок: как за три года с нуля стать программистом международного уровня. Афиша Днепра

Станислав Зажогин за три месяца самостоятельно освоил азы программирования. Через три года он стал лидером команды разработчиков в крупной международной компании, а его зарплата выросла в девять раз. Сейчас он выполняет проекты для таких гигантов, как Dolce & Gabbana и Louis Vuitton. В интервью Станислав рассказал, как освоить профессию в рекордный срок, автоматизировать работу целого отдела и избавить программистов от рутинного труда.

По данным сервиса HackerRank, две трети IT – разработчиков в мире — это самоучки. Как вы осваивали профессию?

Путь к профессии Java-разработчика я начал с прочтения книги Кея С. Хорстманна “Java. Библиотека профессионала”, а потом перешел на онлайн-курс JavaRush. Заодно изучал базы данных, паттерны проектирования и популярные фреймворки: Spring, Hibernate. Информацию искал на YouTube и других сайтах.

Параллельно с этим я совершенствовал качество своего кода. Так, я стал фанатом книги Боба Мартина “Чистый код”. Чистота в данном случае — это грамотная структура и читабельность, и именно к этому я стремился.

Я также старался рассматривать несколько решений задач, сравнивать их со своими, чтобы потом добиться оптимального варианта. В этом мне помогали StackOverflow и GitHub.

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

Новое место я получил достаточно быстро — от начала активного обучения до получения первого оффера прошло всего три месяца. Мне немного помог прошлый опыт администрированием систем безопасности крупного ритейлера России и плотный график занятий, который я адаптировал под себя. Можно сказать, что я создал индивидуальную образовательную программу. И в результате мой подход сработал.

А чем вы занимались до этого?

Я работал в “Юлмарте” администратором систем безопасности по Центральному федеральному округу. Кроме того, в Твери я управлял собственным центром восстановления данных. Тогда в городе никто не предлагал такую услугу, а спрос на нее был.

Почему вы были уверены, что стоит все бросить ради карьеры программиста?

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

Получается, спустя три месяца обучения вы уже устроились в IT-компанию?

Да. Моим первым местом работы программистом стала компания “Русский свет”. Я разрабатывал B2B-сайт для поставщиков торговой сети. Вместе с командой мы полностью поменяли систему и построили новую удобную платформу. Сайт быстро стал популярным, поскольку бизнес-клиенты могли оформить заказ в любой момент. Им больше не требовалась помощь сотрудников колл-центра.

Фактически я автоматизировал работу целого отдела. В результате компании пришлось сократить около 300 менеджеров, которые раньше помогали оформлять заказы. Они занимали отдельный этаж большого офисного здания, но в одночасье работу целой армии сотрудников могли выполнять два человека — все благодаря новому сайту.

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

После него вы и попали к гиганту HRS (Hospitality & Retail Systems)?

После “Русского света” я устроился в EPAM, а вскоре получил предложение стать старшим разработчиком с функциями тимлида в команде HRS. Потом я узнал, что мне давно уже хотели сделать оффер, но из-за корпоративной этики руководство решило выждать какое-то время.

IT-скачок: как за 3 года стать программистом международного уровня. Афиша Днепра

Насколько стремительно развивается карьера программиста сегодня? На вашем примере, как быстро удалось добиться существенных результатов?

У каждого скачки в карьере происходят по-своему. Мне помогала работа над сложными и масштабными проектами, в которых я играл ключевую роль. Приходилось быстро учиться, осваивать, а иногда и с нуля создавать новое. Я старался избегать застоя и постоянно брался за все более сложные задачи. Получается, что существенных результатов я смог добиться за три года, а зарплата за это время выросла в девять раз. Такие скачки в IT-индустрии происходят, но это скорее редкость.

Над чем вы сейчас работаете?

Сейчас я работаю над проектом для ритейл-компании Chalhoub Group. В нее входят такие бренды-гиганты, как Dolce & Gabbana, Louis Vuitton, Swarovski, Lacoste, Karl Lagerfeld, Marc Jacobs, Baccarat, Céline и Michael Kors. Команда под моим руководством переводит более 600 магазинов с тысячами касс в нескольких странах на новую кассовую систему, основанную на Oracle Retail Xstore. Как ведущий разработчик я отвечаю за защищенность системы, отказоустойчивость и качество финального продукта.

Какие технологии исследуете? Есть какие – то новые практики, которые вы внедряете в сообществе программистов?

Меня интересуют backend-стек технологий, но также я исследую возможности DevOps. Это набор методик, который помогает частично автоматизировать работу программиста и экономит массу времени. В России его пока используют не слишком активно, но мне хочется повлиять на ситуацию и облегчить труд разработчиков.

Со мной своими знаниями поделился Артемий Кропачев, обладатель рекордного сертификационного уровня по продуктам Red Hat.

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

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

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

Чтобы этого не произошло, я оцениваю каждого “игрока” в команде и поручаю ему задачи, с которыми тот справится лучше всего. Только так, мне кажется, можно добиться максимального КПД.

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

В России и странах СНГ таких специалистов достаточно?

Специалистов, которые хорошо разбираются в используемых инструментах, не так много, но они есть. Предполагаю, что успешно пройти собеседование в крупную компанию сможет 15% разработчиков. Но иногда под проект нужен человек, который обладает специфичными знаниями — такие разработчики ценятся больше всего.

Получается, компаниям приходится бороться за редкие кадры?

Да. Насколько мне известно, некоторые HR-отделы используют алгоритмы. Они прочесывают LinkedIn и MonsterJobs в поисках настоящих бриллиантов. Если резюме “зацепило” робота, то он обращает на него внимание HR-менеджера. Хантинг вообще превратился в целое искусство, и компании готовы платить за рекомендации подходящих кандидатов.

Вы возглавляете команду, в которой состоит еще 5 человек. При этом все работают удаленно. Как выстраиваете процессы?

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

Процесс разработки устроен так: к нам приходит ТЗ, я его оцениваю, разбиваю на задачи и распределяю их среди членов команды. Обязательно устанавливаю дедлайны и определяю срочность. Иногда проект горит, а иногда на его выполнение есть целый месяц.

Разработчики выполняют работу, я оцениваю результат и качество кода. Потом вливаю задачу в общий проект. Дальше за нее берутся тестировщики. Если проверка пройдена успешно, то мы закрываем задачу. Миссия выполнена.

Если исходить из того, что многие программисты занимаются самообразованием, важна ли роль ментора в их развитии? Вам приходилось работать с ментором или выступать в его роли?

Да, ментор делает процесс самообразования более эффективным. Он помогает сфокусировать внимание на действительно важных вещах, подкидывая сложные и нестандартные задачи.

Проблема в том, что ментора найти сложно. К тому же на начальном этапе программист еще не понимает, какой области IT отдать предпочтение — frontend, backend, Android. А чтобы получить поддержку ментора, требуется хотя бы минимальный набор знаний в выбранной отрасли.

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

Как вы поддерживаете контакт с экспертным сообществом? Некоторые программисты сидят на специализированных форумах, обмениваются опытом, посещают конференции.

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

Я также часто заглядываю на крупнейший сайт об автодиагностике mhhauto.com. Современные автомобили оснащены цифровыми системами управления. Особенно это касается премиум-сегмента, вроде Mercedes или Volvo. Для их диагностики используются программы, как правило, написанные на Java. И с ними постоянно возникают проблемы.

Я помогаю парням с форума определять баги софта, делюсь эксклюзивными фиксами. Периодически также делюсь опытом с пользователями toster.ru и stackoverflow.com.

В целом, какие личностные качества важны программисту сегодня? Очевидно, что образ увлеченного технаря–затворника, который ни с кем не общается, – это миф. Какие soft skills нужно прокачивать?

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

Также важно обладать навыками тайм-менеджмента. Нарушение сроков в бизнесе всегда влечет за собой финансовые потери. Важно, чтобы программист понимал business value и задумывался о пользе, которую он может принести компании. Очевидно, что высоко ценится свободное владение английским. Знание языка — это преимущество, которое позволит попасть в международный проект и даже обойти крутых разработчиков с мощными hard skills.

IT-скачок: как за 3 года стать программистом международного уровня. Афиша Днепра

Какие тенденции в программировании вы могли бы назвать? Что сейчас пользуется популярностью?

Я наблюдаю два ключевых тренда. Первый включает инновационные технологии: искусственный интеллект, блокчейн, IoT (интернет вещей) и облачные вычисления. Эти направления обсуждают, но редко внедряют. Да и вакансий пока не так много.

Второй тренд уже получил широкое распространение. Сюда я могу отнести такие технологии и языки программирования, как JavaScript, Go, Kotlin и Python.

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

Я уверен, что через пять лет разработчики так и будут писать код, просто делать это будет проще. Каждый день выходят новые фреймворки — грубо говоря, это готовые “куски” кода, которые можно интегрировать в свой проект. Они помогают быстрее выполнить задачу.

Но запустить процесс разработки несколькими кликами мыши можно будет еще нескоро. Думаю, это слишком отдаленное будущее.

К тому же важно учитывать, что идеальных ТЗ не существует, поэтому программисту иногда приходится полагаться на интуицию. А у искусственного интеллекта интуиции нет.

Чем вы планируете заниматься в ближайшие годы? Будете осваивать новые отрасли и языки программирования?

Я хочу получить сертификат архитектора Red Hat. Нужно сдать около 10 экзаменов, каждый из которых позволяет подняться на определенную ступеньку. Эта сфера тесно связана с DevOps подходом, который меня так увлекает.

________________________________________________________________________________

Вся Афиша Днепра в Telegram — https://t.me/DneprAfisha

Слідкуйте за подіями в наших групах