What Makes a Good Sysadmin?

I went to the June meeting of the LOPSA-NJ group tonight, where we held a roundtable discussion talking about traits that make a good system administrator. Here are some of the traits we came up with.

Adaptability

Organizations are not static. Nor are their IT departments. If you’re in a big company, being adaptable might mean keeping your job through cutbacks, because from a business perspective, ‘adaptable’ might mean ‘repurposable’. Adaptability also means you have enough of a technical background to apply prior knowledge and experience to new problems, new paradigms, new platforms, etc.

I once was on a client site (around 2000-2001), on the last day of a project wrap-up, and I was talking with a business manager and the company’s IT director about their Exchange issues. I suggested that, since they had several Solaris and Linux boxes, and weren’t using any fancy features of Exchange to lock them to it, they might consider using Sendmail instead. After answering a few questions and talking a bit more, they decided to take it under advisement. I was to return in two weeks for a follow-up on a different project, and we’d discuss it then.

When I returned, the two guys whose jobs were to maintain the Exchange servers were gone. Turns out, the IT director replaced the Exchange servers they were used to with freshly ground Sendmail servers after hours one night, and they came back in in the morning to find… no Exchange servers! Just an old Red Hat welcome screen on the server terminal!

The first admin left the same day. The second one tried to stick it out, but it didn’t go well, and he left as well. Of course, there are other issues at play in this scenario, but one of them is adaptability. Besides, I love that story.

Inquisitive

This is a trait that came out of discussions that revolved around things that could’ve gone better if the admin didn’t assume that what they were doing was the right way to do things. I think it boils down to being conscious of one’s own ignorance, and reaching out to resources or people that can help you be more confident that you’re taking the right approach.

The other half of this trait is being genuinely curious about technology, and having a passion for exploring technology. Keeping up with new tools and techniques is, imho, an essential part of being a good system administrator. Every different technology you learn about makes your knowledge of all the other ones that much deeper, and being inquisitive and poking at new tools is a part of a sysadmin’s “lifelong learning” process.

Pragmatism

While it’s great to know about the latest developments in the sysadmin space, there should be a clear separation between what’s “up and coming” and what is “production ready”. Just because that “0.01 alpha” web server does something in a way that is theoretically better than Apache does not merit the replacement of the Apache servers that are running your company’s site. Telling management that it is will likely be a near-term career limiting move. If you like the technology, follow it. Contribute to it. Document it. Help to make it better in some way. Run your own site with it, and try to get your friends to try it out. Put yourself on the mailing lists where people go to get help or complain about it. In short, invest some of yourself in it. When/if it finally catches on, you’ll be one of very few experts around. This is exactly what happened to me with Linux 😉

Grace Under Fire

Working well under pressure is essential, especially when all of the things you’ve done to help avoid pressure-cooker situations fail you. If you can’t keep a clear head when the world is crashing all around you, you’re more likely to make things worse than better. Perhaps this comes with age or seasoning, or maybe it’s a learned process – I don’t know which. I *do* know that I used to get really downright angry with myself when I couldn’t figure out a problem or when something I did caused hardship in some way, but as I gained experience, or age, or a greater level of introspection, my tendency to get worked up beyond a normal sense of urgency disappeared.

Personality

Not all sysadmins are particularly good at dealing with less technical folk. Heck, some sysadmins aren’t good at dealing with other technical folks… or anyone else! Some of them know it, but some of them *don’t*, and I’m not sure which is worse. Nobody, in any job role, wants to work with a grump, or a naysayer, or a zealot, or an arrogant bastard who thinks all users are idiots who don’t deserve to use their precious technology, and certainly are not worthy of their attention and support.

Yeah, BOFH is a great comic. But what makes me cringe sometimes is that I’ll read something there and think “someone out there has done this, and he has the same title as me”.

Time Management

Well, we’re a group of systems administrators who live in NJ, and Tom Limoncelli is a member. He didn’t make this month’s meeting, so we felt obligated to mention time management as an essential sysadmin skill. It’s not that we don’t genuinely believe it, it’s just that we’ve all seen all of Tom’s talks, multiple times, and we all know the gospel by now, so well that this doesn’t even need to be said. The surprising thing is how long it took for someone to break down and say it.

Time management is important. What’s just as important is how you deal with other people in a way that helps you manage your time, which Tom covers quite well in his book, but you don’t see in many book reviews. If you haven’t read it, and you’re not already on one of the various time management bandwagons, I highly recommend Time Management for System Administrators, as it does a great job of boiling down what’s in all of the other fluffy time management books out there, and putting all of that stuff in the context of what we do for a living.

Problem Solver

Most of the conversation over the course of the evening consisted of stories about people involved in interesting situations with technology. But really, the stories were about the people, not the technology. This attribute managed to squeeze a single technical requirement out of me, personally, and I think after some refining I narrowed that technical requirement down to something like “should be able to solve problems using code, in the absence of a more practical/available solution”. Of course, the “Pragmatism” requirement should enable a good sysadmin to decipher when code is the best route to take.

Outside of that, the generic ability to rationally think through a problem to get at its root and then solve it is invaluable. Not only that, it is essential. Required for success, even. While I think our jobs as sysadmins put this skill pretty high on the list of required skills, I don’t think that you necessarily have to have learned problem solving in that context, and most probably don’t. Good problem-solving skills are honed from childhood for some, and are learned in later years for others. Either way, the skill probably isn’t a result of being a sysadmin. Quite the contrary, good problem solvers might be attracted to system administration because the job is perhaps viewed as primarily a problem-solving (and maybe, thereby, heroic?) role.

There are entire shelves in book stores about how to become a better problem solver. They’re just not typically in the geek section of the book store, because (ta-da!) problem solving is a much more generic, high level topic. Not that someone couldn’t write a problem-solving book for sysadmins or something (hmmmm….).

  • http://blog.nirkabel.org/ Andryan

    Can’t agree more with the second-to-last paragraph..

  • http://KnowtheNetwork.com Tsudohnimh

    I completely agree with your article. I would add two more traits.

    1. The ability to effectively communicate about technical subjects with non technical people like users and administration. To speak both geek and non geek.

    2. The ability to see the organizations primary goals and to align IT to enable those goals. To be come inherently part of the business process and not just a supporting function.

  • sonali

    Very good article. keep me updated with some more in near future.

  • m0j0

    @Tsudohnimh:

    I agree – we had discussed the communication thing in our meeting, but I think we decided to boil that down to personality – either that, or I misremembered and just forgot to put “communication”, but there was a lot of discussion about “soft skills”, which is also where “time management” came up 😉

    Also, as to #2 on your list, I agree with you, but I think *that* particular problem is just as much a top-down communication problem — managers sometimes assume that their workers are just cogs in a huge machine, and so that’s how their workers wind up behaving. I will grant the managers this one this: sometimes workers get huge egos when they have someone tell them that their work is instrumental in the achievement of the company’s overall goals, and they start getting wacky and asking for 40% raises. However, those workers have missed the point entirely — a 40% raise would be instrumental in the company *not* reaching its goals.

    For all of the talk about geeks not being able to understand the business and all that, the knife cuts both ways. Managers often (mostly?) have no idea how to communicate the business needs to technical people and put it in their context. Many managers, just like many geeks, think it’s the other party’s job to figure out their language. And the overall IT department remains like a dog chasing its own tail as a result.