Books for software engineers and managers

Books / Star Engineer

Books for Star Engineers

You have a few years under your belt. You’re cranking out code. Fixing bugs left and right, all while launching new features. These books will help you advance your skills, transforming you into a higher leverage and more valuable engineer.

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

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

Code Complete
Code Complete

The book every junior to mid-level engineer should read to improve their code

Clean Code
Clean Code

The book on code quality I wish every engineering job applicant would read

Extreme Programming Explained
Extreme Programming Explained

Principles and practices of agile development

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

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

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

Show Your Work
7
Show Your Work

The quick and inspirational guide to self promotion through content

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

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

Flow
7
Flow

The science of being in the zone

Foundations of Security
6
Foundations of Security

Security threats programmers need to defend against

The Subtle Art of Not Giving a F*ck
6
The Subtle Art of Not Giving a F*ck

A quick read self-help guide to focusing on what you care about and ignoring the rest

The Pragmatic Programmer
6
The Pragmatic Programmer

Look into the world of professional software development

Data Pipelines Pocket Reference
5
Data Pipelines Pocket Reference

Using SQL and Python to create data pipelines

A Philosophy of Software Design
5
A Philosophy of Software Design

An introduction to useful coding practices

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



Articles for Star Engineers

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

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

Your Third Job in Software

Navigate around the pitfalls of finding your third job in software. The right job.