Books for software engineers and managers

Books / Tech Lead

Books for Tech Leads

As Tech Lead you need both technical breadth and depth to solve your organization’s most complex engineering challenges. But expectations for Tech Leads extend beyond technology.

Your manager demands high performance. The department needs vision. The business wants results. Expectations are high for Tech Leads and these books will help prepare you for the journey to excellence.

Sort by Date or Rating

The Phoenix Project
The Phoenix Project

A novel about transformational leadership in technology

The DevOps Handbook
The DevOps Handbook

A pragmatic technical guide to implementing ideas from Accelerate

On Writing Well
On Writing Well

The practical guide to non-fiction writing

Accelerate
Accelerate

The most important book on software delivery performance

Peopleware
Peopleware

A holistic and people-first view of software engineering management

Ask Your Developer
Ask Your Developer

How one world class software company leverages developers to drive business success

Masters of Doom
Masters of Doom

The story behind Wolfenstein 3D, Quake, and Doom

Making Work Visible
Making Work Visible

Fantastic description of using kanban boards to improve software delivery

Never Split the Difference
Never Split the Difference

Practical guide to everyday negotiations

Clean Architecture
Clean Architecture

Pragmatic advice for transforming readable code into a solid architecture

The Mythical Man Month
The Mythical Man Month

The origin of Brooks’s Law and look into the counterintuitive world of software engineering management

Extreme Programming Explained
Extreme Programming Explained

Principles and practices of agile development

The Unicorn Project
The Unicorn Project

A story about rebellion against bureaucracy and corporate politics to delivery customer results

Hackers & Painters
Hackers & Painters

The culture and languages of makers

Zen and the Art of Motorcycle Maintenance
Zen and the Art of Motorcycle Maintenance

Quality is hard to define but we know it exists somewhere

Ask Me This Instead
8
Ask Me This Instead

How to interview the company, not just having them interview you

The Score Takes Care of Itself
8
The Score Takes Care of Itself

Leadership lessons told through football stories

An Elegant Puzzle
8
An Elegant Puzzle

Practical advice on managing software engineering teams

Working in Public
8
Working in Public

Why developers create open source projects and how they are maintained at scaled

SQL Antipatterns
8
SQL Antipatterns

Database design pitfalls that you will make if you haven’t already

The E-Myth Revisited
8
The E-Myth Revisited

The case for systematization and working on the business, not just in the business

Drift into Failure
8
Drift into Failure

How systems fail and our broken mental model for understanding complexity

Refactoring
7
Refactoring

Catalog of code readability and structure improvements

System Design Interview
7
System Design Interview

Real-world system design interview questions that also help you excel in your current role

Coders at Work
7
Coders at Work

Interviews with software development legends

Working Effectively With Legacy Code
7
Working Effectively With Legacy Code

Refactorings to increase the testability of legacy code

The Problem with Software
7
The Problem with Software

A brief history of computer programming, plus analysis of the gap between academia and industry

Staff Engineer
7
Staff Engineer

Beyond senior engineer on the technical leadership track

Beyond Basketball
7
Beyond Basketball

Leadership stories and lessons from Coach K

Thinking in Systems
7
Thinking in Systems

A primer on system thinking through stocks and flows

Designing for Behavior Change
7
Designing for Behavior Change

Applying behavior change science to software design and development

The Master Algorithm
7
The Master Algorithm

Machine learning primer for technically-minded people

Practical Monitoring
7
Practical Monitoring

A quick read covering the basics of monitoring

Designing Data-Intensive Applications
7
Designing Data-Intensive Applications

Highly technical guide to modern data storage systems

Release It!
7
Release It!

Technical primer on resilience engineering

Foundations of Security
6
Foundations of Security

Security threats programmers need to defend against

Books for New Engineering Managers
Books for New Engineering Managers

First-time engineering manager books

Books for Developers to Improve Their Writing Skills
Books for Developers to Improve Their Writing Skills

Improve your writing and communication skills

Books to Improve Code Testability
Books to Improve Code Testability

How to write code that supports automated testing

5 Books to Increase Productivity on Software Engineering Teams
5 Books to Increase Productivity on Software Engineering Teams

Software development metrics and advice to improve productivity and performance

Books on Distributed Systems and Resilience Engineering
Books on Distributed Systems and Resilience Engineering

Build systems to serve more users while increasing reliability and performance

Books to Prevent Burnout in High Performance Engineering Teams
Books to Prevent Burnout in High Performance Engineering Teams

Identify the symptoms of burnout within software teams and prevent burnout using these books



Articles for Tech Leads

Clean workspaces instead of rewrites

The pragmatic engineer’s alternative to a rewrite

Refactoring is a daily job

Five things that engineering leaders need to understand about refactoring

Find your limiting factor for deployment frequency

A quick guide to identifying what’s preventing your team from releasing more

Deploy to production on day one

Shipping on the first day is an opportunity to send positive signals to new hires about your engineering culture