Сказ о трех тимлидах ISPsystem

Привет, Хабр! Сегодня мы снова хотим приоткрыть двери нашей компании и познакомить вас с тремя разработчиками продуктов ISPsystem. Но знакомство будет не простое. Под катом тимлиды разных команд — Максим, Иван и Дмитрий — решили рассказать о карьерном росте в компании. Каждый о своем.

Максим, бэкенд-разработчик и тимлид команды DCImanager

Пришел в компанию ~5 лет назад сразу после института. Окончил физический факультет по направлению «Электроника и наноэлектроника».

Карьерный рост: тестировщик разработчик тимлид. Лауреат премии «В разработку любым путем».

Наверное, я столкнулся с одной из самых типичных проблем молодого специалиста: сначала закончил физфак, а уже потом задумался, чем на самом деле хочу заниматься в жизни. Шутки шутками, но у нас после физфака едва ли не самый перспективный вариант — устроиться на релейный завод и тянуть там провода. «Не моё» — подумал я. Тем более, никаких «электронных» стремлений до университета во мне не было. А программировать всегда было интересно — да и в целом, возиться с компьютерами, играть в игры. Ответ лежал на поверхности: ну конечно же, геймдев. Какой русский не любит разрабатывать игры?

В гемдеве, как всем известно, правят бал Unreal Engine и Unity. Для первого желательно знание C++, для второго — C#. Шарп меня не впечатлил с точки зрения кроссплатформенности, а C++ выглядел представительно и перспективно. В течение последнего семестра я активно учил язык по книге «Изучаем C++ через программирование игр». Главное, ее вполне хватило, чтобы освоить азы. До этого программерского опыта у меня практически не было, только уроки по HTML и прочая информатика в школе.

Итак, набравшись базовых знаний по C++, я решил не терять время и отправился на поиски работы. В Иркутск я приехал из Читы, так что надо было крутиться, устраиваться с удвоенной скоростью. На тот момент вакансий по «плюсам» в городе толком не было. Шел далекий 2016-й, и никакой «удаленкой» на трудовом рынке еще не пахло.

Самые интересные вакансии на С++-разработку нашлись у ISPsystem и одной геймдев-компании. Я решил попробовать себя в создании игр и подал заявку, но не прошел по знаниям и опыту — компании требовался продвинутый middle. Чтобы вы понимали всю глубину моего расстройства — я так хотел программировать, что даже 1С рассматривал…

В то же время я откликнулся на вакансию ISPsystem. В деталях уже не помню, что было на интервью, но в конце мне дали тестовое «домашнее задание». Я открыл его и понял, что на самом деле ни черта не знаю. Одно дело — «тепличные» примеры из книжки и совершенно другое — реальный проект по написанию клиент-серверного приложения.

Задание я с грехом пополам, но выполнил. Пришлось приложить все мыслимые гугловские усилия. За эту писанину мне, если честно, до сих пор стыдно. Наверное, проверяющий за голову держался, пока читал мой код. Всё работало, но какой ценой… Разумеется, меня не взяли.

Однако HR-ы ISPsystem намекнули, что в ближайшие месяцы могут появиться вакансии тестировщиков. Я усердно готовился и ждал своего часа. Следующее собеседование на junior-тестировщика я уже прошел. Параллельно я учился в магистратуре и получал второе высшее по прикладной информатике (заочно).

И… теперь я лид. Но путь к этой должности был не близким.

На старте я попал в команду DCImanager, лидом проекта на тот момент был Кузьмич.

Командная работа и многие инструменты для меня были в новинку, поэтому я часто бегал к Максиму [коллеге] с «тупыми» вопросами а-ля «как завести задачу на Bugzilla?». Потом Макс ушел в отпуск, и спрашивать стало некого. Пришлось начать самому во всем разбираться.

Так вот, через некоторое время меня должны были повысить до автотестера.  Но в тот момент позиции автотестировщиков «убирали», а ребят переводили в разработчики. Поэтому меня тоже сделали разработчиком, «на вырост». Компания пошла на встречу моим пожеланиям, а я постарался не подвести.

ISPsystem тем временем активно развивалась. Появлялись новые люди, новые позиции. От канбана мы перешли к Agile. Кузьмич покинул нас, пошёл развивать другой проект. Фактически, он следил за всем, делал код-ревью, был отцом проекту и нам. А поскольку я был хорошо погружен в проект и ребята из команды нередко советовались со мной, роль Кузьмича поручили мне.

