5️⃣Readings
History
Hackers: Heroes of the Computer Revolution by Steven Levy
The Soul of a New Machine by Tracy Kidder
Revolution OS (documentary movie) (2001)
Pratul’s software engineering favourites
For early programmers
Get better at programming by learning how things work
https://www.youtube.com/watch?v=PUv66718DII
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
Agile & related processes
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
Testing
Front-end state management
Last updated