Guide
The best career books for software developers
A good book teaches you how to think, how to work with people and how to grow. The right book at the right moment can save you years of trial and error. Below are the books that made the biggest difference for me and for the developers I mentor, grouped by career stage.
Short answer
For writing better code: The Pragmatic Programmer and A Philosophy of Software Design. For growing your career: The Software Engineer's Guidebook and The Effective Engineer. For the senior and staff path: Staff Engineer and The Staff Engineer's Path. For leadership: The Manager's Path and Radical Candor. For teams and delivery: Accelerate and Team Topologies.
How to choose
Pick the book that matches the problem you have this month. A junior struggling with a messy codebase gets more out of Refactoring than out of a leadership book. A new team lead gets more out of Resilient Management than out of a book on distributed systems. Read one book at a time, take notes, and try one idea at work before you start the next.
Writing better code
The Pragmatic Programmer
David Thomas & Andrew Hunt · 1999, 20th anniversary edition 2019
The classic on craftsmanship: small habits like automating, owning mistakes and keeping knowledge in one place. Useful at every level.
A Philosophy of Software Design
John Ousterhout · 2018
A short, sharp book about managing complexity with deep modules and clear interfaces. Great material for discussions in code review.
Refactoring
Martin Fowler · 1999, second edition 2018
A catalogue of safe, small steps to improve existing code. The second edition uses JavaScript examples.
Working Effectively with Legacy Code
Michael Feathers · 2004
How to get untested code under test and change it with confidence. Essential if you inherit an old codebase.
Designing Data-Intensive Applications
Martin Kleppmann · 2017
The deep dive into databases, replication, streams and consistency. Heavy, and worth it for anyone moving towards architecture.
Growing your career
From Hello World to Team Lead
Tim Lorent
My own book, so judge for yourself: 146 pages on career growth, soft skills, code reviews, burnout and choosing your path, with reusable templates.
The Software Engineer's Guidebook
Gergely Orosz · 2023
A broad, practical guide to growing from entry level to senior and beyond, based on how large tech companies work.
The Effective Engineer
Edmond Lau · 2015
How to focus on high-leverage work: the tasks that create the most impact for the time you put in.
Show Your Work!
Austin Kleon · 2014
A short read on sharing what you're learning. A great push for developers who struggle with visibility.
The senior and staff path
Staff Engineer: Leadership Beyond the Management Track
Will Larson · 2021
What staff-plus engineers actually do, with stories from people in the role. Read it if you want to grow without managing people.
The Staff Engineer's Path
Tanya Reilly · 2022
A practical guide to big-picture thinking, executing on large projects and levelling up others.
Leading people
The Manager's Path
Camille Fournier · 2017
Walks through every step from mentor and tech lead to engineering manager and beyond. The go-to book for developers moving into leadership.
Resilient Management
Lara Hogan · 2019
A compact, practical book on supporting a team: meeting your team, mentoring, coaching and building trust.
Radical Candor
Kim Scott · 2017
A framework for feedback that combines caring personally with challenging directly.
Crucial Conversations
Kerry Patterson, Joseph Grenny, Ron McMillan & Al Switzler · 2002
How to stay calm and clear when stakes are high and opinions differ. Useful far beyond work.
An Elegant Puzzle
Will Larson · 2019
Systems thinking applied to engineering management: team sizing, planning and organisational design.
Teams, delivery and product
Accelerate
Nicole Forsgren, Jez Humble & Gene Kim · 2018
The research behind what makes software teams perform, and the metrics that measure it.
Team Topologies
Matthew Skelton & Manuel Pais · 2019
How to organise teams around the flow of work and reduce cognitive load.
The Phoenix Project
Gene Kim, Kevin Behr & George Spafford · 2013
A novel about an IT department in crisis. An easy way into DevOps thinking.
Inspired
Marty Cagan · 2008, second edition 2017
How strong product teams decide what to build. Read it if you want to grow into a product engineer.
Shape Up
Ryan Singer · 2019
Basecamp's approach to shaping and building work in fixed cycles. Free to read online.
Focus and communication
Deep Work
Cal Newport · 2016
Why focused, uninterrupted work is rare and valuable, and how to protect it in a world full of Slack messages.
Thinking in Systems
Donella Meadows · 2008
An accessible introduction to systems thinking. It changes how you look at codebases, teams and organisations.
Frequently asked questions
What is the best book for junior developers?
The Pragmatic Programmer. It teaches habits that pay off for your entire career and is easy to read in small chunks.
Which book should I read to become a team lead?
The Manager's Path by Camille Fournier, combined with Resilient Management by Lara Hogan for the day-to-day practice.
Are programming books still worth it with AI tools?
Yes. Books build the judgement to recognise good code, good design and good collaboration, which is exactly what you need when you review code an AI tool wrote.
What books help with soft skills as a developer?
Crucial Conversations, Radical Candor and Show Your Work! cover feedback, difficult conversations and visibility.
How many books should a developer read per year?
Four to six books that you actually apply at work will move your career further than a long list you skim.