Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Some recommended books for improving as a software developer

Some recommended books for improving as a software developer

Most software books are too language specific and go out of date too quickly. What I find has stayed with me are books about bigger concepts, such as systems thinking and complexity, and also so-called "soft skills" such as management and psychology.

User experience

These are all really about developing empathy for other people :)

  • "The Design of Everyday Things" by Donald Norman
  • "Don't Make Me Think" by Steve Krug
  • "About Face: The Essentials of Interaction Design" by Alan Cooper

Software Design

  • "Designing Data-Intensive Applications" by Martin Kleppmann

Software Architecture

  • "How Buildings Learn" by Stewart Brand
  • "Systemantics, The Systems Bible" by John Gall. Much quoted on programmers forums!

Software Release and Deployment

  • "Release It!" by Michael T Nygard
  • "Accelerate: The Science of Lean Software and Devops" by Nicole Forsgren, Jez Humble

Systems thinking and Problem solving

Complex systems and failure

  • "The Logic Of Failure" by Dietrich Dörner
  • "Normal Accidents" by Charles Perrow
  • "Drift into Failure" by Sidney Dekker
  • How Complex Systems Fail by Richard I. Cook

Theory of Constraints/Lean/Continuous improvement


  • "Crossing the Chasm" by Geoffrey Moore
  • "Innovators Dilemma" by Clayton M Christensen

Management and Consulting

  • "The Manager`s Path" by Camille Fournier
  • "Peopleware" by Tom DeMarco, Tim Lister
  • "The Secrets of Consulting" by Gerald Weinberg
  • Anything by Peter F. Drucker. Eg "Essential Drucker", "The Effective Executive" etc.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment