Мы в компании 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 в архитектурных задачах?
- Обо всем этом и не только слушайте в полной версии подкаста на всех доступных платформах:
- Яндекс Музыка
- Apple Подкасты
- Google Подкасты
- Castbox
- PocketCasts
- Overcast
- Castro