Sie werden wahrscheinlich sehr unterschiedliche Empfehlungen von allen erhalten, da dies ein sehr subjektives Gebiet ist, aber ich denke, die meisten werden zustimmen, dass Design Patterns von der "Bande von vier" (Erich Gamma, Richard Helm, Ralph Johnson und John Vlissides) ist erforderlich. Wenn das zu schwer für Sie ist, macht Head First Design Patterns eine gute Arbeit, um die Muster auch in einem lustigen und ansprechenden Format abzudecken. Es konnte nicht schaden, beides zu lesen.
Here's a pretty good list of books dass die meisten Entwickler hilfreich finden. Sie sind nicht schwer auf einer einzigen Sprache, sondern decken nur die Grundlagen der guten Software-Entwicklungspraktiken (und, keine Überraschung, enthält es Design Patterns).
Die meisten anderen Bücher, die Sie lesen sollten hängt davon ab, welche Sprache oder welche Art von Entwicklung Sie (Web-Entwicklung, Spiele-Programmierung, mobile Entwicklung, etc.) tun möchten. Aber für langauge-spezifische Sachen, eine Menge des besten Materials kann frei im Internet gefunden werden.