Баннер мобильный (1) Пройти тест

«Главное — не бояться ответственности»: кто такой архитектор ПО и чем он занимается

Разбираем основные задачи, мягкие и жесткие навыки с экспертом

Гид по профессии

24 апреля 2024

Поделиться

Скопировано
«Главное — не бояться ответственности»: кто такой архитектор ПО и чем он занимается

Содержание

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

    Как стать архитектором ПО? Зачем он нужен и какие задачи выполняет? Подробнее об этой профессии мы расспросили IT-эксперта, который занимается архитектурой ПО с 2015 года и работал техническим продакт-оунером в «Сбере», Александра Гавриленко. 

    Архитектор ПО: задачи и особенности профессии

    Архитектор должен разбираться во всем. Он — связующее звено между бизнесом и технологиями. Именно архитектор ПО определяет, как будет построен проект, учитывая потребности бизнеса и особенности технической реализации. Такой специалист должен пройти путь от junior-программиста до техлида, чтобы учитывать все особенности разработки. 

    В разработке ПО архитектор — что-то между инженером, дизайнером и проектным менеджером, который много взаимодействует с командой и заказчиком и отвечает за успех всего проекта.

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

    Александр Гавриленко,
    архитектор ПО, IT-эксперт

    Задачи архитектора ПО:

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

    Как стать архитектором ПО

    Таких специалистов не готовят в вузах, а в общероссийском классификаторе профессий и должностей архитектор ПО не значится.

    Просто перейти из программистов в архитекторы не получится. Такой специалист должен обладать обширными знаниями в области программирования. Архитектор — высшая ступень разработчика. 

    Технические навыки и знания архитектора ПО:

    • Программирование на разных языках: C, C++, Python, Go. Важно владеть хотя бы одним языком на высоком уровне и понимать принципы других, чтобы определять, на каком из них лучше реализовать различные компоненты проекта.
    • Знание популярных систем управления базами данных: MySQL, PostgreSQL, Apache Cassandra и MongoDB. Необходимо понимать, как функционирует каждая из них, чтобы выбрать наиболее подходящую для конкретного проекта. Важно учитывать тип работы (OLAP/OLTP) и требования к сохранности данных.
    • Понимание устройства компьютеров и операционных систем: iOS, Android, Microsoft Windows, Linux и MacOS. IT-архитектору важно знать, как функционируют ключевые компоненты оборудования, как программное обеспечение будет работать на разных платформах.
    • Знание о принципах работы API. Необходимо хорошо разбираться в механизмах взаимодействия программ и обмена данными между ними. 

    Чтобы программа получилась такой, какой ее хочет видеть заказчик, архитектору ПО нужно взять понемногу от профессий бизнес-аналитика, исследователя, инженера и проектного менеджера. Это про умение определять потребности, правильно подбирать команду. Также важны  способность разобраться в сложных вопросах и креативный подход к делу. 

    Знание исключительно «матчасти» перейти от разработчика к архитектору не поможет. Нужно обладать дипломатическими и аналитическими данными, которые появляются с опытом. 

    Александр Гавриленко
    Архитектор ПО, IT-эксперт

    Можно назвать мой путь в IT классическим. Информатикой увлекся еще в школе, поступил в Бауманку по олимпиаде без экзаменов. На третьем курсе пошел работать системным администратором, а с шестого пробовал себя в разработке. Мне всегда нравилось программировать, в этом русле я и развивался. В начале пути я поставил себе цель — расти как профессионал. 

    Десять лет назад пришел работать в «Сбер» senior Java-разработчиком и рос внутри компании. Главное — не бояться ответственности. Так можно многого добиться. 

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

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

    Конечно, важны и soft skills. Архитектор должен одновременно уметь отстаивать свое мнение и быть гибким. Не нужно быть категоричным, лучше выслушать все мнения, пропустить через себя и выбрать наилучшее. Важно быть авторитетом в команде, уметь договариваться и обсуждать.

    Необходимо находить общий язык с бизнесом. Доказывать, что не нужно строить космический корабль там, где достаточно лодочки. При этом сохранять взаимное уважение с заказчиком. 

    Сколько зарабатывает архитектор ПО

    Архитектор ПО — это самая высокооплачиваемая позиция среди разработчиков. Медианная зарплата специалистов этого профиля в 1,5 раза выше, чем у бэкенд- и мобильных разработчиков.

    Зарплата архитектора ПО Хабр Карьера
    Динамика зарплат разработчиков по данным «Хабр Карьеры» второе полугодие 2023 года

    Зарплатная вилка очень широкая. В разных компаниях на этой позиции предлагают от 150 000 до 500 000 рублей. Уровень заработной платы зависит от масштаба компании, ее специфики и задач специалиста. Чем больше человек зарабатывает на позиции IT-архитектора, тем больше у него обязательств и тем сложнее уволиться. 

    Если архитектор ПО — это высшая ступень разработки, то как расти дальше? 

    Есть несколько вариантов. Первый: можно стать старшим архитектором. Это еще больше ответственности и еще больше контроля. Такой специалист будет отвечать за глобальное видение IT-системы и то, как будет развиваться IT-ландшафт в компании. Второй: стать CTO (chief technology officer). То есть отвечать за технологии, за архитектуру в компании или стартапе. Грубо говоря, такой специалист становится самым главным архитектором и отвечает за все технологии в компании.

    Александр Гавриленко,
    архитектор ПО, IT-эксперт

    Архитектор ПО: плюсы и минусы профессии 

    Архитектор ПО — это очень ответственная работа. Каждый в этом найдет как минусы, так и плюсы. 

    Преимущества:

    • Интересные проекты и руководство на высоком уровне. Архитектор напрямую работает с заказчиками и первыми лицами компании, он определяет, каким будет будущее ПО. 
    • Востребованность. Этот пост могут занять только опытные и высококвалифицированные программисты. Рекрутеры по всему миру отмечают дефицит таких специалистов — тех, кто не только умеет писать код, но и способен разрабатывать архитектуру.
    • Высокая заработная плата. Зарплата IT-архитектора зачастую лишь немного превышает оклад старшего разработчика. Основная часть дохода на этой позиции обычно приходится на премии, которые выплачиваются после успешного завершения проекта.

    Недостатки:

    • Высокий уровень ответственности. Архитектор программного обеспечения играет ключевую роль в проекте. От его работы зависит успех всей команды. Это может означать стресс и переработки. Также с должности архитектора сложно уйти до окончания проекта.
    • Меньше работы руками непосредственно с проектом.

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

    Александр Гавриленко,
    архитектор ПО, IT-эксперт

    Коротко о том, кто такой архитектор ПО

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

    Скопировано
    0 комментариев
    Комментарии