I used to purchase many physical technical books, but now only keep a select few (which is still probably a good 200+ books) on my shelves, mostly the classics, e.g. GPU gems, game programming gems, numerical recipes, etc. Now I pick up digital versions of the books and make sure I can get them in PDF format. I have a few of the Fujitsu Quadernos for reading books these days, which makes a huge difference to trying to read on a smaller tablet.
Generally I avoid picking up books on "fast moving topics" e.g. the latest web framework de jeur that has gone through 19 versions since the author started writing the book and when I eventually purchase it.
Some have commented that a Google search is sufficient. It might well be for asking a single focused question. But a book will provide both breadth and depth. If you want to actually understand a whole subject area, then you can read the comprehensive coverage of a topic by an expert which has been properly written and reviewed. It's a lot more productive than random blog posts and stack overflow discussion in the longer term.
When I compare my knowledge and understanding on multiple subjects with younger co-workers in several of my previous jobs, one common theme is that they haven't read up in detail on many subjects, and it really does show. I'm someone people go to when they get stuck, and a frequent comment is how I know all the esoteric details of systems and understand how everything fits together. The answer is that I read, learned and understood many many shelves worth of books, while others couldn't be bothered. Randomly hacking and googling stuff can only take you so far; becoming an expert takes a bit more effort.
I might suggest something more above the free of technology and more in the design of software. Ideas that last are the ones around approaches to design vs. actually technology that they are implemented with.
My co-worker (a younger version of me, actually and way smarter is wise beyond his years) gave me this book - which is as old as my career and has relevance on how we design software at my day job.
https://www.amazon.com/Domain-Driven-Design-Tackling-Complex...
Books tend to have good comprehensive overviews of an area/technology, whereas most online tutorials are very shallow, even if more current.
On the flip side, when I need /deep/ understanding it’s almost always a combination of a book on the topic to fill in holes I missed, the docs, and live repos if available.
If it’s just for day to day use, or a technology I’m only using in passing - no.
I do vet the authors though. A lot of trash is published.
I got so inspired by reading that I created a website just to try and help people read more programming books. The biggest hurdle is usually finding a book that is not too hard or too long to start with.
Occasionally will spring for a hardcopy book form.
True, most are outdated fairly quickly and few have long lasting value beyond 1-2 years. But when done right, nothing is better than a good text to guide you from beginner to intermediate, or intermediate to advanced. I've tried watching video but it just doesn't seem like an efficient mode (for most video courses, there are exceptions and wonderful video courses).
For math/algorithms, yes. There are still many topics that do not have good online articles but are covered at length in textbooks. These topics are usually covered in journal articles too, but at a much more terse level than a textbook chapter.
One example: probably contrary to a lot of people on HN, I haven't done a whole lot of web programming, and a few years ago got involved in a project that touched on Angular, Node, VueJS, etc. I found reading (parts of) a few real books to be helpful in getting up to speed in general understanding, but now am back to just using web resources.
And, how did it go?
I have my own website where I focus to help developers find what book to read based on a roadmap to be a master craftsman.
Here an idea that would make technical books relevant again in the age of blogs and Google: I think technical books needs to be live content (I don’t mean course like) - you buy a book and get an online subscription to it (almost like an ebook) but live in a sense that you get access to subsequent editions and updates examples etc.
If I'm learning tough new concepts, I usually start off with a good YouTube video and then fill it out with books. For whatever reason, although I read a lot of books, that seems to work better these days.
There are some gems out there, but there are also a lot of mediocre books.
Ironically, I go through documentation/stackoverflow/etc most of the time :)
however, i don't reference them as much as i did when I was starting out. stack overflow and the like (along with _good_ man pages) have reduced the need for that