I was on a long haul international flight a few days ago, trying to endure 14 hours in a metal tube. As my troubleshooting mind usually does, it was thinking of ways to make the flight more comfortable and efficient. I had all kinds of wonderfully impractical ideas about ways to speed up baggage collection and deal with the poor sucker in the window seat needing to use the lavatory with two sleeping people blocking the path (one reason I always get an aisle seat.) As I was thinking of my brilliant plans, I kept discovering problems with them in the real world. The laws of physics can be really inflexible, for some odd reason.
It really highlighted to me why I like software development so much, because I get to be mostly freed from those laws. If I want the seats in my abstract airplane cabin to be able to move around in 3 dimensions, why that’s not a problem. I can even have them pass through each other like a poorly programmed video game. That’s not to say that the software version of my jetliner is of any real value, but at least I can “break” all of those pesky laws all I want if it makes sense to do so.
The real world just isn’t so flexible, unfortunately. System administrators have to deal with the friction between the physical and electronic worlds even more than us software developers. Computers and users are real, tangible things for the system administrator while they are more abstract concepts for a developer. Now, a good developer will do as much as possible to treat the people as real in order to more fully create software to meet their needs, but unless the software is in-house then there is a disconnect between flesh-and-blood users and their abstract counterparts.
This friction between cyber and meat space requires a delicate balance for the typical system administrator. Server rooms require refrigeration, keyboards break, and users make angry voices on the other end of the phone. But at the same time shared folders can be on in another city, login scripts can be easily duplicated, and password policies can be exceedingly simple or complex. The best administrators are those who can find and keep this balance working, and one reason that software developers don’t necessarily make the best system administrators and vice versa. Understanding the differences will help you to know where you will be the happiest.
People outside the industry don’t really understand the subtle but important differences between various computer specialities. Especially relatives looking for help installing camera software they got for Christmas, for them a computer expert is a computer expert. There are administrators who love the hardware, those who love building scripts and automating things, and those who love working directly with people. Finding what speciality you like and then following it can be a very rewarding experience. It may seem really easy to identify what it is about your chosen profession that you really enjoy, but sometimes it’s not so obvious. Take some time and really think about what it is you love about what you do. Once you do, you’ll be able to see what kind of balance you need to strike, and what changes you need to make to achieve it.
If all else fails try out the System Administration Drinking Game to at least identify what it is you don’t like.