
Ask HN: Good resources/books to learn software design for a developer? - rents
Experience level 2-4 years, language agnostic.<p>GoF&#x27;s desgin patterns (and Head First design patterns) are the only ones I know of.<p>Goal would be to improve myself as a software developer (preparing for interview design questions would be an added bonus).<p>Some topics that come to my mind would be:<p>1. Applying design patterns to real world problems. Ex. how would a you design an elevator system?<p>2. Architecture of some complex applications such as facebook, twitter, whatsapp etc.<p>3. Other common designs usually used in software engineering. For example : reliable messaging etc.<p>These problem and their solutions really interest me but again I don&#x27;t have an exhaustive list of these topics. For example, I came across reliable messaging concept, and then I looked for it. But there may be several other topics which I haven&#x27;t even heard of.
======
lordkrandel
Start by learning what the system actually is, interview its future users and
address their requirements. Then look for systemic requirements like
persistance, safety, security, realtime work, reliance, etc. Once you got all
these questions, you start thinking about how your program is going to handle
the system. There is a book called System analysis and design, google it, it
look promising.

