Мы используем cookie-файлы. Оставаясь на сайте роботов, человек соглашается на использование cookie-файлов.
Подробнее — в «Условиях использования cookie-файлов».

Архитектор ПО: зачем он нужен и в чём его проклятие

Гость нового выпуска подкаста «Сушите вёсла» — архитектор программного обеспечения Егор Тафланиди. Обсуждаем, что это за метафизическая роль такая, какие сложности есть в работе и при чём тут тёмные силы.

Артём Кулаков и Рома Чорыев — разработчики Redmadrobot. Они записывают ламповые подкасты, где вместе с гостями обсуждают разные стороны создания ИТ-продуктов. Ниже ссылка на новый выпуск и ответы на несколько насущных вопросов.

Аудио

Тайминг

  • 01:40 — Егор рассказывает, как стал архитектором.
  • 12:40 — Популярные мифы: архитектор — высшая ступень развития разработчика; архитектор знает всё лучше всех и больше всех; архитектор не пишет код (потому что забыл, как это делать); архитектор сидит и рисует какие-то схемы.
  • 31:20 — Рассуждения о современных языках программирования.
  • 39:10 — System, Solution, etc Architect. Что это вообще всё значит?
  • 47:50 — Обсуждение того самого «проклятия».
  • 50:24 — Как стать архитектором (warning: немного шуток).
  • 55:16 — Time management: один рабочий день архитектора — что он делает?
  • 01:03:39 — Какие есть сложности в работе и как их преодолеть.
  • 01:13:49 — А что дальше: какие есть векторы развития.
  • 01:26:59 — Ответ на вопрос: какой же true way для архитектора?

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

Архитектор — специалист, который занимается построением ИТ-систем для решения бизнес-задач. Он хорошо разбирается во всех нюансах проектирования систем.

Если нужно разработать, например, приложение, архитектор расскажет, как это сделать, не наступив на грабли. Объяснит, какие технологии использовать, с какими проблемами можно столкнуться, и заложит фундамент для развития проекта.

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

Архитектор должен разбираться во всём

В разговоре выяснилось, что это выходит само собой. Архитектор задействован в разных ситуациях: он общается с заказчиком, решает инженерные проблемы и даже участвует в планировании проекта. Хочешь не хочешь, а в бизнес углубляешься и менеджерский навык качаешь. Егор объясняет:

Вся сущность сводится к двум вещам: архитектор должен решать задачи бизнеса и он должен уводить систему от ограничений.

Если ты знаешь, что в системе нет физической возможности реализовать те или иные вещи, но есть бизнес-потребность, то твоя задача — придумать как и состыковать всё воедино. Можно сказать: сделать так, чтобы и овцы были целы, и волки сыты.

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

Архитектор — это больше про ширину, чем про глубину. Например, тебе необязательно уметь в Android работать с рефлексией и с какими-то низкоуровневыми вещами, но важно понимать, как всё это работает в целом.

Пишет ли архитектор код

Если коротко: некоторые архитекторы кодят. Подробнее об этом — в пятиминутном рассуждении в подкасте, начиная с 22:25. Спойлер: там про идеальный код, проблемы перфекциониста и бизнес-требования.

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

Опираясь на свой опыт, ребята рассказали, что просто перейти из разработчиков в архитекторы не получится. Сначала должна появиться необходимость в этой позиции. Только потом на неё подбирают человека из команды или зовут специалиста со стороны.

У нас было так: компания развивалась, росло количество людей и проектов. Качество нужно было поддерживать, поэтому настал момент, когда появилась свободная «ниша ответственности».

Архитектор — высшая ступень разработчика

В студии согласились с тем, что это определённо веха в развитии разработчика. Но не стоит воспринимать архитектора, как улучшенную версию senior-разработчика.

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

А что за «проклятие»?

Так объясняет этот феномен Егор:

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

Он рассказал, что специалист, занявший должность, вряд ли сможет заняться чем-то другим в дальнейшем (в рамках компании).

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

Слушайте подкаст на удобной платформе: Soundcloud, Apple, Google Podcasts.

Полезные ссылки

Важные статьи, видео и книги для тех, кто хочет трансформироваться в архитектора:

Приходите обсуждать выпуск в Telegram-чат.