Приветствую всех. Очень давно хотел написать что-то подобное и поделиться своей историей роста и развития, а заодно посмотреть, что из этого выйдет. Это увлекательное путешествие заняло у меня около 15 лет. Расскажу, как всё начиналось, что меня вдохновляло и продолжает вдохновлять, с чем приходилось мириться ради успеха, какие трудности я преодолел и к чему в итоге пришёл. Если вам интересно, прошу под кат.

Начало пути

Всё началось довольно банально: с детского увлечения сначала приставками и компьютерными играми, потом сборкой собственных ПК. В старших классах, перед институтом, я освоил программирование (тогда ещё на Турбо Паскале).

Во время обучения в институте всё кардинально поменялось, кроме игр. Но эту историю мы опустим, ибо лет до 30 они занимали львиную долю моего свободного времени, и мне это нравилось. Сейчас, правда, тоже играю, но уже крайне редко. Собственно, чтобы выжить и заработать денег на оплату учёбы и минимальных хотелок, я устроился работать охранником. В целом всё было неплохо (и меня даже полностью устраивало), пока не пришло время отдать долг Родине. Этот год службы тоже оставим за скобками, просто скажу: было полезно.

Первые шаги в администрировании

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

Следующим шагом стала работа в строительной компании. Здесь я получил практический опыт работы с более продвинутым сетевым оборудованием (Cisco), серверами, системами телефонии, мониторинга и виртуализации, а также углубил знания в области инструментов и протоколов. На этом этапе в мою жизнь прочно вошёл Zabbix, который и по сей день остаётся верным помощником в обеспечении стабильности инфраструктуры. Переломным моментом стало знакомство с коллегой, который упорно отказывался от Windows, предпочитая Linux. Он настолько сильно его пиарил, что я подумал: «Вроде интересно, можно попробовать». Тогда я в очередной задумался о смене направления. Поиски привели меня к интересному стартапу, где как раз требовался Linux-администратор. Эта компания и люди, участвующие в её развитии, сыграли ключевую роль в моём профессиональном росте.

Несмотря на полное отсутствие опыта работы с Linux, я успешно прошел собеседование и получил должность офисного администратора. Моей задачей было с нуля организовать работу всего офиса на Linux, включая настройку необходимого программного обеспечения: систем документооборота, 1С, офисных пакетов, инвентаризации и прочего. К сожалению, реализация провалилась: трудно заставить пользователей перейти с Windows и нормального офисного пакета на open source. К тому же совместимость с документами MS Office оставляла желать лучшего. Хотя всё было выстроено по классической схеме и отлажено, основные сервисы работали на Linux, то, что могло работать только на Windows, работало на Windows, пользователям было сложно. Этот опыт позволил мне освоить основы работы с новой для меня операционной системой.

DevOps и инженерные практики

Став руководителем офисных админов, я выстроил все процессы и сформировал команду. Однако вскоре почувствовал, что достиг своего профессионального потолка, и мне стало грустно. Захотелось углубить свои технические навыки. К тому же в то время активно обсуждались модные технологии, связанные с DevOps (хотя сейчас модно всё, что связано c AI). В то время команда, куда я стремился попасть, занималась внедрением облачной платформы OpenStack и предоставляла соответствующие услуги. Штат состоял в основном из Python-разработчиков и нескольких инженеров.

Поговорив с их руководителем, мне предложили испытательный срок и время на поиск преемника на мою прежнюю должность. До сих пор помню свою первую задачу в роли системного инженера: автоматизация сборки образов операционных систем, тестирование и публикация для клиентов. (Напишите в комментариях, на какой инструмент это похоже? Тогда его либо не было, либо я был молод и неопытен). Задачу я решил с помощью bash-скриптов и https://docs.openstack.org/diskimage-builder/latest/. Что-то даже ещё хранится на Github. Процесс реализации включал следующие этапы:

  • Сборка операционной системы и кастомизация внутри с помощью cloud-init

  • Загрузка образа в облако и его тестирование в созданной виртуалке

  • Схлопывание виртуальной машины и пометка образа как общедоступного для клиентов в случае успешно пройденных тестов

