Ask HN: Good resources/books to learn software design for a developer? Experience level 2-4 years, language agnostic. GoF's desgin patterns (and Head First design patterns) are the only ones I know of. Goal would be to improve myself as a software developer (preparing for interview design questions would be an added bonus). Some topics that come to my mind would be: 1. Applying design patterns to real world problems. Ex. how would a you design an elevator system? 2. Architecture of some complex applications such as facebook, twitter, whatsapp etc. 3. Other common designs usually used in software engineering. For example : reliable messaging etc. These problem and their solutions really interest me but again I don'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't even heard of. |