So you want to be a Systems Administrator?
Recently I wrote about the shortage of entry level Operations people. These are the people who run the millions of computers that make everything in our daily lives possible. Without them, there would be no large working computer systems, anywhere.
Imagine a world where air traffic controllers don't have computers, where you need to talk to an operator any time you want to make a phone call, and where you have no email, no instant messaging, and no websites. We've certainly come to the point where it's hard to imaging a world without websites.
The role of managing these and other computer systems is held in Operations groups. An Operations group can include a variety of people, from the desktop support team for a company, to the people who design and build large scale computing infrastructures, to the senior management that help guide the company's IT decisions. It is often a large and under recognized group which has recently been getting a lot more attention for its importance in organizations.
We'll be examining one specific role in the group, the systems administrator, and what you should do to become one.
What exactly is a systems administrator?
The role of the systems administrator (or sysadmin) is quite diverse and encompasses a variety of specialties (in much the same way as doctors graduate and specialize in surgery, pediatrics, internal medicine, and so on). At the high level, the systems administrator is responsible for building and maintaining the computer systems for an organization. When a system crashes, they fix it. When it under-performs, they tune it, and when it gets old they upgrade it.
You might be thinking that it sounds like a glorified member of a home tech support company, and to a degree you're right. In the same way that you might ask someone to come fix your PC at home, the systems administrator fixes computer that run the point of sale system at your grocery store, the scheduling system for your doctor's office, flight reservations system at airlines, and so on.
Well that doesn't sound very exciting!
It's certainly not for everyone! Those of us who have chosen to be systems administrators enjoy it greatly. We get to sit behind the scenes, making sure millions of people every day can order a coffee, read a newspaper, and buy cute hand knitted kittens. Our satisfaction comes from ensuring our users can get to the information they need without interruption, and from building elegant networks of computers to achieve some pretty amazing things.
That sounds better! Ok, you've got me - I want to be a sysadmin!
Great! I have good news, and bad news for you.
The bad news is that there is no short cut to becoming a sysadmin. This is not something you can go to school to learn (yet). Being a sysadmin is much more a vocation or a trade. Most people are self-taught, or they take on apprenticeship and work their way up. Most people (and certainly most successful sysadmins I know) started learning about the work for fun, and eventually grew it into a career, or saw other sysadmins around them and decided they wanted to get involved.
Other successful sysadmins initially take the development path, working as software engineers for several years while they build up their operations skill sets "on the job".
The good news is that the work can be incredibly fulfilling and motivating, and lead to a vast number of different opportunities which can take a whole lifetime to explore and enjoy.
Systems administration can also be a stepping stone to other careers such as software development, IT management, and other engineering careers.
Is that it?
Certainly not! The best news is we have our own day, on the last Friday of July every year. While some may argue otherwise, I believe there is good long term job security as a systems administrator - like the other critical roles, all companies need people to manage their computer systems. We're at an interesting point in the evolution of IT systems; computers are indispensable in almost every type of business, but the availability of skills had not kept up with demand. Computers are also still very specialist devices and will likely remain this way for the foreseeable future.
So tell me - what are my entry paths into this wonderful career?
You have a couple of options:
If you are the academic type, I would recommend pursuing a degree in computer science, computer engineering or even electrical engineering. Most sysadmins have at least a passing interest in one of these topics, whether they study them of not. The desire to take things apart and put them back together, to break and fix things, and to improve what already exists are strong personality traits in many sysadmins.
If you aren't really the academic type but still are keep on working hands on with computers, I would recommend finding entry level work with computers. Jobs such as desktop support, or the tech support helpdesk are both common first jobs for systems administrators.
In either case, spend your spare time browsing the internet for tutorials on common sysadmin tasks:
- Install a web server
- Read the entire http://www.ipprimer.com/ website - this is where I learnt how TCP/IP works and it's really easy to digest
- Buy a cheap old computer at a flea market or on craigslist (don't pay over $100!), and open it up - identify all the parts inside, take it apart, put it back together. Does it still work? Good!
- Google for articles on tweaking your computer to run faster.
- If you're running Windows, find out how defragmenting your hard drive works, browse the entries in the Event Viewer and find out what the all mean, and go over the list of Windows Services and learn about each one.
- If you run OS X or Linux, grab a copy of Think Unix by Jon Lasser
(ISBN: 978-0789723765). It is a great introduction to how Unix-style operating systems work.
I spent the many of my early years reading popular computer magazines and browsing the help columns. When someone had a problem they wrote in about, it was a great opportunity to learn a little more about how things break and how they can be fixed. When you can identify the solution to those problems before reading the answer from the columnist, being a sysadmin is for you.
July 14th, 2011 - 06:43
I would also recommend spending time on the Stack Exchange Network of QA sites (Particularly ServerFault.com and SuperUser.com for SysAd and Desktop Support, respectively) to read, ask and answer questions. This can be an invaluable resource to absorb info and get help when you’re stuck.
July 14th, 2011 - 08:58
Absolutely true! The Stack Exchange sites are the best modern day equivalent of my example of reading trade magazines. I can’t recommend them enough. I still browse them myself, you always learn something new.
Take what you read and try to reproduce either the problem or the solution (or both!)
Expand on what you find, take it a step farther.
Actually, another great thing just came to mind: browse configuration files and settings for you system. Wonder about what each option does and how changing it would change your system. Stay curious!
July 15th, 2011 - 11:23
One more tip: In europe we hire almost anyone as a helpdesk employee. Although this might not be the most exciting perspective, this will be the fastest path to learn troubleshooting. It’s the only skill which separates the pro’s from the new people, and the only way of learning it is by doing it! Sizing up a problem, finding related issues and reporting them clearly 30-40 times a day is very valuable experience.
While doing this, you can get some certification, and a foot between the door as a desktop support technician, or a backend server adminstrator. Two to three years of Servicedesk should be enough for your next step to a (junior) sysadmin.
July 31st, 2011 - 09:24
I think the main problem with building new SA talent is actually that things are to easy nowadays. A long time ago in a land not so far away, if you wanted to do .. well pretty much anything interesting.. you had to grab some skills alongside it to make it work. The number one skill I value in an SA is wanting to know how _everything_ works I believe that most of the rest falls out from that (the second thing is being obsessive compulsive enough to sit through mind numbingly tedious projects from start to end).
Some other things that might actually be fun (for the right kind of person – warning many/most of these could potentially destroy your computer, so get 2 or 3 or 6 – you can often get them cheap/free if you hang out w/ some repair ppl. I have a friend who gets dozens of free laptops/year because the repair cost for replacing the HD is more than they’re worth – but worth doing if you can replace it yourself):
– (difficulty 5/10) crack a locked game. Don’t download a crack, get a disassembler and get to work. This is generally easier for old dos games, and as a bonus you can usually get them really cheap to play with. Setup an emulator in linux, and you have _all_ the control. Practical? perhaps not, but you start learning about the insides of computers.
– (difficulty 1-10/10) Volunteer for a local school or charity org to help rebuild/restore computers for kids/disadvantaged.
– (difficulty 3-10/10) Build yourself a firewall (see av’s old/cheap pc idea above). Now hack your way through it (used to be we’d do that to — other peoples firewalls.. you’re more likely to go to jail now than then though so no longer recommended). Fix whatever you were able to hack through, repeat. Get some friends together and build a LAN and play “capture the flag” (I hack your computer, you hack mine) – best done locally and if possible disconnected from the internet (see legal issues above). This is actually more fun if you intentionally open up some exploits and see how many the other ppl can find.
– (difficulty 6/10) write a web server (hey you’ve already installed like 15 different ones and have benchmarked them all already right? so the obvious next task is…
)
– (difficulty 3-8/10) setup a database (better try at least three, how will you know which ones you don’t like if you don’t try them), build a db to record your book/record/board game/whatever collection.. think about the schema, redo 5 times.
– (difficulty 4/10) see how many OS’s you can install on one computer simultaneously (at least 10 should be no problem – shoot for variety).
– (difficulty 7/9) Write a filesystem. You can “cheat” and use fuse, maybe something that translates files from FLAC to MP3 on the fly would be convenient..
– (difficulty 4-5/10) fork bomb your computer, figure out how to set limits to stop that (or vice versa, figure out how to allow it if your computer is installed safe by default as many are now). Find other ways to allow/dissallow users (not root) from crashing the system and how to stop them (quotas, ulimit, etc…).
August 7th, 2011 - 18:34
Same problem, same solutions: http://altdevblogaday.com/2011/08/06/demise-low-level-programmer/