on The basics all sysadmins need to grok…

In light of this being published on Sysadmin Appreciation Day (psssst, HAPPY SYSADMIN APPRECIATION DAY! ^_^), I thought I’d do a post aimed at us – system administrators!

Doing some recent reading, lurking in a few forums and floating about on Twitter, I’ve noticed a number of gripes from other admins regarding things their fellow admins didn’t know that they should. This was surprising to me, but it also made me take a look at myself, as well as the people I work with and realise, sure – there are a few things that I think all admins should know and that not all do.

To help try to combat that, I’ve decided to compile a basic list of things that most admins should know (or at least be able to find out in a relatively quick amount of time!):

Technical

Troubleshooting skills – the skill of looking outside the box and being able to work out how all the pieces fit together…and work out which piece doesn’t fit quite right. This isn’t really something that can be taught, it’s a skill that you either have or you don’t.

– the skill of looking outside the box and being able to work out how all the pieces fit together…and work out which piece doesn’t fit quite right. This isn’t really something that can be taught, it’s a skill that you either have or you don’t. OS skills – while you may be an expert in one particular OS, that doesn’t mean you shut yourself off entirely to all others. Learning a bit of each helps you understand how they work and work out what is the best solution for the problem. Avoid religious bias to an OS, as each has their own uses. I’m not saying you need to be an expert in every single OS, but knowing the basics is truly not hard.

– while you may be an expert in one particular OS, that doesn’t mean you shut yourself off entirely to all others. Learning a bit of each helps you understand how they work and work out what is the best solution for the problem. Avoid religious bias to an OS, as each has their own uses. I’m not saying you need to be an expert in every single OS, but knowing the basics is truly not hard. Networking skills – how ICMP works (and why it doesn’t always work for testing if a network is functioning), how subnetting works, what a default gateway is, the basics of IPv4 & IPv6 addressing, the basics of how DNS works (disclaimer: this is one that I only just recently became proficient in!), using FQDN’s instead of IP addresses in configurations.

– how ICMP works (and why it doesn’t always work for testing if a network is functioning), how subnetting works, what a default gateway is, the basics of IPv4 & IPv6 addressing, the basics of how DNS works (disclaimer: this is one that I only just recently became proficient in!), using FQDN’s instead of IP addresses in configurations. Security skills – what types of accounts give what level of access, what rights are needed to perform certain tasks, how to investigate possible breaches and how to react in the case of an actual security breach (turning off the system is not always the best idea!). In Windows systems (which is what I’m most familiar with) the advantages and disadvantages of firewalls and how they’re used and how antivirus programs work.

– what types of accounts give what level of access, what rights are needed to perform certain tasks, how to investigate possible breaches and how to react in the case of an security breach (turning off the system is not always the best idea!). In Windows systems (which is what I’m most familiar with) the advantages and disadvantages of firewalls and how they’re used and how antivirus programs work. Understanding error messages/logs – this one should be obvious, but I know there are a number of admins out there who can’t work out how to find the information they’re after in their log files. If you’re working with a system, understanding it’s logging is important. Understanding the error messages it produces (even if that error is “Unspecified error” >.<) is just as important.

– this one should be obvious, but I know there are a number of admins out there who can’t work out how to find the information they’re after in their log files. If you’re working with a system, understanding it’s logging is important. Understanding the error messages it produces (even if that error is “Unspecified error” >.<) is just as important. Scripting/Programming – all admins should understand the basics and at least be able to get a script from the internet and understand what it’s doing, as well as understanding the basics of programming (variables, constants, tests, loops, functions).

– all admins should understand the basics and at least be able to get a script from the internet and understand what it’s doing, as well as understanding the basics of programming (variables, constants, tests, loops, functions). Backups/DR – if you don’t test it, it’s not really happening. You need to test your restores, otherwise there’s no reason to perform the backups. You need to test your DR plan, or there’s no point in having it.

Non-Technical

Documentation is king – if it isn’t written down, it didn’t happen, can’t be replicated and no one else can fix it (or maintain it). This could be as simple as a “This is how this was fixed” in a job ticket, or as complex as an entire build document on a server/service in a wiki article.

