Что делать, если хочется работать программистом в ИТ-компании, а в вузе учился по другому профилю? Совсем недавно Сергей Трубин получил позицию младшего разработчика на языке Golang в компании Linxdatacenter — перешел на нее с прикладной инженерной специальности.
Для читателей RB Young Сергей рассказал, как ему это удалось, какие он встретил препятствия на пути и каковы его планы на будущее.
Испытание программиста метростроем
Мне 27 лет, я окончил НГТУ, факультет «Мехатроники и автоматизации» по специальности «Электрический транспорт». Затем два года учился в магистратуре петербургского политеха на факультете «Институт компьютерных наук и технологий» по специальности «Управление в технических системах».
После окончания учебы я работал инженером микроконтроллеров в компании — занимался установкой и модернизацией систем управления эскалаторами метрополитена. Я писал, развивал и поддерживал софт для различных инженерных систем и устройств.
Мой первый проект – управление электромагнитом тормоза. На первый взгляд достаточно тривиальная задача. Но по факту это был полноценный DC-DC преобразователь (прим. ред. преобразование источника постоянного тока с одного уровня напряжения на другой), который разрабатывался людьми, не имеющими достаточного опыта в этой области. В офисе решение работало отлично, но в боевых условиях строящейся станции метрополитена, в пыли и сырости все оказалось сложнее.
В какой-то момент пришло понимание, что нравится заниматься именно разработкой ПО, а работа с аппаратной частью, поиск неисправностей, пуско-наладочные работы вызывают лишь раздражение. Перемен захотелось в первую очередь на уровне каждодневной рутины: уйти от работы с «железом» руками.
Как только я почувствовал, что определенный уровень достигнут и опыт накоплен, добиваться цели «нужно, чтобы все работало, не сбоило и не взрывалось» стало не так сложно. Есть и такой фактор, как потолок зарплаты. Возможностей вырасти и получать хорошие деньги в сегменте микроконтроллеров меньше, чем у программистов верхнего уровня. Кадровый голод на хороших программистов заметно выше, чем на инженеров. Взвесив все «за» и не найдя практически никаких «против», я принял решение об уходе.
Go в Go!
До того, как получить позицию младшего разработчика, я писал код на C и C++, но имел узкопрофильный характер применения своих навыков и знаний.
Поэтому я изучил современный ИТ-рынок, послушал коллег-программистов, получил много хороших отзывов о языке Golang (или Go), перспективах его развития и востребованности сегодня и в будущем. Принял решение в его пользу и сразу перешел к делу: изучил новый язык за год, параллельно работая на старом месте. Только после завершения обучения я начал искать себе место в профильной ИТ-компании.
Курс на курсы
Сегодняшнее образование в ИТ отличают два основных момента.
- Во-первых, большие объемы информации о разных аспектах отрасли — языки программирования, фреймворки, облачные платформы, сети — находятся в свободном доступе. Получить уверенный старт в выбранной предметной области можно, просто просмотрев подборку видео на YouTube и почитав профильные сайты или блоги.
- Во-вторых, доступно огромное количество опций по онлайн-образованию. Я изучил курсы и нашел очень сильную программу по Go от Mail.ru. Она была создана компанией для обучения языку своих собственных специалистов и затем выложена на Coursera.
Несмотря на техническое образование и опыт работы программистом микроконтроллеров, восьминедельный курс по основам Go с контролем выполнения заданий я проходил около 6 месяцев. Первая часть далась легко, но зато с началом действительно продвинутых возможностей языка учеба стала вызовом. Чтобы не буксовать на месте, я даже пропускал выполнение домашнего задания, возвращаясь к нему после изучения новых тем. Потихоньку, со скрипом разбирался и постепенно выполнял пропущенное.
Также изучал востребованные на рынке и связанные с Go технологии, ориентируясь в своем развитии на тренды. В качестве pet-проекта я написал на Go свою карточную игру. Затем составил резюме и вышел на рынок труда в целях получить место младшего разработчика.
Удачный отклик
Я откликнулся на вакансию младшего разработчика компании Linxdatacenter. Через какое-то время мне перезвонили и пригласили на собеседование. У меня был не самый высокий уровень подготовки, но мне дали шанс заняться Go-разработкой в настоящей ИТ-компании.
Linxdatacenter — это сервис-провайдер, предоставляющий ИТ-услуги клиентам на базе собственных дата-центров. Облака, виртуализация, сетевые услуги — общая картина того, что мы делаем: внутри каждого направления существует множество разделов и ИТ-продуктов для бизнеса.
Мне достался определенный объем legacy кода на Go в различных проектах компании, и на первом этапе стояла задача разобраться с ним и понять, какие функции он выполняет и как именно устроена его работа. Здесь проблем не возникло.
Сложно было разобраться с большим количество новых технологий, систем и инструментов, которые ранее не входили в мои компетенции. Например, это серверная часть ИТ-системы — устройство хранилища данных и виртуальных машин.
Из прикладных задач можно отметить работу с CRM-системой, которая у нас используется для ведения статистики продаж услуг и продуктов клиентам, а также для фиксации истории взаимодействия с ними. В ней необходимо запустить ряд дополнительных функций, автоматизировать некоторые задачи, внедрить несколько дополнительных статистических метрик.
Вторая подобная задача: сбор всех метрик работы с виртуальных машин для биллинга клиентов за потребленные мощности.
Уже на первой неделе работы стало видно, что у меня огромные пробелы в сфере инфраструктуры, на самом базовом уровне. Это обусловлено опытом предыдущей работы: специалист с узким профилем задач знает все, но только в своей области.
«Печеньки» большого ИТ
Из плюсов «большого ИТ» по сравнению со службой на инженерном поприще стоит отметить коллектив. Средний возраст в компании существенно ближе к моему: мы говорим на одном языке, интересы как профессиональные, так и общие часто пересекаются.
Я встретил доброжелательность со стороны коллег во всех департаментах, никакого «перевода стрелок» по возникающим задачам, никакого «отфутболивания» меня и моих вопросов в сторону.
Адаптация прошла предельно быстро. Практически сразу начинаешь видеть перспективу дальнейшего развития: проговорили ближайшие цели, что нужно изучить в первую очередь, чтобы перейти к решению дальнейших актуальных задач. При этом меня не кидают в пламя горящего проекта и не оставляют разбираться с ним в одиночку.
Несколько рекомендаций тем, кто хочет последовать моему примеру:
- Если приняли решение о смене специальности или даже старте в ИТ с нуля — помните, все реально, достижимо, и любая предметная область поддается изучению. Было бы желание, целеустремленность и время для занятий.
- Работа в ИТ-отрасли сегодня — увлекательное и перспективное занятие, но его обратная сторона заключается в необходимости проделать серьезный объем работы на входном этапе. Думайте об этом как о втором высшем, с дипломом и всеми вытекающими из этого трудозатратами.
- Развитие невозможно без постоянного обучения. Это включает в себя как погружение в абсолютно новые предметные области, смежные с основной специализацией, так и углубление профильных навыков. Отсидеться в одной уютной нише в ИТ-компании в реалиях двадцать первого века не получится.
Фото на обложке: Unsplash
Нашли опечатку? Выделите текст и нажмите Ctrl + Enter
Материалы по теме
ВОЗМОЖНОСТИ
03 декабря 2024
03 декабря 2024
04 декабря 2024