I have always felt that a software developer was better equipeed to write good software if they also understood how to build the systems that they were deploying their software on. With the advent of the internet that belief spread to the network that their software executes across. I am amazed at how many 'Software Developers' don't even know what a MAC address is and what its significance is to a working system.

I recall on instance where a system in a resturaunt was not working properly. The company that I worked for was the vendor of the POS system that was being installed there. The dealer had procurred a bunch of network adapters on the cheap. ( Back then those things were still a bit costly ) But some of the cards had the same mac addresses. These stupid things were not actually marked mind you but they were in fact the same. I had such a hard time convincing the dealer that the bargin they got nearly cost them the whole customer. I had an ever harder time telling the dealer what the problem was in the first place. None of the 'Software Guys' had a clue what I was telling them they automatically assumed that the software was the fault.

I will invariable now ask a few Hardware questions on any interview even if its strictly a software position.