- PVSM.RU - https://www.pvsm.ru -

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

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

image

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


Тайминг
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 для архитектора?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Слушайте подкаст на удобной платформе — SoundCloud [2], Apple [3], Google Podcasts [4].

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

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

Много полезных статей и видео, которые пригодятся для перехода из разработчиков в архитекторы. [5]

Software Architecture in Practice, L.Bass — азы бытия архитектором. [6]

Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives — одна из основных книг, которая наиболее полно раскрывает принципы работы архитектора. [7]

Release It!: Design and Deploy Production-Ready Software — истории про то, как надо проектировать ПО и что бывает, когда оно спроектировано криво. [8]

Patterns of Enterprise Application Architecture — мемуары старины Мартина Фаулера о том, как надо проектировать ПО. [9]

Domain-Driven Design — Tackling Complexity in the Heart of Software E.Evans — про правильное моделирование.

Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development C. Larman — проеĸтируй @ доĸументируй, %username%.
Разработĸа требований ĸ программному обеспечению, К.Вигерс — Microsoft пишет про разработĸу требований.

Обзор паттернов проектирования. [10]

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

Автор: redmadrobot

Источник [12]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/razrabotka/341345

Ссылки в тексте:

[1] записывают: https://dry.redmadrobot.dev/

[2] SoundCloud: https://soundcloud.com/dry-rmr/proklyatie-arkhitektora

[3] Apple: https://podcasts.apple.com/ru/podcast/%D0%BF%D1%80%D0%BE%D0%BA%D0%BB%D1%8F%D1%82%D0%B8%D0%B5-%D0%B0%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D0%BE%D1%80%D0%B0-%D1%8D%D0%BF%D0%B8%D0%B7%D0%BE%D0%B4-6/id1466243923?i=1000460568084

[4] Google Podcasts: https://podcasts.google.com/?feed=aHR0cDovL2ZlZWRwcm94eS5nb29nbGUuY29tL2RyeS9CQ2lu&episode=dGFnOnNvdW5kY2xvdWQsMjAxMDp0cmFja3MvNzMyOTgzNTMz

[5] Много полезных статей и видео, которые пригодятся для перехода из разработчиков в архитекторы.: https://developertoarchitect.com/

[6] Software Architecture in Practice, L.Bass — азы бытия архитектором.: https://www.amazon.com/Software-Architecture-Practice-3rd-Engineering/dp/0321815734

[7] Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives — одна из основных книг, которая наиболее полно раскрывает принципы работы архитектора.: https://www.amazon.com/Software-Systems-Architecture-Stakeholders-Perspectives/dp/032171833X

[8] Release It!: Design and Deploy Production-Ready Software — истории про то, как надо проектировать ПО и что бывает, когда оно спроектировано криво.: https://www.amazon.com/Release-Design-Deploy-Production-Ready-Software/dp/1680502395/ref=sr_1_1?keywords=release+it&qid=1576086330&s=books&sr=1-1

[9] Patterns of Enterprise Application Architecture — мемуары старины Мартина Фаулера о том, как надо проектировать ПО.: https://www.amazon.com/Patterns-Enterprise-Application-Architecture-Martin/dp/0321127420/ref=sr_1_1?keywords=Patterns+of+Enterprise+Application+Architecture&qid=1576086457&s=books&sr=1-1

[10] Обзор паттернов проектирования.: http://citforum.ru/SE/project/pattern/

[11] в Telegram-чат.: https://t.me/joinchat/ArSuoxQKOVe7eM0KjJBMcg

[12] Источник: https://habr.com/ru/post/482094/?utm_source=habrahabr&utm_medium=rss&utm_campaign=482094