So, how many technical book do you read a year?
(I believe that timeless tech books do help you, though. They help you with your career, not with your (current) job).
It is a lot easier to read a book like The Pragmatic Programmer cover-to-cover than it is to read a book about a specific language or API. I've been trying to learn Rust and I find that if I don't practice or do exercises then I don't end up remembering what I read. I read nearly all of "Programming Rust" but now I'm having to go back and read many sections because I wasn't writing the code as I was reading the chapters.
As for "finishing" books, I rarely truly finish a book. I've been reading graphics and game engine books but I don't feel pressure to read every chapter. Did I really "finish" a book if I skipped chapters? Who cares. Every graphics/game book seems to start with chapters about linear algebra so I skip those. Collision detection? If I need to find the intersection between a line and a cone then I'll look it up.
I also find it helpful to read a chapter from multiple books about the same topic (thanks to o'reilly books online). Like when I was learning C++11 I read the futures/promises chapter from 4 or 5 different books. I found having the same thing explained by different authors was more helpful than just re-reading a chapter. I also had a learning disability as a kid so maybe that's why I need to re-read things so much.
I totally appreciate the value in it, but I'm old and just have a hard time making personal growth in my job skills a priority over time with family. I read more before I had children, and I would read if I was could spend some work hours on it.
I've also seen people who read too much - all their work philosophy and decisions are not based on experience, but on a book they read. I feel the flow should be to: read -> synthesize new info with experience -> test out some changes to your way of working -> decide whether or not it works. But I've seen too much of: read -> declare sweeping changes to the entire team -> read another book.
One thing we have been doing for some years at my company is that I started a book circle to encourage my peers to read more and me to get more people to discuss and reflect with. We encourage people to read on work time and we go through 2-3 books a year. Check out my article for tips on starting a book circle for programming books (https://www.programmingbooks.dev/articles/book_circle/)
I think I'm an outlier on the other end. This year I've read 3 or 4 books on programming language theory, one specifically about Scheme, and The Rust Book. I've picked up and read a a little bit to a lot from a lot of math textbooks.
This is all probably stems from graduate school training and my ADHD... It also helps to have PDFs or online versions and a baby that had some serious aversion to sleep, so the only thing you can do is sit in the dark rocking her and read...
Usually with math/stats books I’m reading it for a specific purpose, so I start using it right away. For instance, I had to do some differential geometry and Lie algebras recently. I did problems in the book until I understood the material and then wrote some code that used it.
For the PL theory stuff, I mostly just tried to write a simple Scheme-like language interpreter that added worked with the thing or tried to use a new language that leveraged the ideas. When I was reading about compilers I basically just started adding compiler stages to a simple compiler. When I was reading about dependent types I played around with Coq, Agda, and Lean.
I won't say I remember everything I read, but I highly recommend reading as much as possible. My career has been on an upswing the past few years and I have to think reading more has been a contributing factor.
Reading has been particularly helpful at my current job where I don't have any mentors or more senior people to learn from, books have helped fill at least some of that gap.
Context: I am a software engineer / architect with 8 years full time dev experience.
Want to share any technical books that have affected you? Any favorites?
I think those books are great but I also think that starting with them might not be a great thing (depending on interest, of course) as they are so daunting to get through. On my side project (https://www.programmingbooks.dev) I try to map out how a roadmap on how to gradually work up to these more heavier books that are still a great read.
I'm in a slightly weird position of having been a professional dev for many years but have big gaps in my computer science academic knowledge I am trying to make up for. Mostly just for personal satisfaction so I don't mind slow progress.
There are many other good books that are much easier and shorter reads than SICP. Maybe try some shorter books in-between the long books.
Check out my side project for tips (and a roadmap for reading programming books https://www.programmingbooks.dev)
There's also different reasons for reading technical books: getting answers to current problems (though most people would just search the web); going deeper on a specific topic that you're already familiar with; tackling a new area; etc.
While I read a lot of pieces of books, I find reading in a group (book club[0]) to be the best way to really understand what's read (as well as providing a bit of discipline and structure to make sure I really read it and don't just skim/skip).
[0] This is why I run a weekly book club as part of my Discord community (https://ted.dev/discord), so I know I'll deeply read at least a few books every year.
I think that you learn at least something by just reading, another perspective on things is valuable. I think an open mind is the most important when reading.
> [0] This is why I run a weekly book club as part of my Discord community (https://ted.dev/discord), so I know I'll deeply read at least a few books every year.
I love that you have an open book club! Maybe I'll join, We have one at work that I organize and it is great fun and one of the weeks highlights. I have also tried to collect my tips for starting a book club here (https://www.programmingbooks.dev/articles/book_circle/)
Books that just give information (especially techs) are replaced by the Internet. Other books are supposed to teach me something, but my experience is that I learn stuff by doing and thinking rather than reading.
So, it can be 4-8 books or none depending on the year.
What kind of books have you found yourself reading the last couple of years and with did you like and with didn't you like?
DDIA was the most useful since I could apply it directly to my work, the others not so much. Not even sure if I took away much from the ML books since I rarely use it in practice. Still enjoyable overviews. DDIA will stick, others won’t.
By then end of the year, I'll probably be up to 12-15 total, but not reading everything.
Edit: I probably read about 1/4 to 1/3 of each book (although this varies widely), so that puts me at ~4 full books.
I can understand that some books are more reference than narrative. Yet, I find that most books are usually a coherent whole that is more than the sum of its parts.