Читать: 15 мин

Подкаст «Гости из IT»: все, что вы хотели знать об архитекторе ПО

Подкаст «Гости из IT»: все, что вы хотели знать об архитекторе ПО

Мы в компании Friflex запустили подкаст «Гости из IT». Вместе с ведущим Антоном Комоловым и экспертами из разных областей IT разбираемся в технологиях и изучаем, как они меняют нашу жизнь и работу.
Сегодня делимся мыслями о профессии архитектора программного обеспечения: чем он занимается, какие инструменты использует и нужно ли ему уметь писать код.
Рассуждают Петр Щербаков, ведущий архитектор решений X5Tech, и Михаил Майоров, технический директор маркетплейса услуг YouDo.


Чем занимается архитектор ПО

Петр Щербаков: У заказчика есть время, требования к качеству продукта и деньги. Ему нужно сбалансировать эти три пункта. Архитектор программного обеспечения предлагает, как этого баланса достичь.

Архитектор ПО много общается с представителями бизнеса и техническими специалистами. Он проектирует решение для клиента с учетом всех его требований, условий и технологического стека. Отвечает за технические компетенции разработчиков: контролирует, помогает, обучает. Сам изучает новые технологии и инструменты.

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

Следующий шаг — менторство. Если я могу объяснить свою архитектуру команде, значит, я ее действительно понимаю. А не скопировал у кого-то.

Михаил Майоров: В некоторых компаниях архитектор ПО — не один человек, а роль, которую выполняют несколько специалистов. Частично архитектурой занимаются технические директора, частично — техлиды. В некоторых компаниях принято, чтобы обычные разработчики брали на себя задачи по проектированию.

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

Какие бывают архитекторы ПО

Петр Щербаков: Их семь: business (бизнес-архитектор), enterprise (корпоративный архитектор), solution (архитектор решений), software (функциональный или системный архитектор), data (архитектор данных), infrastructure (архитектор инфраструктуры) и cloud (архитектор облачных решений). У каждого своя зона ответственности.

Business-архитектор отвечает за бизнес. Enterprise-архитектор — за стратегическое планирование и верхний уровень ландшафта компании. Solution-архитектор занимается разработкой отдельных решений.

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

Архитектор ПО должен уметь писать код?

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

Петр Щербаков: Да, без знания языков программирования сложно. Но есть много примеров, когда в архитекторы ПО приходят люди из системного анализа, знающие SQL.

SQL — это язык запросов, который применяют для работы с базами данных.

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

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

Какие инструменты есть у архитектора ПО?

Петр Щербаков: Основной инструмент для архитектора ПО — это любой визуальный или текстовый редактор. Архитектуру необязательно рисовать картинками, ее можно написать словами.

У нас есть один самый большой фреймворк — The open group architecture framework. Этот документ — фреймворк не только архитектуры, но и компании в рамках архитектуры. В нем описано множество слоев, зависящих от требований.

Также есть новый стандарт The Open Group — Open Agile Architecture. C4 model — методология, популярная в последние пять-шесть лет. Она больше подходит для solution и software-архитектуры.

Чем архитектор ПО отличается от техлида и технического директора? Что выбрать — монолит или микросервис? Как помогает ChatGPT в архитектурных задачах?

Поделиться:

Logo

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

01  
 
panda
Есть идея? Напишите нам! Заполнить бриф