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 🙂

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

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

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

  • 1 views
  • 0 Comment

Leave a Reply

Ваш адрес email не будет опубликован.

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

Свежие комментарии

    Рубрики

    About Author 01.

    blank
    Roman Spiridonov

    Моя специальность - Back-end Developer, Software Engineer Python. Мне 39 лет, я работаю в области информационных технологий более 5 лет. Опыт программирования на Python более 3 лет. На Django более 2 лет.

    Categories 05.

    © Speccy 2022 / All rights reserved

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