Обложка статьи «Чем занимается инженер облачных сервисов»

Чем занимается инженер облачных сервисов

Владимир Зайцев

Владимир Зайцев, директор по клиентскому сервису NGENIX

Много статей написано про то, чем занимается разработчик, но мало кто скажет точно, чем занимается инженер в ИТ. Он точно «айтишник»? В сознании обывателей инженер – это человек, который что-то чертит или проектирует. Я немного приоткрою завесу над тем, кто такой на самом деле инженер облачных сервисов, за что он отвечает и какие у него перспективы.

***

Я почти пять лет руковожу службой сопровождения клиентских сервисов в компании NGENIX. Наша облачная платформа обеспечивает безопасность и бесперебойную работу веб-сервисов – это сервисы стриминга видео, онлайн-маркетплейсы, сервисы бронирования авиабилетов или любые другие веб-приложения. Наша задача – сделать так, чтобы эти веб-ресурсы работали безотказно: стримы не подвисали, страницы грузились быстро, а DDoS-атаки или «хабраэффект» не парализовали сайт. Если пользователь веб-сервиса недоволен тем, что картинки в интернет-магазине грузятся медленно, сайт открывается через раз, а посмотреть сериал без постоянной буферизации невозможно, такой пользователь уйдет. Возможно, он еще напишет гневный пост в соцсети, призовет отказаться от сервиса, а для нашего клиента это означает отток клиентской базы, снижение NPS и потерю выручки. Чтобы такого не произошло, есть человек, которого мы называем «инженер облачных сервисов». Такие люди как раз работают в нашем отделе.

Что делает инженер облачных сервисов

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

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

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

Типичный рабочий день инженера облачных сервисов

Представим себе Диму — он работает инженером облачных сервисов уже пару лет.

Его утро начинается с проверки тикетов от клиентов — они ни в коем случае не должны подумать, что о них забыли. После этого Дима открывает Jira и работает со своими задачами.

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

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

Сразу после планерки Дима готовит конфигурацию к выкатке — ему еще нужно получить подтверждение от нескольких человек. Он описывает все изменения, отправляет «чендж» на согласование.

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

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

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

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

Хард-скиллы

Инженер облачных сервисов – это человек с высшим техническим образованием; возможно, он уже работал в технической поддержке хостинга или оператора связи. Какие скиллы ему нужны?

  • Уметь в Linux. No comments.
  • Знать разницу между TCP, IP и TCP/IP. Знать, как работают протоколы HTTP(S) и DNS.
  • Круто, если он умеет настраивать Nginx. Сейчас он используется практически в любом веб-сервисе.
  • Очень круто, если есть опыт работы со стримингом видео (ffmpeg, Wowza).
  • Плюc в карму, если он понимает, как работают системы управления конфигурацией типа Chef/Puppet/Salt/Ansible.
  • Знать Python на уровне «дернуть пару ручек REST API и обработать полученные данные».

Софт-скиллы

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

Что тут нужно уметь:

  • Уметь работать в команде. Часто к разработчикам применяют меньшие требования в этом плане: можешь быть индивидуалистом-одиночкой или гением-интровертом, но если доставляешь код, то ты молодец. Возможно, что это обоснованно в текущих реалиях, когда разработчики в большом дефиците. Работа же инженера во многом подразумевает обмен опытом и взаимовыручку: он больше обращается за помощью к коллегам и сам охотно делится информацией, т.к. время ограничено SLA, а сервис должен работать.
  • Адекватно коммуницировать с клиентом – тут нужны умение проявлять эмпатию, а также объяснять, а иногда и отстаивать свою точку зрения, ясно и грамотно изъясняться.
  • Он должен быть незашоренным. К сожалению, среди технарей часто встречается явление «есть два мнения — неправильное и мое», а это неизменно сказывается на открытости как новым технологиям и подходам, так и любому отличному от твоего собственного видению.
  • Базовая осознанность. Умение принимать решения и нести за них ответственность.
  • Ну и наконец, инженер всегда ориентирован результат. Этот человек заботится о доставке клиенту конечного продукта – работающего без сбоя сервиса. Ведь всегда приятно видеть, что твоя работа приносит пользу людям.

Ваш звонок очень важен для нас

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

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

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

Таким образом, люди вовлечены, им интересно работать над более разнообразными задачами, а клиент знает, что ему отвечает квалифицированный инженер, способный решить любую проблему и сделать это быстро, а не просто переводить его в очередное «окно».

Как мы набираем таких людей

Любой желающий работать в нашей компании на позиции инженера должен сперва пройти небольшой тест, который включает в себя несколько заданий на знание Linux, сети и т.п.

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

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

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

Как стать инженером облачных сервисов

  • Окончить технический вуз. Здесь вопрос даже не в конкретной учебной программе или преподавателях, а в правильной среде и возможности получить нужные знания, поучаствовать в различных проектах, не имея при этом опыта. Именно ради этого стоит идти учиться, а не ради хороших оценок.
  • Пройти базовый курс программирования на Python.
  • Неплохо бы найти или создать свой небольшой сайд-проект и постепенно его развивать. Хорошо, если он будет помогать решать какие-нибудь реальные проблемы.
  • Заниматься самообразованием. Сейчас очень много курсов и материалов по любым тематикам.
  • Стараться всего докапываться до сути вещей, подтверждать свои знания на практике.

В кого можно вырасти

Преимущество инженера в его кругозоре. При достаточном опыте работы он обладает знаниями администратора/DevOps’а, умеет кодить как минимум на уровне хорошего джуна, а большой опыт работы с различными приложениями позволяет ему разбираться в архитектуре различных сложных систем. Такой инженер мыслит не как обычный разработчик – он способен видеть целиком всю картину, понимать, как работают компоненты сервиса и как его можно улучшить.

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

Таким образом он может вырасти в хорошего разработчика, DevOps’а, архитектора или руководителя.

***

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

 

Узнайте своё место в индустрии разработки — пройдите опрос и получите результаты бесплатно