Экспертиза GlobalCareer: микросервисная архитектура

Поиск разработчиков, разбирающихся в MSA (Micro Service Architecture), сейчас довольно частый запрос. Как правило они востребованы в финтех-компаниях, в интеграторах различного типа, в крупных IT-холдингах.

Из своего опыта команда GlobalCareer знает, что сделать процесс рекрутмента более эффективным в первую очередь помогает обсуждение задач, которые предстоит выполнять соискателю:

  • Вариант 1: «Нужны разработчики, знающие микросервисы, чтобы создать новое приложение». В этом случае смотрим специалистов с опытом разработки серверной логики на одном из языков программирования, обладающих опытом работы с SQL, Spring Boot, HTTP, REST/SOAP, Docker, Kubernetes, SOA, СУБД. В зависимости от масштаба проекта это могут быть соискатели уровня Middle или Senior с опытом разработки микросервисной архитектуры.
  • Вариант 2: «Требуется опытный разработчик, который сумеет разбить имеющийся монолит на несколько связанных сервисов». Эта задача сложнее: нужны специалисты уровня «архитекторов», с серьезным опытом в IT, внушительным списком hard skills, опытом управления командой разработки и опытом разбиения монолита. Таких специалистов на рынке пока не много и их зарплатные ожидания достаточно высоки, но уровень их компетенций и навыки востребованы у работодателей.

Юля Мельникова, консультант GlobalCareer, рассказывает: «Недавно мы успешно подобрали Java Expert для нашего постоянного клиента — крупного международного IT-холдинга. Список технических требований к кандидату был весьма серьёзный. К тому же соискателю нужно было обладать отличными коммуникативными навыками, чтобы стать идейным вдохновителем для команды. В процессе консалтинга мы выяснили, что ключевая задача для специалиста — написание микросервиса с нуля и построение под него инфраструктуры. Поэтому ставку делали на кандидатов с богатым опытом разработки и проектирования архитектуры, участвовавших в платформенной разработке на международных enterprise-проектах и умеющих писать микросервисы с нуля. В итоге мы нашли специалиста, полностью соответствующего запросу клиента».

Почему микросервисы так популярны

Сегодня опыт использования MSA мировыми лидерами, такими как Netflix, Uber, Google, Amazon, Spotify активно перенимают российские игроки — «МегаФон», «Альфа-Банк», «М. Видео-Эльдорадо», 2ГИС и другие. Это делает их enterprise-приложения актуальными и удобными для пользователя.

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

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

Основные вопросы для разработчика, разбирающегося в микросервисах

Отдельно как таковой разработке MSA не учат, но разработчики, которые специализируются в ней, должны обладать набором компетенций, без которых проектировать сервисы не получится. При проведении интервью с соискателями, которым предстоит работать с микрсервисной архитектурой, консультанты GlobalCareer обращают обязательное внимание на следующее:

  • Какие языки программирования используют специалист. Нет единственного языка, на котором разрабатываются микросервисы. Это может быть Java, PHP, C# и т. д. Но следует учитывать, что если кандидат будет заниматься переводом монолита на MSA, то, скорее всего, захочет сохранить часть уже имеющегося кода, следовательно, он должен владеть языком, на котором велась разработка ранее. Команда GlobalCareer чаще всего сталкивается с поиском специалистов по микросервисам, работающих на Java.
  • Есть ли навыки работы с инфраструктурой Docker, Kubernetes. Чтобы обеспечить работоспособность MSA, проводится контейнеризация, в результате которой каждый сервис упаковывается в свой контейнер или небольшую группу контейнеров. Это обеспечивает легкую масштабируемость сервисов, их изолированность друг от друга. Docker — это своеобразный контейнерный узел, который сервисы «упаковывает», а Kubernetes — платформа, которая упрощает работу с ними и автоматизирует её. Без знания этих сервисов сложно представить разработку MSA.
  • Есть ли опыт применения протоколов HTTP, REST. Для интеграции сервисов между собой чаще всего используются простые текстовые протоколы, в основе которых лежит HTTP. Это позволяет сглаживать возможную технологическую разность элементов системы. А REST-подобные протоколы являются почти стандартом. Следовательно, навыки работы с этими протоколами гарантируют кандидату быстрое встраивание в процесс решения задач.
  • Имеет ли опыт написания микросервиса с нуля или занимался оптимизацией и масштабированием уже существующих микросервисов. Если кандидат участвовал в проектах разбиения монолитной архитектуры на микросервисную, значит он хорошо понимает, какими плюсами и минусами обладает как тот, так и другой тип архитектуры, а значит, будет более эффективен как в разработке нового продукта, так и в переделке старого.
  • Занимался ли ведением проектной документации. Качество сервиса определяется ещё и тем, все ли в порядке с его документацией. Важно, чтобы она была понятна и доступна разработчикам, не только создавшим проект, но и другим специалистам, которые столкнулись с необходимостью в нём разбираться.
  • Микросервисная архитектура становится всё более популярна. А кандидаты, умеющие её проектировать, всё более востребованы. Если смотреть на список компетенций разработчика, специализирующегося на MSA, то может сложиться впечатление, что им может быть практически любой разработчик или DevOps с навыками разработки, но это не совсем так. Важен целостный набор знаний и навыков, также большую роль играет опыт соискателя. Поэтому от рекрутёров требуется максимум внимания при отсмотре резюме и собеседовании кандидатов.

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

Необходима консультация?

Оставьте заявку, и мы свяжемся с вами в ближайшее время

    Read more

    Ваша заявка успешно отправлена.

    Спасибо! Письмо с ответом будет отправлено вам на почту в ближайшее время

    Произошла ошибка.

    Пожалуйста, повторите попытку позже, или свяжитесь с нами по телефону +7 495 967-80-30