I don't really have any book recommendations for you (shocking, I know!) but I'll just offer this up by way of encouragement. I think what you're proposing to do is a great idea, and I wholeheartedly endorse having everyone (at least everyone in "the tech industry" or even tangential to it) learn at least the basics of networking.<p>To illustrate why I say this, let me give you some back story. In the late 1990's (98 or thereabouts) I was working in IT, but not as a programmer. I still had not finished my C.S. degree, and I wasn't applying for any programming jobs because at that time I thought no one would hire me without a degree. (as an aside, I quickly found out how wrong I was when I actually started applying for programming jobs in late 1999 / early 2000, but that's a story for another day). Anyway, I was doing a combination of network administration (Novell Netware 4 t3h win!), desktop support, and AS/400 operations. Since networking was part of my job, and networks fundamentally fascinated me, I spend a decent amount of time reading books on TCP/IP, Ethernet, socket programming, etc. Including the classics like <i>TCP/IP Illustrated</i> and <i>Internetworking with TCP/IP</i> (there's some book recommendation after all, hah!) and eventually studied for, and passed, the Network+ certification test in late 1999.<p>Shortly after that I got my first programming job and left all that networking engineering stuff behind. And I don't miss it, especially getting fiberglass crap all over my hands and arms while pulling ethernet cable through drop ceilings, etc. But anyway, the point is.. over the past 23 some odd years, the networking knowledge I acquired has been ridiculously valuable to me, and that value just seems to keep growing. I mean, the joke is "every system is a distributed system now" and that's actually close to true and not a joke in many cases. Nearly everything we build now involves a networking element. And when the network is broken, the system is broken. And guess what? The network breaks. A lot[1]. And knowing just enough to debug things like DNS resolution problems and what-not goes a long way.<p>My current day-job has me doing a lot of work with AKS and Istio on Azure, and one of my "specialities" if you want to call it that, is ingress. I spend a lot of time helping teams get things set up so that traffic comes in and hits their Istio ingress gateway, whether that be by integrating with Azure App Gateway, API-M, IBM API-C, or whatever. And it's once every couple of weeks or so that I just blow somebody away with my genius (hah, haha) by doing something like editing my hosts file to selectively override a DNS value so I can test by short-cutting straight to the ingress load balancer and bypass some upstream component, or something similar. Whipping out "dig" just has them rolling in the floor. And using netstat, netcat, etc? It's like I'm doing black magic or something.<p>The moral of this little story is that having even a fairly rudimentary knowledge of networking can go a long way. And as networks have become more and more fundamental to everything in computing, that's only become more true in my experience. So yeah, I highly recommend spending some time on this topic, regardless of which resources you choose to study.<p>[1]: <a href="https://en.wikipedia.org/wiki/Fallacies_of_distributed_computing#The_fallacies" rel="nofollow">https://en.wikipedia.org/wiki/Fallacies_of_distributed_compu...</a>