One of the best things in having a real job as a programmer is working with unusual devices that cannot be seen in an average house. For example when I worked at Microsoft I've been using a KVM - a device that allows a user to control multiple computers from a single keyboard, video monitor and mouse. At Metropolis Software we had Xbox 360 Devkits - gray boxes a bit taller than normal Xbox 360, which could execute and debug game code developed on the PC. And now in Cyfrowy Polsat we have numerous strange boxes doing different things, like RedRat, which simulates IR remote control.
I'm also dealing with a PDU (Power Distribution Unit). It can supply many devices and outlets can be turned on/off programatically via SNMP protocol. By the way, SNMP (Simple Network Management Protocol) is a UDP-based protocol for monitoring and controlling devices connected to a network, such as routers, advanced switches, printers etc. It looks like a hierarchical "property grid" with variables of different types (like string or number), which can be queried and set. There are many client applications, both free and commercial - just look at the list at SNMPLink.org portal. When it comes to libraries for programmers, I've found free Net-SNMP for C and SNMP++ for C++.