Разработка IT-проекта, например приложения, — это массивный процесс, состоящий из множества аспектов. Без общего плана, некой архитектуры, либо итоговый результат выйдет неутешительным, либо релиз вообще не состоится. Так что неудивительно, что архитектор ПО считается одной из ключевых фигур как в разработке, так и в налаживании связей с клиентами.
Профессия «архитектор программного обеспечения» довольно сложная и емкая, а судя по разговорам в интернете, ее трудно понять человеку, далекому от разработки. Чтобы исправить это недоразумение, мы (авторы сайта Professii-Online) подготовили обзор профессии, попытавшись рассказать обо всем интересном простыми словами с примерами.
В статье написано, что делает специалист, как работает, сколько зарабатывает, где ищет работу, как стать и где учиться на архитектора программного обеспечения. Надеемся, чтиво будет как полезным, так и интересным для вас, дорогие читатели!
Иногда профессию называют software architect, IT-архитектор или architect software developer.
- Кто такой архитектор ПО
- Отличия техлида от архитектора ПО
- Плюсы и минусы профессии
- Работа архитектором ПО
- Требования и обязанности архитектора ПО
- Зарплата архитектора ПО
- Зарплата в США
- Востребованность архитектора ПО
- Где найти работу архитектору программного обеспечения
- Как стать архитектором ПО
- Обучение на архитектора программного обеспечения
- Вузы
- Курсы
- Самообучение
- Полезные ссылки
- Видео по теме
Кто такой архитектор ПО
Прежде чем объяснять, кто такой и чем занимается архитектор ПО, расскажем, что такое архитектура программного обеспечения.
Архитектура ПО — это совокупность важнейших решений, касающихся организации программной системы проекта (допустим, приложения).
Архитектура состоит из трех главных составляющих:
- выбор структурных элементов и их интерфейсов, с помощью которых составляется система;
- соединение выбранных структурных элементов в более крупные системы;
- выбор архитектурного стиля, который направляет всю организацию системы (элементы и интерфейсы программы, их взаимодействие между собой).
Под программным обеспечением чаще всего подразумевается приложение, поэтому система — это именно система приложения и процесса его разработки. То же самое относится к элементам структуры, интерфейсам и прочим деталям.
Архитектор ПО проектирует архитектуру программного обеспечения, принимая ключевые решения, касающиеся внутреннего устройства системы и технических интерфейсов.
Говоря проще, данный специалист занимается постановкой процессов на проекте, определяя все технические нюансы. Например, какими инструментами будет выполняться задача, какой язык программирования будет использоваться, как будут храниться и передаваться данные в приложении.
Из-за того что профессия только развивается в России, ее редко разделяют на направления. На западе же деятельность делят на 3 вида:
- Solution Architect. Архитектор решений, который должен понять, как устроена и будет работать система. Специалист описывает, как должны решаться те или иные задачи/проблемы.
- System Architect. Архитектор системы, который создает IT-инфраструктуру, подготавливая ее к требованиям, сформированным приложением. От специалиста зависит, как будет выглядеть программная система и на что будет способна.
- Enterprise Architect. Архитектор-предприниматель, объединяющий плоды работы системного архитектора и архитектора решений. Благодаря ему инфраструктура и ПО не просто хорошо функционируют: между ними налажена взаимосвязь, что положительно сказывается на проекте.
Отличия техлида от архитектора ПО
Техлид — это опытный инженер программного обеспечения, который является лидером в команде разработки, совершенствует практики работы и находит наилучшие решения для выполнения задач.
Вот что делает techlead (краткий и сжатый список):
- берет ответственность за внедрение новых методов разработки;
- определяет технологии для задач и проектов;
- выстраивает технические процессы;
- определяет технологическую стратегию развития;
- отвечает за качество продукта на релизе;
- реализует продукт;
- развивает технические навыки команды разработки;
- занимается решением сложных задач, которые не под силу другим инженерам.
В России техлид скорее является ролью, а не должностью, но это временно.
Грубо говоря, архитектор ПО является усовершенствованным техлидом. Основные отличия в том, что архитектор намного лучше разбирается в оформлении документации, а также может говорить с клиентами на понятном для них языке. Если техлид знает, как решить клиентскую проблему с технической стороны, то архитектор ПО вдобавок понимает, как ее решить со стороны бизнеса.
Архитектор программного обеспечения принимает глобальные архитектурные решения, которые затрагивают несколько систем; занимается вопросами безопасности и производительности. Техлид тоже может взять на себя эти задачи, но ввиду более широких полномочий и навыков архитектор справится с перечисленным лучше.
Плюсы и минусы профессии
Мы разобрали профессию архитектора ПО на достоинства и недостатки. Пункты из обоих списков помогут составить мнение о деятельности без необходимости погружаться в нее.
Плюсы:
- высокий уровень заработной платы;
- роль важного, даже ключевого специалиста на проекте;
- имея опыт работы архитектором ПО, можно создать свой бизнес, например по консалтингу проектов;
- постепенно растущая востребованность на отечественном рынке труда;
- работа с любой отраслью бизнеса (плюс государственные организации).
Минусы:
- высокий порог входа в профессию, особенно для тех, кто далек от технического IT (для таких людей порог входа запредельный);
- огромная ответственность за проект;
- высокие нагрузки как в разрезе мыслительного процесса, так и на психоэмоциональном уровне;
- с некоторыми заказчиками могут возникать противоречия и разногласия из-за того, что они плохо разбираются в программном обеспечении как таковом.
Работа архитектором ПО
Архитектор программного обеспечения нужен в проектах, которые только начинаются, испытывают трудности, требуют доработок и улучшений. Опытный специалист способен диагностировать проблемные элементы и исправить их, будь то неэффективная командная работа или неправильно поставленные задачи перед конкретными разработчиками.
Также архитектор ПО может прийти в проект, который существует долго и успешно, но в нем планируется совершить значительные изменения. В таком случае специалист не только гарантирует, что все планируемое совершится, но и то, что ничего не испортится, не пойдет не так и ключевые (положительные) элементы работы/деятельности сохранятся.
Зачастую клиенты уже существующих проектов обращаются за помощью, когда возникают проблемы с производительностью, безопасностью или дальнейшим расширением функционала.
Для лучшего понимания, что делает архитектор ПО, а также чтобы погрузить в работу специалиста чуть глубже, далее описаны две фундаментальные активности специалиста по архитектуре ПО.
Farming (переводится как «фермерство» с английского языка) — это активность, направленная на развитие и всевозможное улучшение проекта. В данную составляющую работы архитектора ПО входят технические обязанности плюс поверхностная работа с командой.
Hunting (переводится как «охота» с английского языка) — это поиск новых клиентов и проектов для работы. Также данная составляющая называется консалтингом, но именно в сфере software architect.
На этапе консалтинга за проект приходится бороться и конкурировать с другими компаниями, поэтому до него допускаются лишь опытные архитекторы программного обеспечения.
В свою очередь консалтинг подразделяется на три вида:
- Pre sale. Первая встреча с потенциальным клиентом. Данный этап характеризуется множеством неопределенностей, поэтому архитектор вместе с бизнес-аналитиком четко выясняют, что нужно клиенту и как именно помочь ему наиболее эффективным способом. Уже на этом этапе архитектор ПО должен предоставить высокоуровневую архитектуру проекта, озвучить примерные сроки выполнения и дать общее понимание бизнес-проблемы. Все документируется согласно типовым договорам.
- Discovery. Этап, на котором в бизнес клиента отправляется несколько человек с целью подробного изучения проблемы и выяснения деталей проекта. По завершении изучения архитектор формирует техническую информацию с описанием найденных эффективных решений, а также с учетом технологий, языка программирования, интерфейса приложения и прочих деталей. На данном этапе согласовываются точные сроки выполнения.
- Assessment. Процесс, похожий на Discovery, но применимый к уже существующему проекту. Здесь главная задача архитектора состоит в том, чтобы оценить текущее состояние проекта и сравнить его с желаемым состоянием. Важно найти все отличия, в том числе и незначительные. По итогу работы все исследование документируется, а затем бизнесу предлагаются технические решения, которые помогут решить проблемы и достигнуть желаемого клиентом состояния проекта.
Теперь немного поговорим о том, как происходит работа. Итак, в компанию приходит заказчик: например, он хочет запустить приложение по аренде автомобилей. У заказчика уже есть бизнес-план с продуманными фундаментальными основами, поэтому, изучая его подробно и разговаривая с предпринимателем, архитектор ПО разрабатывает наилучшее решение задач для будущего проекта.
После обсуждения и договоренности начинается разработка приложения, и данный процесс полностью контролируется архитектором. Это логично, ибо именно он выбрал процессы, которые будут использоваться в разработке.
Наш пример крайне общий и сжатый, но зато должен быть понятен.
Требования и обязанности архитектора ПО
Для четкого понимания профессии мы собрали обязанности и требования, встречающиеся чаще всего в вакансиях на должность архитектора ПО. По ним можно понять, что должен знать архитектор ПО и как происходит рабочий процесс.
Обязанности:
- ответственность за программную систему в целом и за то, как она будет развиваться;
- принятие глобальных и локальных архитектурных решений;
- проработка и разработка концепции ИТ-системы с целью обеспечить ее гибкость, масштабируемость, нагрузку и безопасность;
- аудит кода;
- анализ рисков с учетом долгосрочной перспективы развития;
- создание горизонтально масштабируемых приложений;
- разработка прототипов;
- разработка структур хранения данных;
- создание интерфейсов приложений;
- проведение технических собеседований для будущих членов команды разработки;
- работа в команде.
Требования:
- не менее трех лет опыта работы в сфере IT;
- опыт в разработке и проектировании архитектуры коммерческого проекта;
- понимание основ сетевых и web-технологий (RESTful, HTTP, TCP/IP);
- знание базового тестирования;
- знание методик и стандартов паттернов проектирования;
- знание базовой контейнеризации;
- обеспечение баланса между стоимостью разработки и гибкостью решений;
- выбор обоснованных технологий и инструментов;
- контроль разработки и реализации;
- адаптация продукта;
- умение мыслить абстрактно и инновационно;
- умение выходить за рамки и шаблоны, придумывать уникальные решения.
Не стоит бояться такого количества неизвестных терминов, ведь в процессе обучения придет понимание каждого незнакомого слова 🙂
Зарплата архитектора ПО
У архитектора ПО одна из самых высоких заработных плат в отрасли IT. Причем как в России, так и на международном рынке труда. Это абсолютно справедливо, потому что у специалиста много обязанностей и на нем лежит огромная ответственность.
Если заменить программиста или инженера в середине разработки проекта можно и это не повлияет на результат, то заменить архитектора ПО на таком же этапе невозможно (технически осуществимо, но придется начать разработку заново или выпустить некачественный проект).
Мы перешли на популярный сайт для поиска работы (HeadHunter), чтобы определить, сколько получает архитектор ПО. Минимальный заработок составил от 110 000 рублей в месяц (в 70% вакансий с указанным доходом). Далее указан доход от 195 000 рублей в 67 вакансиях из 135 (49%).
Как видно, оплата труда архитектора программного обеспечения действительно высокая, и может быть даже от 450 000 рублей в месяц в России. Ссылка на страницу.
Зарплата в США
После анализа заработка на отечественном рынке труда нам стало интересно, сколько зарабатывает архитектор ПО в Америке.
Для проведения анализа сведения были взяты с трех порталов:
- indeed — $130 777 в год;
- payscale — $129 218 в год;
- ZipRecruiter — $136 358 в год.
$130 000 в год — это 7 835 750 рублей в год (по курсу на момент публикации статьи). В месяц получится 652 979 рублей. Заметно, что зарплата выше, чем в России, но сравнение проводилось не для того, чтобы показать, где лучше. Огромное значение имеет экономика страны и налогообложение, а, как известно, в США исполинские налоги и дороже почти все.
Востребованность архитектора ПО
В последние годы востребованность профессии архитектора ПО растёт. Такой эффект обусловлен увеличением требований бизнеса к IT-решениям, а также запросами на сложные системы. Особенно это относится к компаниям и государственным корпорациям, которые перешли или переходят в онлайн.
Нынешний бизнес развивается стремительно, поэтому устаревший подход с типовыми решениями не устраивает большинство компаний. Сейчас каждый бизнес старается быть уникальным и предъявляет специфические требования к программным системам и проекту в целом. Чего только стоят облачные решения, искусственный интеллект, всевозможные интеграции и т. д.
Анализ вакансий на самом популярном сайте по поиску работы (HeadHunter) показал, что в России есть 530 объявлений от работодателей по запросу «Архитектор программного обеспечения». Ссылка на страницу.
530 вакансий — это небольшой результат по всей стране, но важно учитывать некоторые аспекты.
Во-первых, по запросу «Архитектор ПО» есть 4491 вакансия, но так как большая часть из них — о строительной архитектуре, мы не стали указывать эту страницу.
Во-вторых, в России профессия только начинает развиваться и распространяться, ибо появилась в стране менее 10 лет назад. Для такой молодой и комплексной профессии результат нормальный.
Добавим, что при наличии качественных навыков и знаний специалист не останется без работы. В крайнем случае архитектор ПО может устроиться на должность techlead, project manager, software engineer (инженер ПО) или программиста по знакомому ему языку.
Где найти работу архитектору программного обеспечения
Процесс поиска работы в этой профессии происходит стандартно, ибо фриланса в ней не существует. В частности, найти вакансии можно на сайтах и в telegram-каналах.
Где искать вакансии архитектора ПО:
- Habr Карьера;
- HeadHunter;
- «Карьерист».
И каналы в Telegram:
- Job in IT&Digital;
- NEWHR;
- GetIT Russia;
- Telegram IT Job;
- RemoteIT.
В России архитекторами ПО часто становятся члены команды разработки, которые имеют соответствующий опыт, навыки и амбиции. Переход на новую должность может произойти как напрямую (специалист предложил свою кандидатуру), так и косвенно (специалист начал брать на себя больше задач и обязанностей, постепенно став software architect).
Как стать архитектором ПО
Освоить профессию IT-архитектора без технической подкованности, будучи абсолютно далеким от программирования, инженерии и подобного буквально невозможно.
В теории можно научиться какой-либо профессии, например разработке на C++, затем работать и стать middle, senior, а далее начать изучать архитектуру ПО. Но намного лучше и проще начать обучение профессии, имея опыт работы в IT-индустрии, причем желательно технический. Да и осваивать одну профессию, чтобы потом учиться второй, мягко говоря, странно и нецелесообразно.
Легче всего перейти в профессию с должности techlead. Чтобы стать архитектором ПО, техлиду достаточно освоить soft skills (навыки коммуникабельности, выстраивания отношений и прочее), научиться вести правильную документацию и подходить к решению задач со стороны бизнеса.
Так как профессия откровенно сложная и комплексная, ее стоит начать изучать, имея широкий технологический кругозор. Обязательно понимать принципы архитектуры программного обеспечения, знать паттерны и подходы работы.
Также нужны развитые коммуникативные навыки (общение с экспертами, с командой разработки, с клиентами). Несмотря на то, что профессия кажется технической, в ней много общения.
В дополнение важны аналитические навыки. Они помогут разобраться в паттернах и подходах, в предметной области и в определении грамотного взаимодействия с клиентами.
Будучи крутым и опытным специалистом, можно заниматься консультированием бизнесов. Также квалифицированный архитектор ПО сможет создать свой бизнес, и, скорее всего, он получится успешным.
Обучение на архитектора программного обеспечения
Как бы ни проходило обучение на архитектора ПО, учащийся должен быть разработчиком минимум middle-уровня либо же системным аналитиком senior-уровня. Профессия слишком сложная для изучения с нуля.
В способах обучения мы разберем вузы, курсы и самообразование.
Вузы
В высших учебных заведениях России нет программ, направленных на обучение именно профессии архитектора программного обеспечения. Тем не менее существуют схожие специалитеты, которые научат многим аспектам, относящимся к профессии.
В этом плане у студента есть выбор: пойти на образовательную программу с техническим уклоном либо туда, где научат коммуникативным навыкам. Мы советуем первый вариант, ибо самостоятельно научиться soft skills легче, чем hard skills.
Посмотреть подходящие образовательные программы и вузы можно на этой странице ПоступиОнлайн.
Примеры программ обучения, которые подойдут:
- «Прикладная математика и информатика»;
- «Инженерия программного обеспечения»;
- «Системное программное обеспечение»;
- «Распределенные информационные системы»;
- «Архитектура предприятия»;
- «Проектирование и разработка».
Курсы
Онлайн-курсы — эффективный способ обучения профессиям, ибо в них подается структурированная информация, есть много практики и обратная связь от преподавателей. Так как профессия архитектора программного обеспечения еще только развивается в России, выбор курсов скудный.
Также на небольшую выборку повлияло то, что профессия изучается не с нуля. А по статистике наибольшей популярностью пользуются курсы, которые могут научить человека с любым опытом за спиной.
Популярные курсы для архитектора ПО:
1. Профессия «Архитектор ПО» от Skillbox.
Единственный полноценный курс, посвященный именно профессии архитектора ПО. Skillbox не зря считается одной из самых популярных онлайн-школ, ибо учит буквально всему (почти).
Данный курс создан для разработчиков начиная от уровня middle, системных аналитиков уровня senior и архитекторов ПО, которые хотят прокачаться в профессии.
Студент научится планированию архитектуры, декомпозиции системы, использованию шаблонов, проектированию API, учету особенностей защиты данных, выстраиванию интеграции между системами. Последний блок обучения посвящен soft skills и развитию карьеры.
Курс длится 5 месяцев. Есть рассрочка до 12 месяцев.
Ссылка на курс и подробная информация: https://skillbox.ru/course/software-architect/.
Также можно пройти курс «Системный аналитик с нуля до middle» от «Нетологии». Он научит системному анализу, которым занимается опытный архитектор ПО при исследовании бизнесов и поиске решений, но это лишь небольшая часть обязанностей специалиста.
Мы рассказываем про данный курс, потому что с профессии системного аналитика можно начать входить в ремесло архитектора ПО. В частности, учиться на архитектора можно будучи системным аналитиком senior-уровня.
Ссылка на курс и подробная информация: https://netology.ru/programs/analytics-dwh#.
Также можно подобрать один из курсов на этой странице GeekBrains: https://gb.ru/courses/it-architecture. Здесь есть несколько программ обучения, которые касаются архитектуры ПО. Например, курсы по базам данных, сетевой инженерии, системному анализу.
Самообучение
Самообучение для архитектора ПО возможно, но проходит сложно из-за того, что профессия комплексная, а работа специалиста индивидуальна в каждой компании и с каждым проектом. Это сказывается и на количестве материалов для самообразования, которых довольно мало.
Тем не менее мы проанализировали сеть и подобрали некоторые материалы, которые должны быть полезны читателям, выбравшим путь самообразования.
Источники для самообучения на архитектора ПО:
- плейлист «Курс по архитектуре приложений. Путь архитектора решений» на канале «Эксперт по IT и организационному развитию»;
- бесплатный курс «Архитектура программного обеспечения» на Coursera (на английском, есть русские субтитры);
- интенсив по Software Architect от Skillbox;
- гайд по архитектуре приложений для Android на «Хабре»;
- книга «Чистая архитектура. Искусство разработки программного обеспечения» Роберта Мартина;
- книга «Архитектура информационных систем» М. В. Рыбалченко;
- книга «Из разработчика в архитекторы. Практический путь» Евгения Штольца;
- книга «Как стать ИТ-архитектором?» Андрея Короткова.
Полезные ссылки
Ссылки на интересные и полезные материалы, касающиеся профессии архитектора ПО:
- видео «30 глупых вопросов архитектору ПО» на канале MJC;
- большое и интересное интервью с Solution Architect на канале «АйТиБорода»;
- неплохой гид по профессии на сайте «Хекслет»;
- интересная статья про архитектуру IT от первого лица на «Хабре»;
- статья «Кто такой архитектор решений и как им стать» на proglib.
Профессия архитектора ПО престижная и высокооплачиваемая, поэтому разумно, что ее нелегко освоить и требуется соответствующий опыт работы. Эта профессия является отличным вариантом продолжения карьеры для многих специалистов из сферы IT. Возможно, и для вас в том числе?..
Обзор закончен, и мы от всей души желаем каждому читателю найти работу мечты: которая и финансово обеспечит, и будет интересна на протяжении долгих лет. Спасибо за прочтение и добро пожаловать в комментарии, если вам есть что сказать или добавить!
Видео по теме
Уважаемый посетитель, если Вы не согласны с какой-либо информацией в статье, или нашли ошибку (неточность), то перейдите пожалуйста на страницу контроля качества информации и свяжитесь с нами.