После этого мне довелось поучаствовать в создании DCImanager 6, мы разрабатывали его с нуля. Дело было в 2019 году, к тому моменту я уже стал лидом. К разработке подошел с крепкой базой в виде 5-й версии продукта. Тем не менее, новых технологий тоже хватало: микросервисы, Docker-контейнеры…

Сейчас я работаю 50/50. Первая половина — созвоны, разные документы, описания. Вторая — чистый код. Удивляю ребят огромными merge-реквестами. Захожу решить одну задачку, а останавливаюсь только на восьмой или десятой. Так что я еще не «забронзовел» на руководящей должности. Нравится всегда быть в тонусе. 🙂

Мой стек сегодня — C++, Python. За время работы в ISPsystem я получил много новых знаний и опыт работы с целой кучей различных сервисов. Научился работать с сетевым оборудованием. Но главное — программирование. К этому я и шел.

Иван, тимлид команды BILLmanager

Пришел в компанию 5 лет назад (аккурат ко Дню св. Валентина) младшим разработчиком. На текущий момент — лид команды BILLmanager. Сейчас кодом практически не занимается, основная сфера деятельности — руководство, рабочие процессы, архитектурные решения в рамках продукта.

Мой путь в ИТ был прямолинеен и строг: игры → компьютеры → а как оно устроено? → надо идти на ИТ-специальность. Я окончил Иркутский государственный университет путей сообщения, 5 лет специалитета. Мы проходили Java, Pascal, азы ассемблера. После диплома (автоматизированный мониторинг одного из мостов в Иркутске) я остался работать там же, на кафедре мостов. Мы тесно сотрудничали с одной небольшой компанией, которая занималась автоматизацией, испытаниями/обследованиями мостов и прочим подобными вещами. Им понадобился программист для реализации системы мониторинга Академического моста. Так и началась моя карьера.

Я проработал там чуть больше 5 лет. Писал системы мониторинга, даже зарегистрировал на себя два программных продукта в этой сфере. Оба — для Академического моста. Часто приходилось ездить в командировки. Романтика малых городов, всё такое. Но романтика романтикой, а программистского роста командировки не прибавят. Поэтому я решил двигаться дальше и развиваться по специальности. В ISPsystem я устроился на позицию младшего C++ разработчика. Резюме, звонок, собеседование — тут все стандартно. 

На первых порах меня посадили прямо посреди кабинета, места было немного. Все остальные сидели по кругу, а я — как двоечник, монитором к двери. Потом, конечно, выделили новое место «как у всех». Тем не менее, вначале я испытывал сильный дискомфорт: большая команда, непонятные задачи. Туча неизвестных слов — QA, фронтенд, бэкенд… Тогда в команде было человек 15-16. Спрашивать я стеснялся, поэтому втихаря гуглил. Мне кажется, где-то за месяц я влился в команду и основные процессы. Первые полгода мы работали по канбану. Простая, понятная методология. А потом появился новый для всех Agile. Стало проще: если что и менялось, то сразу для всех, поэтому я уже не отставал.

Как я и говорил, моя карьера в ISPsystem началась с позиции младшего разработчика. У нас был прекрасный, просто восхитительный тимлид, однако через некоторое время он перешел в другую команду. Стало ясно, что кто-то должен взять бразды правления в свои руки. Как это обычно бывает: тот, кто больше всех «говорит», тот и берет на себя всю ответственность. Сказал — сделай.  А больше всех говорил, участвовал во встречах я. Плюс я был самым старым! Шутка 🙂 На самом деле, на тот момент я лучше других был осведомлен в продукте, понимал ключевые процессы. Так и стал лидом. 

Текущий костяк команды за эти годы существенно омолодился. Но текучки нет, все работают минимум по 3-4 года.

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

Также я слежу, чтобы в коллективе была здоровая атмосфера. Я очень люблю продукт (BILLmanager), команду, поэтому стараюсь всех холить и лелеять.

В последнее время компания существенно расширяет географию. Отчасти это «заслуга» пандемии. Если раньше все было сосредоточено в иркутском офисе, то теперь нередки рабочие Zoom-встречи с Москвой и Петербургом. Кстати, кому как, а лично мне формат работы работы из дома совершенно не подходит — там тьма отвлекающих факторов! Помню, как в самом начале коронавируса я вернулся с одной конференции, а меня посадили на двухнедельный карантин. Я всё ждал, когда выйду в офис, буду со всеми общаться! Казалось очень странным, что на рабочей встрече все сидят в офисе, а я дома, совсем один, перед монитором.

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

