Hacker News new | ask | show | jobs
by bmitc 13 days ago
There are a lot of good books here: https://pragprog.com/categories/architecture-design-and-test...

I second the comment (https://news.ycombinator.com/item?id=48327571) recommending How to Design Programs (HTDP) and Structure and Interpretation of Computer Programs (SICP). The former has an edX course (https://www.edx.org/learn/coding/university-of-british-colum... and https://www.edx.org/learn/coding/university-of-british-colum...) and the latter has online lectures (https://www.youtube.com/watch?v=-J_xL4IGhJA&list=PLE18841CAB...)

Head First Architecture (https://www.amazon.com/Head-First-Software-Architecture-Arch...) is good.

Reading about systems thinking would be useful.

Learning programming languages that have been well designed is helpful. I suggest Programming Erlang: Software for a Concurrent World and Elixir in Action.