Learn Software Architecture
A good software architecture keeps options open, allows you to defer decisions about tools and frameworks, and keep the cost of change low.
We have a work in progress learning guide on Clean Architecture.
Learn Tech is a good opportunity to learn software architecture by practicing alongside a mentor.
There are videos on this topic
There are books on this topic
- Growing Object-Oriented Software Guided By Tests (Steve Freeman, Nat Pryce)
- Domain Driven Design (Eric Evans)
- Object Oriented Software Engineering: A Use Case Driven Approach (Ivar Jacobson)
- Clean Architecture (Robert C. Martin)
- Clean Code (Robert C. Martin)
- Refactoring (Martin Fowler)
- Working Effectively with Legacy Code (Michael C. Feathers)
- Practical Object Oriented Design in Ruby (Sandi Metz)