Share This
Связаться со мной
Крути в низ
Categories
//👷 Архитектор решений (Solution Architect): кто это и как им стать

👷 Архитектор решений (Solution Architect): кто это и как им стать

Какими навыками должен обладать Solution Architect и как их развить? Постарались собрать все ответы в нашей дорожной карте.

arhitektor reshenij solution architect kto eto i kak im stat eafd24c - 👷 Архитектор решений (Solution Architect): кто это и как им стать

Данная статья является переводом. Оригинал доступен по ссылке.

📜 Роли и обязанности

Архитектор решений должен настраивать процессы и методы разработки таким образом, чтобы они поддерживали выполнение требований проекта.

  • Например, настройте спринты, шлюзы качества в конвейере CI/CD или установите небольшой размер пользовательских историй. При решении этих задач архитектор выступает в роли скрам-мастера.
  • Еще одна обязанность — сбор требований. В данном случае архитектор играет роль бизнес-аналитика.
  • Кроме того, архитектор выполняет работу технического писателя, который пишет документацию, рисует диаграммы и управляет системой знаний.
  • Архитектор также является разработчиком программного обеспечения; в противном случае специалист попадает в башню из слоновой кости архитектуры программного обеспечения, т. е. начинает плохо ориентироваться в проблемах и потребностях пользователей. Архитектор может реализовать несколько проверок концепций для функций, использующих новые технологии, или создать инструменты для команд, или реализовать некоторые некритические бизнес-функции.
  • Архитектор также играет роль консультанта. Бизнес часто хочет видеть сравнение разных решений друг с другом, какие из них лучше всего подходят под конкретную задачу и сколько эти решения стоят. Это очень важно, поскольку рентабельность инвестиций (ROI) является одним из ключевых показателей, которые бизнес использует для принятия решений.

🛠️ Навыки

Мы перечислим различные полезные навыки, которые могут быть изменены в будущем, в том числе благодаря вашему фидбеку. Не стесняйтесь давать обратную связь в комментариях.

Я считаю, что архитектор должен обладать как hard, так и soft skills. Начнем с последних.

🗣 Soft skills

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

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

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

Кроме того, конфликты между заинтересованными сторонами неизбежны и архитектор должен их разрешать.

👨‍💻 Hard Skills

Если архитектор не имеет ни малейшего представления о технологиях, с которыми он работает, ну, я бы не сказал, что это хороший архитектор. Обычно мы говорим о Т-образных инженерах, у которых есть отличное понимание и практический опыт работы как минимум с одной технологией, а также некоторый опыт работы с другими. Конечно, еще лучше, если у нас есть человек М-формы: глубокий опыт работы с несколькими стеками, такими как мобильная разработка, фронтенд и Java-микросервисы. Архитектор также может играть роль архитектора приложений для определенного компонента целевой системы и менторить разработчиков в процессе работы с этим компонентом.

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

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

Знаний самого облака недостаточно, так как существует несколько подходов к реальному запуску кода: от «голого железа» и виртуальных машин до управляемых контейнерных кластеров и лямбда-выражений. Понимание инструментов управления инфраструктурой и средами выполнения также ценно для архитектора.

Большое число систем обычно включает в себя компоненты пользовательского интерфейса, такие как веб-сайты и мобильные приложения, поэтому здесь также требуется понимание этой темы на высоком уровне.

Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека программиста» Интересно, перейти к каналу

Прохождение roadmap

arhitektor reshenij solution architect kto eto i kak im stat 74d1db8 - 👷 Архитектор решений (Solution Architect): кто это и как им стать

Дорожная карта Solution Architect

Дорожная карта довольно обширная, и вам может потребоваться год или два, чтобы пройти ее полностью. Roadmap содержит ссылки на книги, курсы, статьи, видео и другие материалы, которые могут вам помочь.

📚 Книги

Во-первых, нужно читать книги. У меня есть книги по криптографии, чистому коду, проектированию надежности сайтов, Kotlin, Kafka, управлению рисками, NoSQL, DevOps, компьютерным сетям и другие. Я пишу обзоры книг время от времени. Вы можете найти их по соответствующему хэштегу.

Читаю как бумажные издания, так и электронные. Из последних книг могу отметить Fundamentals of Software Architecture Нила Форда. Мне очень нравится эта книга, так как она очень хорошо коррелирует с моим опытом, рассказывая о правильных принципах работы с требованиями и поиску компромиссов. Написана очень живо, с книгами по архитектуре такое редко бывает 🙂

Еще одна книга, упомянутая в дорожной карте, — Software Architecture in Practice. Книга довольно академична, поэтому, если у вас возникнут проблемы с засыпанием, книга поможет вам в этом. Шутки в сторону: несмотря на то, что она немного скучная, она хорошо познакомит вас с тактиками проектирования системы, которая является неотъемлемой частью дорожной карты.

Эта книга в сообществе «Книги для программистов»

Что касается диаграмм и документации архитектуры, могу посоветовать Documenting Software Architecture. Она также немного скучная, однако дает хороший базис знаний для правильного документирования программных систем, в ней рассматриваются различные точки зрения, подходы к документации и т. д.

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

Эта книга в сообществе «Книги для программистов»

arhitektor reshenij solution architect kto eto i kak im stat 54cf25d - 👷 Архитектор решений (Solution Architect): кто это и как им стать

Книга с кабанчиком

🏋️ Тренинги

Книги — это хорошо, но нельзя стать архитектором, имея только теорию в голове. Нужно что-то делать голыми руками. И в этом могут помочь тренинги. Вы можете начать с некоторых облачных экзаменов по архитектуре для популярной облачной платформы. Я лично являюсь бывшим профессиональным облачным архитектором Google, и подготовка к экзамену обеспечивает отличную основу как для понимания облачных технологий, так и для разработки программных систем с их использованием.

Вы можете выбрать некоторые из курсов Coursera, например «Preparing for Professional Google Cloud Architect Exam». Я также очень рекомендую Acloudguru.com. Ребята создали много курсов для Amazon, теперь у них также есть материалы для GCP и Azure. Я прошел некоторые из них, и они мне очень понравились. В частности, они очень помогли в работе с AWS, с которым у меня было несколько сторонних проектов.

Также вы можете найти несколько внутренних курсов внутри вашей компании. В частности, в EPAM Systems есть Школа архитекторов решений. В Тинькофф я помогаю руководить Архитектурной школой. Скорее всего, внутри вашей компании тоже есть какие-то курсы, но если нет… что ж, у нас есть предложения 🙂

Кроме того, в Интернете можно найти такие полезные материалы как System Design Cheat Sheet, System Design Primer, хороший канал на YouTube и многие другие.

Чтобы попрактиковаться, вы можете порешать архитектурные задачи.

***

Ладно, ребята! Это все на данный момент. Пожалуйста, оставляйте фидбек в комментариях ниже, не стесняйтесь отправлять пулреквесты или вопросы в репозиторий roadmap 🙂

Не забывайте улыбаться! 😊

Материалы по теме

  • 🧔📈 Повышение до тимлида: дорожная карта
  • 👨‍💼 Как стать тимлидом: дорожная карта

  • 3 views
  • 0 Comment

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Связаться со мной
Close