Все статьи | Карьера

Гид по профессии архитектор: чем они занимаются, где учатся и сколько зарабатывают

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

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

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

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

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

Если клиенту нужно разработать приложение, то архитектор должен знать точно, каким образом это можно сделать, не наступив на все существующие грабли.

Обязанности архитектора

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

Гид по профессии тестировщик:

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

Мы проанализировали существующие вакансии в сфере IT-архитектуры и отдельно вынесли ключевые требования работодателей к кандидатам:

  • Опыт работы Solution-архитектором;
  • Опыт работы Senior-разработчиком не менее 3 лет;
  • Опыт в WEB-разработке не менее 3 лет;
  • Знание архитектурных паттернов: SOA, микросервисная архитектура, гексагональная архитектура, многослойная архитектура.
  • Понимание устройства IT-системы: ключевые сервисы, их домен, принципы работы, связи между сервисами.
  • Умение находить общий язык как с техническими специалистами, так и с заказчиками со стороны бизнеса. Навыки понимания сути бизнес-проблемы, аргументированного донесения своих предложений до участников команды, возможности защиты своих проектов.

Эксперты — о работе архитектора и необходимых навыках

Мы попросили архитекторов и разработчиков рассказать, чем они занимаются на работе, какие им нужны навыки и какие они используют инструменты.

Александр Казаченко, руководитель разработки кредитных продуктов для бизнеса, «Тинькофф»: «Если программист делает чуть больше, чем от него требуется — он может постепенно расти в архитектора»

— Чем работа архитектора отличается от работы обычного программиста? Чем вообще занимается архитектор в IT-компании?

Чтобы ответить на этот вопрос, нужно понимать, какие вообще бывают архитекторы и разработчики. По разработчикам все понятно: junior, middle, senior.

Архитекторов я разделяю на solution architect и enterprise architect. Это очень глубокая тема и можно на её основе писать целые книги. Прокомментирую от себя так:

Enterprise architect — разрабатывает дизайн взаимодействия систем и их эксплуатацию на глобальном уровне. Вообще эта роль мало распространена, так как необходимость в ней появляется только в случае больших масштабов.

Solution architect — отвечает за координацию работы разработчиков, он выбирает фреймворки и другие инструменты, контролирует работу с техническим долгом. При этом, он является «играющим тренером» и какую-то часть времени пишет код.

Тут мы видим, что solution architect очень похож на senior-разработчика — и это правда. В нашей компании остро поднимался вопрос: а зачем вам архитекторы? Почему senior не могут выполнять эту работу? К единому мнению мы не пришли, но для себя я вынес следующее:

  • Разработчики на 100% сфокусированы на разработке, и если они буду часто переключаться на другие вопросы — описание схем взаимодействия, принятие решений о выборе технологий и так далее, то это будет неэффективно.
  • Роль solution architect подразумевает много коммуникаций, что обязывает иметь сильные soft-skills. Senior-developer не всегда в этом силен.
  • Для принятия качественных решений нужно обладать некоторым опытом и знаниями систем. Опять таки, senior-developer не всегда может знать, что есть за пределами его приложения.

— Как долго нужно работать программистом, чтобы дойти до сферы архитектуры? Как становятся архитектором в команде?

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

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

Сколько на это нужно времени? Не знаю, все индивидуально.

— Есть ли жизнь после архитектуры? Куда расти архитектору?

Вариантов развития очень много.

Можно расти вширь: стать уверенным разработчиком фронтенда, бэкенда, мобилы. Или, например, развивать инженерные практики: автотестирование, SRE, администрирование. Кроме того, архитектор может расти в менеджмент, например, стать CTO.

Можно вообще уйти из IT и начать разрабатывать электронику — мне кажется, что навыки, приобретенные на позиции архитектора, будут полезны.

— Как архитекторы занимаются тайм-менеджментом и все успевают? Как происходит этот процесс?

Есть много инструментов:

  • Календарь
  • Заметки
  • Reminder в Slack
  • Делегирование
  • Регулярные архком митинги
  • PlantUML-диаграммы
  • И многое другое

Можно взять любой курс по тайм-менеджменту — и он наверняка вам подойдет.

Какие технологии должен знать архитектор?

