Ask HN: Any advice on how to learn good software architecture practices?
11–20 of 27 posts
Re: Ask HN: Any advice on how to learn good software architecture practices?
#12I 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.
Re: Ask HN: Any advice on how to learn good software architecture practices?
#13Re: Ask HN: Any advice on how to learn good software architecture practices?
#14Re: Ask HN: Any advice on how to learn good software architecture practices?
#15Re: Ask HN: Any advice on how to learn good software architecture practices?
#16Re: Ask HN: Any advice on how to learn good software architecture practices?
#17There is no “best way”, it always depends on what you are building.
The main advice I would give is to always remember that there’s trade-off’s in every architectural choice…
I guess some general tenants might be… “great architectural solutions…”
- Allow new features to be added, without much complexity
- Have reliable and clear abstraction layers
- Allow tests and typing to validate it’s correctness
- Manage clearly understood limitations, rather than implicit surprise limitations