Ask HN: What technical books are you reading?

43 points by 6ak74rfy 6 months ago

I remember reading somewhere that many (most?) software developers don't read even one technical book a year. I was curious what books the HN community is reading?

I recently picked up Operating Systems: Three Easy Pieces because I need to brush up my OS knowledge for work.

mrburton 6 months ago

1. Building Evolutionary Architectures - A great book for those looking to build an IT department that can meet the business needs of today and create an organizational mindset that allows you to still be nimble and evolve to meet future demands.

2. Building Microservices - A great book by Sam Newman which Building Evolutionary Architectures is effectively written upon IMHO. This book is really more technical and gets into the weeds of building out systems using microservices and it also touches based on CI/CD.

3. Inside the Minds - Although this book is old and talks about XML as an emerging technology, it's exceptional in showing you how various CTOs think and define their roles in different companies. It really drives home the importance of having IT support business vs. just building out technical solutions.

Note: Buy this book used and save yourself a lot of money. I got it for $2.58.

4. Release It! - A very good book that talks about important concepts in building systems that can be released often. It talks about things like Bulkheads, and circuit breakers; also mentioned in Sam Newmans book,. If you're company doesn't have CI/CD in place and a proper release model, then you should certainly read this book.

I have more books, but I don't want to flood this post.

  • alkhatib 6 months ago

    I'd be interested in getting more recommendations, maybe you can have it somewhere else and link it here? A blog/gist/Google Doc?


    • mrburton 6 months ago

      Sure, I can compile a list of books. I'll do that later this week. You can email me at my username + gmail. I'll also post it on HN.

    • sp527 6 months ago

      Seconding this. You seem to have great taste in technical reading material :)

tracer4201 6 months ago

Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems

I read through this book last year when I saw it recommended on HN. I recommended it to engineers on my team at work.

I’m reading it for a second time now, and just finished chapter 2 today. It’s dense but an amazingly detailed and thorough text.

Jtsummers 6 months ago

Related to tech but not technical:

The Psychology of Computer Programming by Weinberg. It's a bit dated (references PL/I, tapes and punch cards), but the content on team structure and programming psychology is actually pretty good and mostly seems to hold up (based on my own observations of myself and offices). It's one of a variety of books I've read recently that hasn't really taught me anything "new", but has connected dots between topics or given me better terms or frames of reference to discuss the topics.


The Reasoned Schemer by Friedman, et al. Not using this for anything in particular, but I wanted to do something fun that was programming. It's been a very enjoyable read. About 2/3 through it but got distracted by moving and other things. I'll pick it up after the move next week.

My objective is to read at least one full book per month this year (I often have several books I'm reading at a time, not always to completion). So far I'm on track with that. A variety of topics: system dynamics and systems thinking, project/team management and dynamics, then various technical topics like the above or mathematics.

shortcord 6 months ago

I’ve been reading Game Programming Patterns off and on. Not a game developer, but it’s a pretty light read and interesting to see how design patterns apply to making video games.

Next up after that I’m gonna finally finish Practical Object Oriented Design in Ruby by Sandi Metz. I started this one after reading 99 Bottles of OOP.

Longer term project is to read through The Little Schemer and the other books in that series like The Reasoned Schemer, The Little MLer, etc.

stanfieldecho 6 months ago

I'm juggling several books currently:

1. Computer Networking: A Top-Down Approach 6th Edition. 2. TCP/IP Illustrated, Vol. 1 2nd Edition. 3. Interconnections: Bridges, Routers, Switches, and Internetworking Protocols 2nd Edition. 4. Engineering a Compiler 2nd Edition. 5. Flex & Bison. 6. Sed & Awk. 7. K & R. 8. The Unix Programming Environment. 9. Advanced Programming in the UNIX Environment. 10. Linux Kernel Development. 11. The Go Programming Language. 12. Introduction to Operating Systems Abstractions.

I recently discovered how much easier it is to use markdown for basic note taking, I have been just using html, which is part of the reason I took a break from reading, ha.

  • zapperdapper 6 months ago

    Nice list. I was just leafing through Internetworking with TCP/IP Vol 2 by Comer. Excellent book and a good one to add to your list. A bit old now, with non-ANSI C code, but still very interesting!

segmondy 6 months ago

Flipping between these 3

Designing Data Intensive Applications

Control Theory for Engineers

Enterprise Architecture & Integration

  • chatmasta 6 months ago

    > Enterprise Architecture & Integration

    Curious about this one but not sure which you're referring to. Who is the author?

devlife 6 months ago

The art of Unix Programming

My first reading of this book convinced me to move away from Windows. I usually read it at-least once a year.

gashaw 6 months ago

Growing Object Oriented Software Guided by Tests. So far I didn't learn anything from it, and it's hard to read more than ~10 pages without falling a sleep.

Next on my list are Software Architecture in Practice and Programming Pearls.

alkibiades 6 months ago

none. i rather spend my time outside of work on something else. currently reading the brothers karamazov and moby dick.

injb 6 months ago

The No Bullshit Guide To Linear Algebra.

  • usgroup 6 months ago

    What bullshit does it leave out ?

surfsvammel 6 months ago

Always rereading Effective Java.

karolist 6 months ago

I'll structure this in "current/future/recent_past" format if I may.


* The Go Programming Language

* Building Microservices

Plan to do next:

* Designing Data-Intensive Applications

* Designing Distributed Systems

* Unix and Linux System Administration 5th ed, but probably just gonna skip/read chapters of interest, i.e. I wanna get a better understanding of SystemD.

Read last month:

* Learning React

Good for a quick intro but I probably wouldn't read cover-to-cover again, some sections are old, but overall an OK book.

* React Design Patterns and Best Practices

Really liked this one, picked a tonne of new ideas and approaches that are hard to find otherwise for a newbie in JS scene. These two books, some time spent reading up on webpack and lots of github/practice code made me not scared of JS anymore and not feeling the fatigue. I mean, I was one of the people who dismissed everything frontend related, big node_modules, electron, complicated build systems etc. But now I sort of understand why and am on the different side of the fence.

* Flexbox in CSS

Wanted to understand what's the new flexbox layout is about since it's been a while when I've done some serious CSS work. Long story short I made it about half of this and dropped it - not any more useful than MDN docs and actually playing with someone's codepen gave me better understanding in 5 minutes than 3 hours spent with this book.

  • apodobnik 6 months ago

    Designing Data-Intensive Applications is fantastic.