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

Привет, Хабр! Меня зовут Любовь Кулева, я руководитель отдела разработки и методологии Учебного центра IBS. В этой статье расскажу об актуальных навыках, необходимых современному архитектору ПО. Свой список мы взяли не с потолка и не запросили у нейросети — он появился в результате глубокого исследования требований рынка, который был проведен при разработке курса «Архитектор ПО. Путь к мастерству в проектировании систем». Мы опросили практикующих ИТ-экспертов, проанализировали более 16 000 реальных проектов IBS, оценили матрицу компетенций и запросы заказчиков, а также провели свыше 200 продуктовых интервью с B2C- и B2B-клиентами из разных отраслей, включая телеком, банкинг и ИТ-аутсорс. Семантический анализ 100+ вакансий крупных ИТ-компаний и собранных CustDev-отзывов сделали с использованием языковой модели GPT-4o, а затем вручную составили карту компетенций, которая затем легла в основу программы профессиональной переподготовки.

Архитектор программного обеспечения — ключевой специалист в процессе разработки сложных ИТ-систем, который отвечает за проектирование архитектуры решений, выбор технологий и определение технических стандартов. Как правило, архитекторы — это вчерашние разработчики с 7–9-летним стажем, тимлиды или системные аналитики с сильной технологической базой, то есть люди, априори знающие как минимум один, а чаще несколько языков программирования. Но чтобы успешно справляться с этой ролью, недостаточно многолетнего опыта разработки — необходим широкий кругозор, развитое системное мышление, глубокие знания в области структуры данных, управления проектами и коммуникаций. ИТ-архитектор — настоящий визионер, который способен вникнуть в суть бизнеса и придумать, как создать необходимую систему с нуля, а потом убедить всех вокруг, что именно так — правильно.

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

Must-have знания и навыки для архитектора ПО

1. Архитектурные стили

Основой профессиональной подготовки архитектора является понимание подходов к построению архитектуры и знание проверенных временем моделей. База:

  • различные архитектурные стили, их характеристики и применимость под конкретные бизнес-задачи;

  • выбор между монолитными и микросервисными решениями, наиболее типовые компромиссы, какие плюсы и минусы с ними связаны;

  • принципы предметно-ориентированного проектирования (Domain-Driven Design, DDD);

  • понятия слоистой и чистой архитектуры.

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

2. Работа с требованиями

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

  • понимание бизнес-процессов в целом и методология погружения в процессы (поверхностный бизнес-анализ);

  • умение анализировать бизнес-процессы компании-заказчика и понимать их влияние на будущую архитектуру;

  • работа с бизнес-сценариями и верхнеуровневыми требованиями;

  • выделение нефункциональных требований на основе собранных функциональных требований;

  • создание контекстных диаграмм и разбиение системы на модули и микросервисы;

  • работа с архитектурными изменениями на уровне подсистем, версионирование и чейндж-менеджмент.

На Middle-/Senior-уровне дополнительно нужно уметь проводить детальную проработку и тестирование функциональных требований, выявлять скрытые требования, находить несоответствия и связанные с ними риски и при необходимости даже уметь выдвигать предложения по исправлению бизнес-процессов.

3. Создание устойчивых решений: принципы проектирования

Переходим от бизнес-целей к концепции архитектуры:

  • формализация нефункциональных требований в шаблонах атрибутов качества и их приоритизация;

  • тактики надежности, производительности, отказоустойчивости и модифицируемости;

  • базовое обеспечение безопасности системы на основе стандартных инструментов.

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

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

4. Технологии интеграции и взаимодействие микросервисов

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

  • общее понимание методов интеграции между приложениями, включая работу с базами данных и файлами, удаленный вызов и брокеров;

  • синхронное взаимодействие и REST;

  • проектирование REST API и асинхронный обмен данными;

  • технологии интеграции: HTTP(s), HTTP/2, gRPC, WebSocket, REST, OpenAPI, RabbitMQ/ActiveMQ, Kafka;

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

На более глубоком уровне можно погрузиться в особенности конкретных продуктов интеграции, вникнуть в подходы Service Mesh и Data Mesh, узнать о паттернах для интеграции приложений предприятия (Enterprise Integration Patterns, EIP) и научиться гибкому применению шаблонов устойчивости.

5. Технологии хранения и управления информацией

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

  • общее понимание систем хранения данных, различия между реляционными и нереляционными базами;

  • какие блокировки могут происходить во всей таблице или ее частях;

  • проектирование моделей данных и отрисовка ER-диаграмм.

Как правило, начинающие архитекторы не принимают решение о выборе конкретного инструмента, а полагаются на принципы корпоративной архитектуры, а вот Middle-специалисты уже должны быть уверены, какое решение подойдет лучше всего, исходя из требований, стоимости и контекста проекта. В случае с SQL это, вероятно, будет PostgreSQL или MySQL, Oracle SQL под вопросом из-за платной лицензии, либо ClickHouse, который поддерживает SQL, но все же сильно отличается от классических реляционных баз, в случае с NoSQL — скорее всего, Redis, MongoDB или Apache Cassandra. Чтобы сделать правильный выбор, необходимо четко понимать отличия между разными базами данных, включая объектные и графовые, и знать про особенности лицензирования. Также мидлам стоит углубиться во внутреннее устройство баз, вопросы производительности, индексы, репликацию, шардирование, изоляцию транзакций, восстановление и другие аспекты работы с данными.