Испытательный срок я прошёл успешно (не одной задачей, конечно же). Однако изменившаяся бизнес-стратегия потребовала перехода на «суровый энтерпрайз», «варю» и т.д., и отказа от open source, включая OpenStack. Наш отдел был сокращён: из примерно десяти сотрудников осталось два: я и руководитель. Теперь наша задача заключалась в поддержке существующего парка Linux-машин и постепенном схлопывании OpenStack с последующим переводом клиентов на Hyper-V. Да-да, не «варя», которая была в планах. Я уволился раньше, чем они осуществились.

Наверное, на этом этапе своей жизни я получил значительный прирост технических навыков: всё «горит», помощи ждать особо не от кого, приходится разбираться буквально во всём. В этот период я впервые:

  • Освоил сборку пакетов из исходников

  • Стал плотнее работать с Zabbix, пересобирал его каждый релиз под TokuDB и «лечил» кластер галеры, создавал множество кастомных скриптов и шаблонов

  • Начал работать с командой сетевиков над автоматизацией и мониторингом, в моей жизни появились Ansible, ELK, Greylog, LibreNMS, Influx Stack и многое другое

  • Познакомился с кластеризацией, балансировкой и отказоустойчивостью: Corosync, Pacemaker, HAProxy/Nginx, Keepalived

  • Написал скрипт для сбора данных об уязвимостях со всего парка машин с автоматической отправкой отчётов по электронной почте

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

В компанию я пришел в апреле 2018 г. на должность ведущего системного администратора. Мой приход совпал с миграцией из одного облака в другое. По стеку всё было примерно так же, как у всех, за исключением того, что это был уже highload с приличным количеством активных пользователей. Изначально отдел был небольшим — пара-тройка офисных админов и пять DevOps-инженеров, а сейчас команда насчитывает 30+ инженеров.

Мы выполняли роль FullStack-админов, занимаясь абсолютно всем, что стало большим плюсом для роста и развития. За время моей работы мы провели 3-4 миграции (включая облачные сервисы, среди которых CDN/S3) по разным причинам (частые отказы при большой нагрузке и глобальная политика компании). Мы долгое время использовали собственное оборудование: на момент полной миграции в облако у нас было задействовано 16 стоек. В процессе работы я развил и усовершенствовал следующие технические навыки:

  • Мониторинг и Zabbix: я экспериментировал с его возможностями (подробнее можно почитать в моих статьях о мониторинге), а позже в моей практике появился Prometheus, затем стек VictoriaMetrics, и немножко Influx'а

  • Автоматизация: я освоил Jenkins и Ansible AWX (ролями мы покрывали практически всё), а также IaC и Terraform/Packer

  • Журналирование: сильнее погрузился в стек ELK, внедрил журналирование всех систем (опыт описан в моей статье)

  • Kubernetes и всё, что с ним связано, включая сборку и хранение образов, их доставку, журналирование, мониторинг, а также чарты, манифесты, и т.д.

  • Опыт работа с базами данных и брокерами очередей

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

На пути к тимлиду

Я менял должности примерно каждые два—три года: DevOps -> TechLead -> TeamLead. Моя неуёмная энергия и стремление к развитию не позволяли мне оставаться на одном месте. Мне всегда хотелось что-то улучшить, автоматизировать, упрощать процессы и внедрять превентивный мониторинг вместо реагирования на инциденты. Именно развитие технических навыков и инициативность привели меня на должность техлида.

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

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

Основными факторами, мотивирующими и двигающими меня, стали:

  1. Профессиональный рост и личные амбиции

  2. Командная работа в коллективе

  3. Финансовая составляющая (несколько раз я шёл на снижение дохода ради приобретения опыта и новых навыков)

Заключение

Настоятельно советую послушать доклады Юлии Аравиной — они отлично помогают в работе над собой.

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

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

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

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

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

Спасибо, что дочитали мою рефлексию до конца. Буду благодарен, если вы пройдёте небольшой опрос — для меня очень важно понимать аудиторию.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Какой у вас уровень квалификации?
5.56%Junior1
16.67%Middle3
27.78%Senior5
11.11%TechLead2
16.67%TeamLead3
22.22%Я сюда случайно попал4
Проголосовали 18 пользователей. Воздержался 1 пользователь.