• Hackers: Heroes of the Computer Revolution by Steven Levy

  • The Soul of a New Machine by Tracy Kidder

  • Revolution OS (documentary movie) (2001)

For early programmers

Get better at programming by learning how things work

How to ask good questions

Moving faster


People, teams & projects

  • Radical Candor by Kim Malone Scott

  • The Mythical Man Month by Frederick Brooks

  • Peopleware: Productive Projects and Teams by Tom DeMarco, Tim Lister

  • The Manager's Path by Camille Fournier

Computer science & meta

  • Conceptual Blockbusting by James L. Adams

  • Code Complete 2 by Steve McConnell

  • Programming Pearls by Jon L. Bentley

  • The Practice of Programming by Brian W. Kernighan, Rob Pike

Software engineering

  • Working Effectively with Legacy Code by Michael Feathers

  • Practical Object Oriented Design Patterns: in Ruby by Sandi Metz

  • Test Driven Development: By Example by Kent Beck

  • Get better at programming by learning how things work - https://jvns.ca/blog/learn-how-things-work/ by Julia Evans

  • User Stories Applied: For Agile Software Development by Mike Cohn

  • Software Estimation: Demystifying the Black Art by Steve McConnell

Writing system software: code comments.

Release engineering

  • The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win by Gene Kim, Kevin Behr, George Spafford

  • Accelerate: The Science of Lean Software and DevOps by Nicole Forsgren, Jez Humble, Gene Kim

  • Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation by Jez Humble, David Farley

Android / Java / Kotlin

  • Reactive Programming with RxJava by Tomasz Nurkiewicz, Ben Christensen

  • Effective Java by Joshua Bloch

  • Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides

  • Androids: The Team That Built the Android Operating System by Chet Hasse

Web / JavaScript

  • Eloquent JavaScript by Marijn Haverbeke

Object-oriented programming


Front-end state management

Last updated