В свете текущего обновления законодательства отдельно стоит погрузиться в тему хранения и шифрования персональных данных, рисков безопасности системы и OWASP-уязвимостей веб-приложений. Middle-специалисты должны разбираться в таких принципах безопасности, как разделение обязанностей (Segregation of Duties, SoD), глубинная оборона (Defence in Depth), принцип четырех глаз и принцип минимальных привилегий. В связи с этим нужно знать целый ряд технологий, включая:

  • SSO / JWT / OAuth 2.0 / OpenID Connect;

  • 2FA / MFA;

  • SSL / TLS / mTLS;

  • RBAC / ABAC / ACL.

6. Системная архитектура: дизайн и оптимизация инфраструктуры

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

  • общее понимание топологии инфраструктуры, чтобы уметь прочитать и понять, как она повлияет на разрабатываемую систему;

  • основные характеристики серверов: RAM, CPU, Disk;

  • администрирование Linux и отличия этой операционной системы от Windows;

  • основы DevOps, CI/CD-процессы и средства организации мониторинга системы на уровне ресурсов и бизнес-процессов;

  • вопросы виртуализации, контейнеризации и сетевых протоколов;

  • анализ достижимости целевой архитектуры, оценка рисков, трудозатрат, лицензий и сайзинг оборудования.

Сеньорам нужно знать все те же вещи, но уже на уровне работы с конкретными решениями, а не общего понимания. Например:

  • главный инструмент для контейнеризации — Docker, а для оркестровки контейнеризированных приложений — Kubernetes;

  • ключевые технологии при выстраивании CI/CD-процессов — Jenkins, GitLab и Ansible;

  • для мониторинга и сбора логов обычно используются ELK, Prometheus, Grafana, Zabbix или Nagios;

  • для виртуализации — OpenStack и VMware;

  • надежность можно оценить с помощью метрик SLA, SLO, SLI, RPO, RTO, Uptime или Downtime.

В «облаках» тоже важно разбираться на уровне конкретных провайдеров и понимать разницу между ключевыми облачными платформами, такими как AWS, Azure и Google Cloud, а также «Яндекс.Облако» и VK Cloud.

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

7. Документирование архитектурных решений

Архитектурные идеи должны быть доступны и понятны всем участникам проекта, поэтому документирование становится неотъемлемой частью работы архитектора:

  • знание хотя бы одного формата документирования архитектурных решений;

  • создание разнообразных диаграмм и описание бизнес-процессов с использованием популярных нотаций UML, C4 и 4+1;

  • работа с BPMN-диаграммами для интеграции и последовательности;

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

Middle-архитекторы дополнительно должны уметь строить метамодели и работать с записями архитектурных решений (Architectural Decision Records, ADR).

8. Гибкие и бизнес-навыки

Технические знания — лишь часть профессии архитектора. Умение взаимодействовать с людьми и сохранять фокус на цели делает специалиста по-настоящему эффективным. Важно:

  • аналитическое мышление;

  • способность принимать решения и брать на себя ответственность за результат;

  • личная эффективность и навык управления временем;

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

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

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

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

Подборка материалов для самостоятельного изучения

Для архитектора ПО крайне важна постоянная прокачка теоретической базы. Наши эксперты рекомендуют такой список.

Книги:

  • Design it!, Michael Keeling — работа с требованиями и архитектурные практики  

  • Release it! 2nd Edition, Michael Nygard — шаблоны стабильности  

  • Clean Code, Robert Martin — общие правила оформления и создания кода 

  • Clean Architecture, Robert Martin— общие правила оформления и создания архитектуры  

  • Designing Data-Intensive Application, Martin Kleppmann — работа с данными, идеи стоящие за реализацией хранилищ данных

  • Software Architecture in Practice, 4th edition — архитектурные практики, шаблоны обеспечения атрибутов качества  

  • Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures 

  • Team Topologies: Organizing Business and Technology Teams for Fast Flow — организация команд, закон Конвея 

  • Договориться не проблема, Крисс Восс  

  • Analysis Patterns, Martin Fowler — концептуальные модели архитектуры и метамодели бизнес-процессов 

  • Design Patterns, GoF

Статьи:  

Заключение, или Думай как архитектор

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

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

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

Комментарии (3)


  1. ZvoogHub
    16.07.2025 07:16

    "дорожная" это то что берут с собой в дорогу. Дорожная сумка, дорожные шахматы, дорожная карта.

    Перевод Roadmap по смыслу это "карта пути".


    1. D_Dementy
      16.07.2025 07:16

      ох.... а "magzine", это не "магазин", а место куда ходят за покупками? а "шторм мозга" тоже норм?


  1. Hivemaster
    16.07.2025 07:16