
It’s better starting from an old books and retrace the updates from that. And with the benefits of hindsight, you can get truly good ones cheaply.
Another book that's worth its weight is "The Linux Programming Interface" and "The TCP/IP Guide". Also you can probably buy "The Go Programming Language", "Programming Erlang", and "Programming Clojure" and still come ahead. As long as you choose to learn technologies that have thoughtful design, or has a standard (even a de-facto one), you're golden.
_Windows Internals_ and _Internetworking with TCP/IP_ were, in a different form, on every Unix sysadmin's bookshelf in the 90s --- as "TCP/IP Illustrated" and "The Design And Implementation of the 4.4BSD Operating System" (both of which are also great books but are now very dated).
The only rough things on this list are _Network Algorithmics_, _Computational Structures_, and _Surreptitious Software_. None of them are required reading to get started.
I really wanted to add books on signal processing, RF, linear algebra, program trading, and compression, but I thought (a) it would sound self-aggrandizing and (b) there's no end to the domain-specific books I might inevitably end up adding.