HACKER Q&A
📣 DeathArrow

Tech books every developer must read


What are some technical books that changed the way you think, brought you to a much better understanding of an idea or you think are quintessential for every software developer?

I am trying to find some books to help me improve.


  👤 hayst4ck Accepted Answer ✓
http://misko.hevery.com/code-reviewers-guide/

This is the highest value to time spent read that you will ever experience for programming.

If you read through the rest of the guy's justification for these points (by clicking the headings and then if you want more trawling through older blog posts) you will start to see the matrix.

You might have taken a class that said "high coupling in your software is bad," but it's an entirely different experience to see the common patterns that result in high coupling (or the violation of scopes via accessing global state etc) and pragmatic ways to re-write them.

Making programs a recursive 2 steps per object life time (lifetime of server, lifetime of request, etc):

1. Draw the object graph by instantiating objects of the current lifetime and giving them references to eachother

2. Call run(), which executes the object graph

Felt like an epiphany to me.


👤 partomniscient
Finding other people that are trying to solve the same problem as you always helps. Probably some mentioned here perhaps:

'Programmer': https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu...

'Developer': https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...

'Software Engineer': https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...

Feel free to adjust the date range for recency. When I was young, it took me a while to learn that 'newer' did not necessarily mean 'better', but also note that a lot of initially 'great' books didn't age well.


👤 zellster
Domain Modeling Made Functional by Scott Wlaschin

Property-Based Testing with PropEr, Erlang, and Elixir by Fred Herbert

Hacker's Delight by Henry Warren

Programming Pearls by Jon Bentley


👤 bwh2
I have a big list on my website at https://www.briansnotes.io/books/ but here are a few:

  * The DevOps Handbook - Lots of tactics for improving the productivity and effectiveness of engineering teams
  * Extreme Programming Explained - Solid guide to agile ideas
  * Staff Engineer and The Manager's Path - Helps you understand your career path and the expectations that come with positions like Tech Lead, Staff Engineer, Engineering Manager, etc.

👤 boredmgr
A Github repo which talks exactly about this https://github.com/cs-books/influential-cs-books and related stackoverflow thread : https://stackoverflow.com/questions/1711/what-is-the-single-...

👤 zach_garwood
The Mythical Man Month helped me understand how I, as an individual, fit into a larger organization.

👤 animitronix
Domain-Driven Design by Eric Evans

👤 ozzythecat
Good to understand what came before and how computing has evolved. I really recommend “The Innovators” by Walter Isaacson.

👤 max_hammer
- The Pragmatic programmer

👤 david_allison
Working Effectively with Legacy Code by Michael Feathers

👤 ineedausername
Learn You a Haskell for Great Good!

http://learnyouahaskell.com/


👤 __rito__
At least the first five chapters of "The Little Schemer" should be read by every developer.

👤 uncanny
Programming Pearls by Jon Bentley

👤 qualudeheart
C++ Standard