Since I first began working with the Internet in college, I have been fascinated by how simple it can be to send a bit of information from one side of the world to the other, and how much complexity is hidden beneath that. Working at an Internet Service Provider in the 90s, I designed networks which efficiently routed data between our several remote data centers and our multiple connections to the Internet. I saw first-hand the difference an effective design makes, and working through the various challenges we encountered increased my appreciation for how robust the Internet Protocol is.
After our ISP was absorbed by Earthlink, I have mostly been involved in the higher layers of networking, providing services like DNS, SMTP email, and Web services. The skills I learned while operating a network have been very helpful with this, since an understanding of what's going on at the lower levels of the network is crucial for troubleshooting.
As I've been working on mobile networking applications the last few years, I've found this especially useful. Problems can crop up on the mobile device, the carrier network, the Internet, and figuring out the source of unexpected behavior requires thinking about the different components of a network connection and how they all fit together.