today our DHCP server went down, leaving machines unable to obtain IP addresses, and thus unable to connect anywhere to work with. What did most people do? go for coffee.
It struck me just how very few people know enough about TCP/IP networking to manually configure the network adapter settings. Just a minute of typing in the numbers (save for finding out the corporate network's key information) and boom Internet connectivity resume. Yet what I saw was a group of software developers left helpless and idle. DNS servers, gateway, subnet mask are completely alien concepts to them.
Is it me, or should developers as technical professionals ought to be taught basics of TCP/IP networking, and understand what makes the Internet work in the first place?
ADD:To be fair, there were colleagues who so wanted network connectivity to get their work done and did not jump at the chance to enjoy a break. The problem was they simply did not know how to configure TCP/IP settings and more or less waited in line for me to "service" their machines.
My position with the question isn't exactly about pointing out who is a rosh katan or rosh gadol, but taking more from the educative angle - should academic institutions, and then professional software development workplaces, make it a point to teach the people under their charge the basics of TCP/IP:
just the base knowledge to understand how nodes communicate in a network, and then to configure and conduct some basic troubleshooting for their own systems.
The melody of logic will always play out the truth. ~ Narumi Ayumu, Spiral
TCP/IP or networking should be a core subject in many institutions, so there should be little excuse why developers are not aware of the concepts. Perhaps, it's the application of the concepts that many developers are lacking
Try thinking of it in another way, the developers are just trying to jump at any chance to skive from their work..
microlau Blog: http://community.sgdotnet.org/blogs/microlau
I think it is up to the individuals to decide. Good developers would want to know everything they can to circumvent and do better in their work, and this should not even be limited to networking and should even extend to hardware, system administration, database, etc or to software management. It is really up to how the developer wants to progress, I guess.
Recently in the course of my work, people asked me how I know and have answers to numerous problems faced. In fact, I do not know any of the answers previously but I do know how to Google.
Initiative would be the keyword, which would not have left the developers helpless and idle.
I must admit I still try to get by without knowing much about networking or security, and I know a lot of developers who are like me.
I have some in-depth knowledge in other areas, like assembler, to appreciate optimising for performance in code etc, but with my single PC at home, networking has just never been part of my interests... This seems a bit strange to some developers who have been running a home network with internet connectivity all their lives.
When I need to, I'll find out the basics of TCP/IP networking I guess... I have no idea how much there is to know though.
My thoughts are,
A good developer can only go so far without infrastructure knowledge. And in today's time, you seldom see standalone systems... But if you bring this further into the future, then you got to ask where the developer wants to go. Code monkey? Then maybe not that important. Architect, consultant? Understand will definitely help...
Best Regards, Kit Kai, MVP (SharePoint Portal Server)