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 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

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

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

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

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

A Philosophy of Software Design
5
A Philosophy of Software Design

An introduction to useful coding practices

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.