Зависит от предметной области и стэка, но, в среднем по больнице, архитектор должен хорошо понимать:

  1. Что такое компьютер и как он работает. К сожалению, я встречал разработчиков, которые годами программируют, но при этом плохо понимают, как работает оперативная память.
  2. Сетевые протоколы передачи данных.
  3. Паттерны и принципы проектирования — это очень обширная тема, которая включает в себя очень много информации.
  4. Документирование решений.

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

Александр Бындю, IT-архитектор, Byndyusoft: «IT-архитектура рождается исключительно из бизнеса, у неё нет других источников»

— Чем работа архитектора отличается от работы обычного программиста? Чем вообще занимается архитектор в IT-компании?

Профессию IT-архитектора можно разделить на три основных: enterprise architect, solution architect, technical architect. У каждого есть свои задачи:

  • enterprise architect — принимает решения на уровне компании, участвует в выборе стратегии развития.
  • solution architect – отвечает за конкретный домен в компании, например, логистику. От enterprise architect берёт понимание, как двигаются другие домены.
  • technical architect — работает над конкретным продуктом домена, например, калькулятор доставки. Он ближе других к земле, но ему надо знать, куда движется домен и компания в целом, это понимание он берёт от двух предыдущих типов архитекторов.

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

Чем занимает IT-архитектор? Я вижу у него две задачи:

  1. Сделать так, чтобы разработчики как можно меньше читали код. Для этого нужно выбрать такие метафоры и абстракции для системы, так всё разложить по полочкам, чтобы разработчики поняли, что и где лежит, при этом не мучаясь, копая исходники.
  2. Подружить бизнес-требования с техническими возможностями. IT-архитектура рождается исключительно из бизнеса, у неё нет других источников. IT-архитектор — это тот, кто может бизнес-потребности перенести на конкретное решение, найти баланс между универсальностью решения и скоростью реализации, принять долгосрочный техдолг, если необходимо.

— Как долго нужно работать программистом, чтобы дойти до сферы архитектуры? Как становятся архитектором в команде?

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

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

— Есть ли жизнь после архитектуры? Куда расти архитектору?

IT-архитектор — не татуировка. Можно идти, куда душа пожелает. Можно пойти управлять продуктом, можно вернуться в разработчики, можно пойти в бизнес-анализ или в консультанты. Ограничений нет.

— Как архитекторы занимаются тайм-менеджментом и все успевают? Как происходит этот процесс?

Так же, как и все остальные: техники пустого инбокса и всё, чему учат Архангельский и Дорофеев. В крупной компании архитектор ведет 5-6 проектов одновременно, но нагрузка по мере развития проекта неравномерная. Обычно загрузка большая вначале и уменьшается к концу, поэтому можно удержать в голове сразу несколько проектов.

— Какие технологии должен знать архитектор?

Чем больше он знает, тем больше нюансов может учесть. Желательно, неплохо разбираться в программировании, железе, безопасности, базах данных, ML и разных архитектурах, конечно. Из навыков управления — надо хорошо понимать, как строится управление командами, продуктами и рисками.

— Какие инструменты используют архитекторы?

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

Сколько зарабатывают IT-архитекторы

По данным сервиса HH, осенью 2020 года на рынке есть около 100 вакансий IT-архитекторов в разных регионах России. Среди компаний, которые ищут к себе в команду архитекторов — Skyeng, МТС, «Газпромбанк», Hoff, Иннополис, Банк «Открытие», «Райффайзен», «УралСибТрейд» и другие. На HH зарплаты архитекторов начинаются с 90 000 рублей, при этом некоторые компании предлагают зарплаты от 300 000 рублей в месяц.

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

Где учиться архитектуре

На Хекслете сейчас нет профессии архитектор, однако у нас есть несколько курсов, которые помогут будущим архитекторам получить хотя бы часть необходимых знаний.

Кроме того, мы советуем прочитать книгу «Код. Тайный язык информатики», посмотреть вебинар «Архитектура и дизайн ПО, паттерны в ФП» с Александром Граниным на нашем YouTube-канале, интервью с Александром Казаченко, архитектором Tinkoff.ru, лекцию «Организация бизнес-логики: вебинар для разработчиков» с главой Хекслета Кириллом Мокевниным.

Аватар пользователя Святослав Иванов
Святослав Иванов 11 ноября 2020