Сергей Трубин
Младший разработчик на языке Golang в компании Linxdatacenter
Мне 27 лет, я окончил НГТУ, факультет «Мехатроники и автоматизации» по специальности «Электрический транспорт». Затем два года учился в магистратуре петербургского политеха на факультете «Институт компьютерных наук и технологий» по специальности «Управление в технических системах».
После окончания учебы я работал инженером микроконтроллеров в компании — занимался установкой и модернизацией систем управления эскалаторами метрополитена. Я писал, развивал и поддерживал софт для различных инженерных систем и устройств.
Мой первый проект – управление электромагнитом тормоза. На первый взгляд достаточно тривиальная задача. Но по факту это был полноценный DC-DC преобразователь (прим. ред. преобразование источника постоянного тока с одного уровня напряжения на другой), который разрабатывался людьми, не имеющими достаточного опыта в этой области. В офисе решение работало отлично, но в боевых условиях строящейся станции метрополитена, в пыли и сырости все оказалось сложнее.
В какой-то момент пришло понимание, что нравится заниматься именно разработкой ПО, а работа с аппаратной частью, поиск неисправностей, пуско-наладочные работы вызывают лишь раздражение. Перемен захотелось в первую очередь на уровне каждодневной рутины: уйти от работы с «железом» руками.
Как только я почувствовал, что определенный уровень достигнут и опыт накоплен, добиваться цели «нужно, чтобы все работало, не сбоило и не взрывалось» стало не так сложно. Есть и такой фактор, как потолок зарплаты. Возможностей вырасти и получать хорошие деньги в сегменте микроконтроллеров меньше, чем у программистов верхнего уровня. Кадровый голод на хороших программистов заметно выше, чем на инженеров. Взвесив все «за» и не найдя практически никаких «против», я принял решение об уходе.
До того, как получить позицию младшего разработчика, я писал код на C и C++, но имел узкопрофильный характер применения своих навыков и знаний.
Поэтому я изучил современный ИТ-рынок, послушал коллег-программистов, получил много хороших отзывов о языке Golang (или Go), перспективах его развития и востребованности сегодня и в будущем. Принял решение в его пользу и сразу перешел к делу: изучил новый язык за год, параллельно работая на старом месте. Только после завершения обучения я начал искать себе место в профильной ИТ-компании.
Сегодняшнее образование в ИТ отличают два основных момента.
Несмотря на техническое образование и опыт работы программистом микроконтроллеров, восьминедельный курс по основам Go с контролем выполнения заданий я проходил около 6 месяцев. Первая часть далась легко, но зато с началом действительно продвинутых возможностей языка учеба стала вызовом. Чтобы не буксовать на месте, я даже пропускал выполнение домашнего задания, возвращаясь к нему после изучения новых тем. Потихоньку, со скрипом разбирался и постепенно выполнял пропущенное.
Также изучал востребованные на рынке и связанные с Go технологии, ориентируясь в своем развитии на тренды. В качестве pet-проекта я написал на Go свою карточную игру. Затем составил резюме и вышел на рынок труда в целях получить место младшего разработчика.
Я откликнулся на вакансию младшего разработчика компании Linxdatacenter. Через какое-то время мне перезвонили и пригласили на собеседование. У меня был не самый высокий уровень подготовки, но мне дали шанс заняться Go-разработкой в настоящей ИТ-компании.
Linxdatacenter — это сервис-провайдер, предоставляющий ИТ-услуги клиентам на базе собственных дата-центров. Облака, виртуализация, сетевые услуги — общая картина того, что мы делаем: внутри каждого направления существует множество разделов и ИТ-продуктов для бизнеса.
Мне достался определенный объем legacy кода на Go в различных проектах компании, и на первом этапе стояла задача разобраться с ним и понять, какие функции он выполняет и как именно устроена его работа. Здесь проблем не возникло.
Сложно было разобраться с большим количество новых технологий, систем и инструментов, которые ранее не входили в мои компетенции. Например, это серверная часть ИТ-системы — устройство хранилища данных и виртуальных машин.
Из прикладных задач можно отметить работу с CRM-системой, которая у нас используется для ведения статистики продаж услуг и продуктов клиентам, а также для фиксации истории взаимодействия с ними. В ней необходимо запустить ряд дополнительных функций, автоматизировать некоторые задачи, внедрить несколько дополнительных статистических метрик.
Вторая подобная задача: сбор всех метрик работы с виртуальных машин для биллинга клиентов за потребленные мощности.
Уже на первой неделе работы стало видно, что у меня огромные пробелы в сфере инфраструктуры, на самом базовом уровне. Это обусловлено опытом предыдущей работы: специалист с узким профилем задач знает все, но только в своей области.
Из плюсов «большого ИТ» по сравнению со службой на инженерном поприще стоит отметить коллектив. Средний возраст в компании существенно ближе к моему: мы говорим на одном языке, интересы как профессиональные, так и общие часто пересекаются.
Я встретил доброжелательность со стороны коллег во всех департаментах, никакого «перевода стрелок» по возникающим задачам, никакого «отфутболивания» меня и моих вопросов в сторону.
Адаптация прошла предельно быстро. Практически сразу начинаешь видеть перспективу дальнейшего развития: проговорили ближайшие цели, что нужно изучить в первую очередь, чтобы перейти к решению дальнейших актуальных задач. При этом меня не кидают в пламя горящего проекта и не оставляют разбираться с ним в одиночку.
© 2023 Linx