Я умею писать код, я знаю все нюансы своего языка, но что делать дальше?
Раньше я не понимал всех этих разговоров про архитектуру, но когда появился более менее большой проект, то резко стал понимать, что это действительно важно.
Мне не сложно разобраться в каком-то фреймворке или технологии — у них у всех есть прекрасная документация, которая учит использованию этой штуковины, но не учит делать архитектурно верные проекты на её основе.
В какую конкретно сторону мне смотреть, чтобы научиться писать не просто код, а грамотный код в правильно спроектированном проекте?
Я слышал много крутых терминов, как Dependency Injection, Domain Driven Design и Гексагональная архитектура, но я не думаю, что это те вещи, с которых стоит начинать.
В общем, меня интересуют две темы:
1) Архитектура
2) Чистый код
Роберт Мартин - Чистая архитектура(SOLID)
Эрик Эванс - Предметно-ориентированное проектирование(DDD)
Начинать определенно стоит с Чистой архитектуры, затем почитай где-нибудь про гексагональную архитектуру, затем почитай Эванса.
Тема архитектуры построения отдельного приложения(которое может быть частью бОльшего приложения) действительно умещается в 2-3 книги и статьи с пояснениями.
Затем, нужно изучить UML на базовом уровне, чтобы визуально проектировать архитектуру приложения.
Затем бери draw.io и проектируй. Хочешь пет проджект, хочешь свой рабочий проект, затем предлагая изменения команде.