– if it isn’t written down, it didn’t happen, can’t be replicated and no one else can fix it (or maintain it). This could be as simple as a “This is how this was fixed” in a job ticket, or as complex as an entire build document on a server/service in a wiki article. Communication – while we do spend most of our time communing with our servers/networks/PC’s, we are expected to know how to communicate with other humans. Be a team player, know how to communicate effectively, and that includes with clients/customers/users as well as with other admins. Knowing how to communicate effectively in a team is extremely important. Even if you’re a one-man/woman-band right now, chances are you won’t always be in that position and you’ll have to work in a team of other admins.

– while we do spend most of our time communing with our servers/networks/PC’s, we are expected to know how to communicate with other humans. Be a team player, know how to communicate effectively, and that includes with clients/customers/users as well as with other admins. Knowing how to communicate effectively in a team is important. Even if you’re a one-man/woman-band right now, chances are you won’t always be in that position and you’ll have to work in a team of other admins. Time management – being able to manage your workload, be able to estimate how long things will take (and over-estimate to the customer to plan for any emergencies that pop up) as well as managing your own time, such as remembering to have lunch, remembering to leave work on-time, remembering to take holidays!

– being able to manage your workload, be able to estimate how long things will take (and over-estimate to the customer to plan for any emergencies that pop up) as well as managing your own time, such as remembering to have lunch, remembering to leave work on-time, remembering to take holidays! The users deserve your respect – we’re customer facing, we’re here to serve them . Be nice to them – they’re experts in their own field, they’re not expected to be experts in IT, that’s what we’re paid for!

– we’re customer facing, we’re here to serve . Be nice to them – they’re experts in their own field, they’re not expected to be experts in IT, that’s what paid for! Learning & investigating – keep learning, keep investigating, technology is constantly changing and remember: you don’t know everything! (No one does!) Google is your friend (the number of other admins I’ve been tempted to send lmgtfy.com links…) and can help you out because, chances are, someone somewhere has come across the same problem you have and will be able to help you out!

– keep learning, keep investigating, technology is constantly changing and remember: you don’t know everything! (No one does!) Google is your friend (the number of other admins I’ve been tempted to send lmgtfy.com links…) and can help you out because, chances are, someone somewhere has come across the same problem you have and will be able to help you out! Change can be good – a majority of us are anti-change (my hand is definitely in the air for that one) but that doesn’t mean change is bad. Don’t be that person who fights change just because you don’t want to learn something new.

– a majority of us are anti-change (my hand is definitely in the air for that one) but that doesn’t mean change is bad. Don’t be that person who fights change just because you don’t want to learn something new. The principle of least privilege – only giving the access that is actually needed for the job to be done.

– only giving the access that is needed for the job to be done. You will make mistakes – mistakes happen to everyone, you will make them, just be sure to own up to them and learn from them when they do happen.

– mistakes happen to everyone, you will make them, just be sure to own up to them and learn from them when they do happen. Best practice – sure it was good at the time, but times change, as do technologies. Just because it was best practice then doesn’t mean it’s best practice now – question it, make sure it truly is the best fit for you.

– sure it was good at the time, but times change, as do technologies. Just because it was best practice then doesn’t mean it’s best practice now – question it, make sure it truly the best fit for you. Vendor management – Just because you’re used to dealing with one particular vendor does not mean another vendor doesn’t have an equally viable solution. Also, paying money for something doesn’t necessarily mean it’s going to be good – open source has a place in any organisation.

– Just because you’re used to dealing with one particular vendor does not mean another vendor doesn’t have an equally viable solution. Also, paying money for something doesn’t necessarily mean it’s going to be good – open source has a place in any organisation. ‘Management’ speak – how to get them on-board with what you’re trying to do. You can scream until you’re blue in the face, but if management doesn’t understand what the cost or risk to the business is, they’re not going to be able to get behind you or your idea.

This isn’t a comprehensive list – it’s a collection of things that others have said that I’ve agreed with or have though of myself. I find it interesting to note that the non-technical skills list is far longer than the technical skill set. It shows that while the technology we work with is integral to our jobs, it’s the soft skills that are just as, if not more, important to the job we do.