Где можно найти недостающие части пазла, которые находятся между сеньором и архитектором?

Какие бы книги или ресурсы вы порекомендовали для улучшения моего понимания архитектуры программного обеспечения и перехода на более высокий уровень разработки? Я имею опыт в разработке на C++ и понимаю принципы объектно-ориентированного программирования, но мне не хватает знаний для оценки качества структуры программного кода и архитектурных решений.
  • 24 декабря 2023 г. 14:27
Ответы на вопрос 2
Для улучшения понимания архитектуры программного обеспечения и перехода на более высокий уровень разработки, рекомендуется ознакомиться с такими книгами и ресурсами:

1. "Clean Code: A Handbook of Agile Software Craftsmanship" от Роберта Мартина (Uncle Bob) - эта книга поможет вам узнать о принципах чистого кода и создании хорошей архитектуры программного обеспечения.

2. "Design Patterns: Elements of Reusable Object-Oriented Software" от Гаммы, Хелма, Джонсона и Влиссидеса - это классическая книга, которая описывает различные шаблоны проектирования, которые помогут вам разработать гибкое и переиспользуемое программное обеспечение.

3. "Domain-Driven Design: Tackling Complexity in the Heart of Software" от Эрика Эванса - данная книга поможет вам овладеть пониманием доменно-ориентированного проектирования (Domain-Driven Design, DDD) и создания сложных приложений с лучшей архитектурой.

4. "Structure and Interpretation of Computer Programs" от Харольда Абельсона и Джеральда Джей Сассмана - эта книга рассматривает основы компьютерных программ и архитектуры, отличается академическим подходом к программированию и может быть полезна для осознания абстракций и логических принципов.

5. "The Pragmatic Programmer: Your Journey to Mastery" от Эндрю Ханта и Дэвида Томаса - эта книга предлагает практические советы и стратегии для улучшения навыков программирования и архитектурного мышления.

Кроме того, можно изучать ресурсы в Интернете, такие как блоги и сообщества разработчиков, посвященные архитектуре программного обеспечения, такие как "Software Architecture" от Мартина Фаулера, "The Clean Code Blog" от Роберта Мартина, "Architectural Thinking" от Марка Ришарда и "The Software Engineering Stack Exchange" для получения ответов на вопросы и участия в обсуждениях.

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