Путь до архитектора. Часть 1 🚀
Как и обещал, рассказываю о своих планах по переходу в архитекторы
Разбил пост на три части – тут делюсь чек-листом по темам архитектуры ПО. Им со мной поделился мой ментор – опытный архитектор
📌 Чек-лист по темам
🤍 Теория по проектированию систем (System Design)
Must have темы для изучения, развитие базы системного аналитика:
🤍 Паттерны архитектуры: монолит, сервисная, микросервисная, Serverless, корпоративная
🤍 Сеть: топология, DNS, OSI & TCP/IP, протоколы
🤍 Интеграции: REST, SOAP, GraphQL, gRPC, WebSockets, Webhook, Kafka, ActiveMQ, RabbitMQ
🤍 Прокси: балансировщики нагрузки, Reverse Proxy, API Gateway
🤍 Процессные движки: BPM, Activiti, Camunda
🤍 Базы данных: DML & DDL, транзакции, ACID, изоляция, нормализация, реляционные БД, нереляционные БД, in-memory БД, индексы, репликация, шардирование, профилирование, CAP-теорема
🤍 Кэширование: CDN, клиентский кэш, серверный кэш
🤍 BigData: Hadoop, S3, Spark
🤍 Поисковые движки: Elasticsearch, Opensearch
🤍 Безопасность: виды аутентификации, хэш-функции, SSL/TLS, HTTPS
🤍 Алгоритмы и структуры данных
Двигаемся далее и погружаемся в алгоритмы и структуры данных:
🤍 Алгоритмы: понятие сложности алгоритмов, оценка сложности
🤍 Структуры данных: массивы, списки, очереди, графы, деревья, хэш-таблицы
🤍 Frontend & Backend
Наиболее сложная и объемная часть для тех, кто ранее не программировал. И пригодятся темы только архитекторам, работающим с кодом
🤍 Frontend: базовое понимание устройства (протоколы, веб-сокеты, cookie). В идеале изучить какой-нибудь язык (например, JavaScript) и написать небольшой pet-проект
🤍 Backend: общие принципы работы (ООП, SOLID, Паттерны проектирования), изучение языка (например, Java) и pet-проект
🤍 DevOps & Тестирование:
Не обязательно углубляться, достаточно изучить общие концепции и инструменты:
🤍 DevOps: как устроен CI/CD, Docker, Kubernetes
🤍 Тестирование: теория, интеграционные тесты, unit-тесты, Postman, Swagger, Charles
🤍 Методологии разработки & Soft Skills:
Все что связано с управлением проектом и взаимодействием с людьми:
🤍 Методологии: Waterfall, Agile, Lean
🤍 Soft Skills: все, что с ними связано
И как все это осилить? 🤯
Курсы, книги, менторство, pet-проект, сложный проект на работе:
🤍 Курсы. Дорого и эффективно. О курсах, которые для меня покрыли бОльшую часть тем System Design, расскажу в будущих постах
🤍 Книги. Углубляют знания, полученные на курсах. Мне помогли Крис Ричардсон «Паттерны микросервисной архитектуры» и Алекс Сюй «Прохождение сложного интервью по System Design», о которых я уже писал
🤍 Менторство. Хороший способ выявить пробелы и восполнить знания – проверено
🤍 Pet-проект. Лучший способ попробовать все технологии и инструменты. И благодаря ИИ это будет не так сложно
🤍 Сложный проект на работе. Это как кидать ребенка в воду, чтобы тот научился плавать
—————
💡 Если тоже хотите начать изучать архитектуру – сохраняйте пост себе, чтобы не потерять
Это была первая часть. Во второй части – список рекомендуемых книг, в третьей – мои мысли по поводу перехода в архитекторы
#полезное_системный_анализ
Как и обещал, рассказываю о своих планах по переходу в архитекторы
Разбил пост на три части – тут делюсь чек-листом по темам архитектуры ПО. Им со мной поделился мой ментор – опытный архитектор
Делюсь доской в Холст – там весь чек-лист можно рассмотреть подробнее. А еще оригинал картинки в комментариях
📌 Чек-лист по темам
Must have темы для изучения, развитие базы системного аналитика:
Двигаемся далее и погружаемся в алгоритмы и структуры данных:
Наиболее сложная и объемная часть для тех, кто ранее не программировал. И пригодятся темы только архитекторам, работающим с кодом
Не обязательно углубляться, достаточно изучить общие концепции и инструменты:
Все что связано с управлением проектом и взаимодействием с людьми:
И как все это осилить? 🤯
Курсы, книги, менторство, pet-проект, сложный проект на работе:
—————
Это была первая часть. Во второй части – список рекомендуемых книг, в третьей – мои мысли по поводу перехода в архитекторы
#полезное_системный_анализ
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20
Путь до архитектора. Часть 2 🚀
Первая часть тут. Во второй – список годных книг по архитектуре в желаемом порядке чтения 📚
🤍 Погружаемся в архитектуру
В целом о том, что такое архитектура и для чего нужна:
🤍 «Фундаментальный подход к программной архитектуре: паттерны, свойства, проверенные методы»: Нил Форд, Марк Ричардс
🤍 Знакомимся с типами архитектуры и распределенными системами
Подробнее про типы архитектуры: монолит, микросервисы
🤍 «Распределенные системы. Паттерны проектирования»: Брендан Бернс
🤍 «От монолита к микросервисам»: Сэм Ньюмен
🤍 «Создание микросервисов»: Сэм Ньюмен
🤍 Углубляемся в корпоративные приложения и интеграции
Некоторая информация в этих книгах устарела, но они такие же классические, как Вигерс:
🤍 «Шаблоны корпоративных приложений»: Мартин Фаулер
🤍 «Шаблоны интеграции корпоративных приложений»: Хоп, Вульф
🤍 Думаем о будущем
Важная книга о том, почему архитектура должна быть эволюционной (то есть адаптироваться и меняться со временем):
🤍 «Эволюционные архитектуры. Поддержка непрерывных изменений»: Нил Форд, Ребекка Парсонс, Патрик Куа
🤍 Глубже изучаем модели данных
О том, почему проработка модели данных – это действительно важно:
🤍 «Предметно-ориентированное проектирование (DDD). Структуризация сложных программных систем»: Эрик Эванс
🤍 «Изучаем DDD предметно-ориентированное проектирование»: Влад Хоронов
🤍 Собираем все в кучу
🤍 «Высоконагруженные приложения. Программирование, масштабирование, поддержка»: Мартин Клеппман
🤍 А как же поддержка?
Следующие книги – про релизный цикл, доставку обновлений, поддержку систем, CI/CD и все такое:
🤍 «Site Reliability Engineering». Надежность и безотказность как в Google»: Байре, Джоунс, Петофф
🤍 «Release it!! Проектирование и дизайн ПО для тех, кому не все равно»: Майкл Т. Найгард
🤍 Про масштабирование и нагрузку
🤍 «Масштабирование приложений. Выращивание сложных систем»: Ли Атчисон
🤍 «Паттерны Kubernetes: Шаблоны разработки собственных облачных приложений»: Билджин Ибрам, Роланд Хасс
🤍 Облака
Сложная и специфичная тема с облачными решениями, особенно востребованная в международных проектах
🤍 «Шаблоны проектирование для облачной среды»: Корнелия Дэвис
––——–––
В следующей части – о том, что успел изучить, что еще предстоит, какие бывают архитекторы и что из этого ближе к системному анализу
#книги_системный_анализ
Первая часть тут. Во второй – список годных книг по архитектуре в желаемом порядке чтения 📚
📌 Забирайте себе, чтобы не потерять
В целом о том, что такое архитектура и для чего нужна:
Подробнее про типы архитектуры: монолит, микросервисы
Некоторая информация в этих книгах устарела, но они такие же классические, как Вигерс:
Важная книга о том, почему архитектура должна быть эволюционной (то есть адаптироваться и меняться со временем):
О том, почему проработка модели данных – это действительно важно:
Следующие книги – про релизный цикл, доставку обновлений, поддержку систем, CI/CD и все такое:
Сложная и специфичная тема с облачными решениями, особенно востребованная в международных проектах
––——–––
В следующей части – о том, что успел изучить, что еще предстоит, какие бывают архитекторы и что из этого ближе к системному анализу
#книги_системный_анализ
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4🔥4