# Vital reading material

## Core

### History

1. Hackers: Heroes of the Computer Revolution -- Steven Levy&#x20;
2. The Soul of a New Machine -- Tracy Kidder&#x20;
3. Revolution OS (documentary movie) (2001)

### People, teams & projects

1. Radical Candor -- Kim Malone Scott
2. The Mythical Man Month -- Frederick Brooks
3. Peopleware: Productive Projects and Teams -- Tom DeMarco, Tim Lister
4. The Manager's Path -- Camille Fournier

### Computer science & meta

1. Conceptual Blockbusting -- James L. Adams
2. Code Complete 2 -- Steve McConnell
3. Programming Pearls -- Jon L. Bentley
4. The Practice of Programming -- Brian W. Kernighan, Rob Pike

### Software engineering&#x20;

1. Working Effectively with Legacy Code -- Michael Feathers
2. Practical Object Oriented Design Patterns: in Ruby -- Sandi Metz
3. Test Driven Development: By Example -- Kent Beck

### Agile & related processes

1. User Stories Applied: For Agile Software Development -- Mike Cohn
2. Software Estimation: Demystifying the Black Art -- Steve McConnell

### Release engineering&#x20;

1. The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win -- Gene Kim, Kevin Behr, George Spafford&#x20;
2. Accelerate: The Science of Lean Software and DevOps -- Nicole Forsgren, Jez Humble, Gene Kim
3. Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation -- Jez Humble, David Farley

## Android / Java / Kotlin specific

1. Reactive Programming with RxJava -- Tomasz Nurkiewicz, Ben Christensen&#x20;
2. Effective Java -- Joshua Bloch
3. Design Patterns: Elements of Reusable Object-Oriented Software -- Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides

## Web / JavaScript specific

1. Eloquent JavaScript -- Marijn Haverbeke&#x20;