Дмитрий, тимлид команды ISPmanager 

Один из старост, корифеев и столпов компании. Даже матерые кадровики не припомнят, когда он пришел на работу. Тот самый Кузьмич, при котором сменялись версии ПО и методологии, менялись директора, гасли звезды и рождались галактики. Дмитрий — единственный разработчик, так или иначе приложивший руку ко всем ключевым продуктам компании (VMmanager 5, VMmanager 6, DCImanager 5, DCImanager 6, BILLmanager 5, Vepp, ISPmanager).

В компанию я попал по объявлению в 2008 году. Тогда с этим было проще: позвонил, назначили встречу. Сдал тестовое задание и получил должность.

В том же году я закончил Иркутский Государственный Университет по ИТ-специальности — программирование, системное администрирование. К тому моменту уже года два я работал сисадмином в одной небольшой компании. Стоял выбор: остаться администратором или уйти в разработку. Программирование мне всегда было интересно. С первого курса я знал, что после института пойду работать по этой стезе. ISPsystem была, кажется, второй компанией, куда я обратился. Придя на работу, я понял, что толком в разработке я ничего не знаю. Университет дал неплохую базу, но именно программированию научить не смогли. Это пришло потом, с опытом.

С компьютером я познакомился еще в старшей школе. У знакомого был ZX Spectrum. Я попросил его одолжить мне его на время. У него был сгоревшей порт подключения к телевизору, поэтому пришлось повозиться и восстановить. К компьютеру прилагался толмуд-мануал с примерами простеньких программок на Бейсике. По нему я и осваивал азы программирования. Отец заметил мой интерес и где-то через полгода купил домой полноценный компьютер, Pentium III. Это, конечно, был шок: от 8 бит сразу к 32-м!

Из школы я приносил компиляторы. Писал дома игрушки. Хорошо помню свой первый «большой» проект — крестики-нолики на Turbo Basic. Кое-что умел и на Pascal, но к университету твердо знал именно Бейсик. В университете мы тоже его проходили на первых курсах, мне было легко. Потом пришел черед С++. Я всегда мечтал разрабатывать игры, поэтому разбирался в DirectX, графике, шейдерах. У меня даже был дипломный проект на основе спутниковых данных — можно было «покрутить» Землю. Так что в ISPsystem я тоже попал на «языковой» основе. Требовались программисты именно на C++.

Когда я только пришел в компанию, отдел разработки был совсем небольшим, буквально 7-8 человек. Человек, занимавшийся модулем бэкапов для ISPmanager, как раз увольнялся, и мне поручили его проект. Вот, мол, тебе бэкапы, вот списки ошибок. Сиди, разбирайся, делай. 

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

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

У меня появилась своя команда, нужно было учиться ею управлять. Постоянно приходили новые люди, группа BILLmanager очень скоро стала самой большой в компании. До 2014 года я занимался исключительно биллингом, потом мне предложили работу над VMmanager 5. Мы с коллегой Ромой написали его с нуля примерно за год. Вернее, начали мы проект вдвоем, а потом новые люди подтянулись.

Затем мне предложили поработать над DCImanager. Я занимался им еще года два-три. Потом были Vepp. Наконец, я пришел обратно в ISPmanager и снова занимаюсь модулем бэкапов 🙂 Прошло 12 лет, все вернулось на круги своя.

Получается, я самый большой путешественник в компании, почти во всех проектах побывал. И с 2011 года всегда был в них тимлидом.

При мне менялись процессы. Когда я пришел, у нас был классический waterfall — циклы, релизы. Потом руководители привезли с конференции канбан и Agile. Эта система долго просуществовала, года до 2017-18-го.

Самая большая трансформация случилась, когда пришли к текущей модели Agile — появились продуктологи, UX-дизайнеры, ретроспективы. Я как тимлид стал понимать, что роль руководителя размылась. Наступила демократия, теперь идеи предлагает команда. Это были весьма существенные перемены. Судьба проекта стала в гораздо меньшей степени зависеть от руководителя.

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

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

Фрезерный станок
Фрезерный станок
Токарный станок
Токарный станок

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

Кстати, если вы хотите поделиться собственной историей карьерного роста в ИТ — будем рады вашим историям в комментариях!

Читайте так же: