DEV Community

Discussion on: What are good ways to learn software architecture and systems design?

Collapse
 
fullstackplus profile image
fullstackplus

Developing a functional programming mindset will go a long way to making you a better engineer, since software architecture and engineering are extensions of programming. I'd say, study how functional languages (Clojure, Elixir, Haskell) solve the classic problems of statelessness, concurrency, and distributed architecture.

Here are a couple more resources:

pragprog.com/book/swdddf/domain-mo...
pragprog.com/book/mkdsa/design-it

Best of luck.