Если нужно построить здание, компания нанимает архитектора. Он придумает, как здание будет выглядеть, из чего состоять и как им будут пользоваться. В разработке тоже есть архитекторы, и делают они примерно то же самое: решают, как в целом будет работать программа и какие технологии будут использоваться.
Что делает архитектор
Задача архитектора в ИТ — продумать и принять ключевые решения по проекту:
- из каких модулей будет состоять программа;
- как они будут связаны;
- будет ли это монолит или микросервисы;
- какие языки для этого нужны;
- ООП, функциональное программирование или что-то ещё;
- как дальше масштабировать проект;
- какие технологии и решения применяются в проекте.
👉 Архитектор не лезет в код, а работает с проектом на верхнем уровне — идей, смыслов и стратегических решений. Например, одна из задач архитектора — выбрать такой набор языков и библиотек, чтобы он не устарел, пока пилится продукт, и эти языки поддерживались ещё несколько лет после выпуска проекта.
С этой точки зрения будет глупо выбрать основным языком Python 2.x, потому что официальная поддержка уже прекращена. Даже если в компании есть команда гениальных программистов именно на Python 2.x, то проект всё равно лучше делать на третьей версии.
Архитектор и программисты
Хоть сам архитектор не пишет код (или делает это в исключительных случаях), но его работа влияет на всех остальных членов команды:
- джуниоры, мидлы и сеньоры пишут код на том языке и с теми технологиями, которые выбрал архитектор;
- тимлид управляет командами в соответствии планами развития проекта, которые установил архитектор;
- тестировщики проверяют, что все заявленные возможности работают без ошибок;
- девопсы и системные администраторы настраивают рабочее окружение и сервисы, чтобы всем остальным было удобно работать над проектом.
Какие бывают архитекторы ПО
Среди архитекторов в ИТ тоже есть свои специализаци и направления.
Например, если компании нужно выбрать язык, технологии и фреймворки, чтобы написать самую быструю программу, то зовут software-архитектора. Ещё он нужен, когда в программе планируется много разных модулей и их нужно грамотно соединить друг с другом.
Если задача — интегрировать программу в другую большую систему или развивать уже готовый продукт, то здесь будет больше полезен solution-архитектор. Он прикинет все возможные варианты, просчитает их плюсы и минусы и найдёт оптимальное решение.
Отдельное направление — архитектор баз данных. Он требуется, когда в проекте планируется сложная база с кучей связей, и от того, как она будет спроектирована, зависит быстродействие и надёжность. Такие архитекторы изучают требования к данным, к их обработке и исходя из этого строят идеальную схему базы под этот конкретный проект.
Зарплата архитектора
По данным Хабр Карьеры, средняя зарплата архитектора ПО —
275 000 рублей в месяц.
Интересно, что джуниоров среди архитекторов нет — вакансии начинаются от мидла, но в основном требуются сеньоры.
Как им стать
Обычно архитекторами становятся сеньоры, которые давно и хорошо знают свою область, технологический стек и различные стандарты сборки для разных проектов. Им уже неинтересно просто программировать — у них достаточно знаний, чтобы заранее предвидеть возможные проблемы в разработке всех частей программы и сразу их учесть в решении.
Поэтому ответ на вопрос «Как стать архитектором» будет такой: изучайте свою и соседние специальности настолько хорошо, насколько это возможно, участвуйте во многих проектах и нарабатывайте опыт.
👉 Архитектор = сеньор + опыт + умение видеть картину в целом.