Does Every Programmer Need To Know About Networking?
Manav Inder Singh
Full Stack Programmer .Net Core 8 | C# | VB.Net | Web API | Web/Windows Application | AI | ML | Python
The network and to a large extent the internet is becoming a vital component of application development especially in cloudy or virtualized environments. The more you learn about networking the more problems you will be able to solve. It also opens several job opportunities that weren't available before. For example most of the time the OS for embedded devices are written in higher level languages that networkers aren't usually experienced with. In turn developers aren't familiar with networking. The result is that network equipment vendors always have openings for developers because the skill set is so unique. They are usually high-paying, long-term, stable jobs with set hours and no troubleshooting requirements.
The information that is useful to you changes based on what sort of company you work for and what sort of code you write. It wouldn't hurt to take some basic courses in networking or read some of the vendor guides. You can also just ask your network and system admins questions. Sometimes the most useful pieces of information come from experience.
Another reason why you should know about networking is basic troubleshooting. Most applications have some kind of network component. Most developers, DBA and even sysadmins do not learn networking. If something breaks and it seems like it's a network problem it becomes a network problems because only the network guy knows how to troubleshoot it. This isn't a problem as this is what keeps us employed, but I've seen developers and DBA's wait hours or even days for a network guy to look at something only to be told it's not a network issue. I've also seen the opposite where they spend days working on something I can fix in a few minutes.