Большой проект без архитектора не построишь, он — связующее звено между технической командой и будущим самого проекта. Основная задача архитектора — подсказать, как сделать проект актуальным, современным и просто поддерживаемым на ближайшее и отдаленное будущее.
Архитектор решает сложные задачи, поэтому несет огромную ответственность, ошибки архитектора обходятся крайне дорого и могут загубить проект, когда проще выбросить, чем чинить. Хотим обратить внимание, что архитектор должен быть не просто умен и опытен в своей профессиональной сфере, чтобы построить жизнеспособную программу, также он должен обладать некой труднообъяснимой способностью предвидеть, на какой технологии стоит делать эту программу, чтобы она не стала неактуальной через несколько лет. Что это за человек такой — читайте в нашей статье.
Что такое архитектура
Чтобы понимать, какие задачи решает архитектор и с чем он сталкивается в своей ежедневной работе, давайте рассмотрим, что же такое архитектура в сфере разработки ПО.
Архитектура системы — принципиальная организация системы, отраженная в ее элементах, взаимодействии между ними и со средой, в которой они находятся. Архитектура бывает нескольких уровней.
- Enterprise Architecture — глобальные задачи бизнеса, архитектура производства.
- Solution Architecture — архитектура решений, взаимодействие между модулями (могут быть написаны на разных языках).
- Software (technical) Architecture — взаимодействие функций и классов, решение инженерных задач.
- Infrastructure Architecture — серверная часть системы.
Можно совсем кратко описать разницу в работе четырех архитекторов:
- EA – что делать.
- SA – как делать.
- TA – как поддерживать.
- IA — где будет храниться и разворачиваться.
Solution Architect
Мы будем рассматривать сегодня работу solution architect.
Обязанности:
- уточнение требований к проекту, коммуникация с заказчиком, чтобы понять бизнес клиента, его особенности и ограничения;
- технологическое исследование и прототипирование — разработка небольших частей системы, чтобы убедиться, что система жизнеспособна;
- архитектура конечного продукта — разработка и документирование высокоуровневой архитектуры проекта с последующим согласованием с клиентом;
- общий контекст — солюшн архитектор смотрит на проект «сверху» и координирует работу всех команд.
Кроме того, есть еще несколько задач, которые придется решать solution architect, особенно если он пришел на проект уже после его запуска:
- проведение оценки системы;
- анализ технологической среды;
- определение процедуры и процесса для обеспечения доставки решения;
- соблюдение стратегических ориентиров;
- контроль за разработкой.
Присутствие на проекте solution architect значительно снижает риски проекта и дает дополнительные гарантии, что разрабатываемый продукт будет эффективно решать проблемы бизнеса.
Как стать solution architect?
Это следующая ступень роста для senior разработчиков или tech lead, которые хотят развиваться как инженеры. Обычно такие специалисты уже имеют глубокое знание хотя бы одного технологического стека. Они вовлечены в низкоуровневый дизайн компонентов системы и понимают, что вывод в продакшн и эксплуатация системы требуют намного больше, чем просто написание кода. Получается, что техлиды и архитекторы плотно взаимодействуют, но архитектор решает более высокоуровневые задачи: взаимодействие проектов, определение стандартов и подходов к разработке, а техлид уточняет это для своего проекта. Если в компании немного или даже один проект, то роль solution architect может быть избыточна, вполне справится и техлид.
Чтобы претендовать на должность solution architect, нужно постоянно расширять профессиональный кругозор, вникать в бизнес и менеджмент, развивать коммуникативные, презентационные и переговорные навыки, изучить базовые практики (основные подходы) в архитектуре ПО. Можно пройти курсы по подготовке архитекторов или найти ментора — опытного архитектора и советоваться с ним.
Давайте рассмотрим вакансии на позицию solution architect в карусели. Видим, что работодатели готовы готовы рассматривать специалистов с релевантным образованием и опытом работы в IT от 7 лет. По данным https://salaries.dev.by/, за 2020 год медианная зарплата solution architect — $4400, вилка — от $400 до $8000.
На занятиях в школе HRPR мы расскажем про иерархию должностей в IT!
Чтобы вы знали, кого и как искать, как и к кому обращаться за помощью.