Ask Slashdot: What Training is Necessary in Becoming a Sysadmin? 112
Keith Bassett submitted a question which
might interest a few of you out there who aren't
in the industry, but might be looking to get into
it. He asks:
I am currently working in IT as an
installer/support person for Pick based
systems, and for Win32 networks.
This is fine, but I really want to be
working as a Unix/Linux administrator.
My trouble is simple.
What sort of training have the
administrators who read this page had?
What sort would you recommend?
I am willing to hear any and all opinions
on this, and could seriously use the input."
Keith adds the following. "Please don't just send me mail telling me to learn Linux... I already have a small network with three machines running it at home. I need advice on how to make it my career."
Is knowing Linux enough? (Score:1)
KN
Sys Admin (Score:1)
No Subject Given (Score:1)
Lessons learned:
1. hang out on usenet and learn.
2. buy and read O'reilly books.
3. volunteer for any learning experience.
4. get your hands on the stuff and play
5. take a course related to sys admin
6. be confident
7. headhunters will be happy to talk to you
No Subject Given (Score:1)
class shmass - just do it. (Score:1)
here's my $.02. A friend of mine was just asking me this very question today, but was hell-bent on getting some kind of certification. Classes and Certification should NOT be your primary objective as a means to becoming a sysadmin.
1) buy books. lots of books. read them every time you need to figure something out. eventually, you'll have read many of them cover to cover. www.dejanews.com is also immensely helpful.
2) dink with your home network. do things just for the sake of doing them. you can't really learn nfs or nis without a network.
3) get a job, any job, as a junior sysadmin. 6 months of part-time work will do wonders.
4) I got dedicated ISDN, and it was immensely helpful to me. That way, you can do your own web, mail, and dns server. YMMV...
5) take classes or certifications only if it's convenient. I've never taken a single unix course. I've been at it for 2 years and make $60k. (and I have a BSCS from a top CS school, but that's not really necessary)
6) solaris is the most marketable unix at the moment. (for the most part. may depend on your
location)
7) any *good* sysadmin is a competent shell programmer and often knows Perl and/or C as well. It's worth your time to learn them.
all are just my opinions.
howto.. (Score:1)
it relates to your preferred learning method
(visual, taught-in-person, read), but be sure to
get hands-on experience. if that means begging
an old 486 and putting linux on it, then so be it.
a little programming experience is nice, too, but
just learning in the process of fixing things you
screw up is how i got where i am today..being a
very happy admin for a research group with more
toys than i thought even existed...
Sysadmin Training (Score:1)
Failing that, get ahold of or get access to some free and commercial unix systems (in addition to Linux) then try installing them and setting them up, fiddling, etc. Work them into your existing Linux network. Spend a good portion of your time with these other unixes to get a good feel for how they are organized, how the administration stuff works, etc. Get to know vi, perl, and the syntax of simple commands in most of the common shells. When you get stuck, the O'Reilly book Essential System Administration is your friend.
Also, Unix machines rarely live in a vacuum. Get some machines without unix on them and try to network them together (set up a samba server on the unix machine, etc.) If you can integrate several machines and get things running smoothly, you will be more valuble to employers than someone who "only" knows unix. Set up some printers too; try to get every machine printing to one printer. Get IP masquerading working if you don't already have it working (sounds like you do) and get all the machines on the network to get their network connection from there.
Along with that idea, get some software that you may have little intrest in but is commercially valuble/used a lot and install it. Stuff like MySQL (learn some basic SQL syntax -- chances are you'll have to know it sooner than later, as many companies have system wide configuration information in some databases), apache, squid, etc. Know how to install a compiler from scratch.
Try (and fail repeatedly) to get sendmail to do what you want it to. This is a lesson not only in learning to grapple with sendmail, but also a valuble experience in frustration.
Keep up on industry info, by reading things such as
Develop people skills. The systems you are keeping up and running have users. Develop good relationships with your users, and keep them happy. Happy users are more likely to tell you things that are a little flaky -- if you treat your users like shit, they won't come to you with their problem until it is serious, serious, serious. On top of it being serious they will have tried to fix it themselves, which probably will make the situation worse. This is to be avoided at all costs.
Try to get good at teaching someone how to use a system, application, or process. Don't consider this a waste of your time -- the more technically competant your users are, the better they will be able to tell you what is wrong, and the more likely they will be to spot something which seems obvious to an experienced user. On the other hand, you want to impress upon them the importance of not just trying to fix it themselves, so be prompt with user complaints.
Learn, memorize, and understand the implications of the Number One Rule of system administration -- If it isn't broken, don't fix it. Something that may annoy the crap out of you may be just fine to your users. If they have a procedure or way of doing something let them keep doing it the way they know how, unless they have to use another application/procedure to get the functionality they need, or if what they are doing is a security risk.
Gently refuse almost all requests for help if the machine in question is a user's home machine. Refer the user to the local computer repair shop -- you'll save yourself a ton of headaches this way. Build a reputation for being able to fix work related computer problems, not home computer problems. I'm able to do this because I don't run windows, and don't really know my way around windows all that well. I tell my users this and have them go elsewhere with their home computer problems.
If you get stuck, the man pages are your friends, and bitch furiously at any developer who insists on only including info pages and not man pages. Man pages are portable across many unix systems; info pages are not (without installing some info reader or something.)
Newsgroups are also your friends, but they are kind of like your scruffy friends down the street that taught you everything about sex and that your mom didn't want you hanging around with. Be leery of discussing too much security related info on any newsgroup and try to be as generic as possible in a problem description. Get a generic address to put in your usenet posts and don't let people know where you work, as they'll want to try to hack your system if you work someplace famous.
Above all else, remember that becoming a good sysadmin, much like becoming a good computer programmer, is about learning how to learn fast. If someone throws something down on your desk and says implement it and you've never even heard about it, then you have some fast learning to do. This skill can only come with experience; everything that was said in the above paragraphs is aimed at trying to get experience without an actual sysadmin job.
Try not to get too frustrated, and pick up a hobby that has nothing whatsoever to do with computers. You'll get sick enough with computers after fixing all kinds of problems on them all day and then coming home and fixing all kinds of problems on your home computers all day.
Good luck and God bless.
--John Wilson
jowilson@mtu.edu
http://www.ed.mtu.edu/~jowilson/
Yes, get the damned money. (Score:1)
Good career choice -- I wish that I could say I planned it, but I was just lucky. If you are smart enough to choose this, even better.
"El Rod Grande"
Mexican love god and UNIX guy
Is knowing Linux enough? (Score:1)
Requirements (Score:1)
Some will think I'm kidding, but I did sysadmin/tech support duties for a local ISP for some months and the hardest thing to deal with are your users. You will demonize your users eventually; in your twisted mind they are all actively trying to break things, destroy their own machines, and conspire to ask exactly the same simple question over and over and over again. Only slightly better is the hardware, which lies in wait for you to trust it, then suddenly driving a four inch spike through the cooling fan and melting down just to spite you. (Software always sucks, some just sucks less than others.)
I had a horrendous time and probably would've completely flipped out if I hadn't quickly learned to deal with my temper; even though I intellectually knew that the vast majority of people are just common folks who don't know what they've gotten into, and even the abusive ones were just frustrated, and even though I was paid to help them, they would still work me up.
One other post mentions people skills; I don't know how important this is in a large company, but in a 20 person ISP as long as you didn't spit at the people on the phone you were fine. Not screwing up was to a large degree more important.
If this sounds like fun, welcome to the club.
-- Graham
Younger Admins (Score:1)
I've been working with Linux & FreeBSD at a SA level for 2-3 years and UN*X in general for about 5 yrs. But nobody I've talked to seems to think that administering a 250+ node network for 2 yrs. (with Dynix/PTX on a quad 386-16 towards the end) at my high school counts for anything.
I just ordered DSL, and am planning on setting up a full time mail and DNS server for experience in the hope that it may be of use, but I'll see.
Any thoughts?
My suggestions (Score:1)
1) Set up your own hardware - build your own PC's, and network them together. Install lots of peripherals and get them to work.
2) Get at least one Linux distribution and some other "free" Unixes (Solaris, SCO, FreeBSD). Install them. Get them to work with each other over the network.
3) Read online documentation; as much as possible.
4) Buy books and read them. The O'Reilly books are great, and reasonably priced. There are a few titles outside of what they publish that I would also recommend. (Mostly on sysadmin and network admin. Also, "The Design of the Unix Operating System", by Maurice Bach. If you don't know the basic fundaments, you will always be at least a little lost, and maybe not even know it.
5) Develop a strategy, prioritizing what you need to learn, how well, and how much (this should have been #1
6) But aside from all that, the most important thing is attitude. If you are going to be a competant sysadmin, you need to have an attitude that is focused on the integrity of the system, and being able to recover things if "something happens" (i.e., be able to handle worst case scenarios). And along with that, also be a good "People Person" and remember that they are what it's all about.
Jay Ts
jayts@bigfoot.com
http://www.kachina.net/~jay
The Way... (Score:1)
2. Get a basic User account.
3a. PLAY!!! The words said to me that made me a sys admin were "You can't break anything".
3b. Make sure that the sys admin that gives you an account knows you, and knows you won't do anything malicious. Also, make sure she/he knows what he/she is doing. (I can only call myself a sys admin on systems that I can repair if you do manage to break something, anything.)
4. Go read some O'Reilly books. If anyone tells you different, smack them! (NOTE: The IDG books that are coming out (tan/black cover) that are geared toward linux are may be 3 pages of good info, the rest is kinda like linux propaganda)
5. The best book I've ever bought is O'Reilly's "UNIX in a Nutshell" (US$10 for blue cover, US$20 for white, same book, different publishing).
6. The idea of working for a startup is a good one, I did.
7. You must Live, Breathe, Eat, Drink, and Love this stuff. To relax, read a computer zine (or slashdot
My company, when I started, was 2 partners (graphic designers/Director programmers, mac based), and a 3D animator also mac based. I started out doing odd-jobs, then found the SGI system sitting in a corner. I met the guy who did part time adminstration, and watched over his shoulder, occasionally running a telnet session on a neighboring system, and reading MAN pages. This system was like nothing i'd ever seen before (I started x86 systems with Dos/Win3.1/NT3.51, before that was a C64). I don't mean that it was UNIX, that was no problem, but what amased me was that the system did what it was told. Micro$oft OSes just do what they want. I found that a window system (X) was unnecessary, and that even at the console, I just opened up a shell. Realizing that UNIX was where it's at took about -30 (negative thirty) seconds.
I started at this job, and UNIX about 4 years ago (no formal computer training at all, massive informal self-taught computer education), and learned most of UNIX and DNS in the first 2.5 years. Now, I'm 16, and am the systems/network administrator for a multimedia/web design company. The main file server runs RedHat 5.2, and has a PII 233 w/ 64 mb ram. The previous file server was a compaq proliant with 128mb ram, and dual PPro200s. As you may have guessed, the new Linux system outperforms the NT server (Samba is used for file sharing).
-Anon. Coward
Is knowing Linux enough? (Score:1)
I'd pick CE over CS (Score:1)
I do, however, agree with everything Fastolfe said in his post, but the CpE curriculum is highly theoretical in lots of places, and probably overkill for someone looking to get a "practical education" on becomming a Sysadmin.
comp.os.* comp.os.linux.* comp.unix.* (Score:1)
Everything you need to know to administrate unix (Score:1)
(I'm SOOO glad I don't have to back up over appleshare to a Zip disk anymore!)
Zen of System Adminstration (Score:1)
First you must master the art of coca-cola conservation, drinking a maximum of 2 liters of soda per day. This comes in handy when you are pulling an all nighter working on boxes.
Many other skills are required to be a quality system adminstrator. A good system adminstrator will have at least basic programming skills. The more you know, the better.
You must always be prepared in case of an emergency. What would happen if your mail server died? What would happen if your authentication server goes down? What would happen if you ran out of coca-cola or those little caffinated penguin candies?
And most importantly, document *EVERYTHING*. Another person can't be expected to fix a problem on boxes you adminstrate when you are out.
All of the above, and something else... (Score:1)
One of the things I did while migrating from controls technology to sys_admin was work part-time for a temp agency. Odd little jobs, re-building a "dbase" for the sales dept of a local radio station, and, "installation" of a five machine network for a law firm...
Downside: It won't demonstrate more of a skill-set than you already have. Re-read the earlier comments.
Upside: 1) Salespeople and lawyers get around. Make sure to deliver more than promised. 2) You won't run out of things to talk about during your first interview.
good luck =)
Brian
Unix Administrator/NT wrench-turner
Everything you can (Score:1)
- Tony
Yup, same ol, same ol ... (Score:1)
Went to college, found UNIX. Installed Linux on my personal machine (with help). Played with it for a while finding help when needed. Started building more machines running Linux. Got my own domain to learn about DNS, etc, etc, etc.
Eventually graduated with a CS degree, got hired by a start-up. Now learning what I can about administrating a very heterogeneous environment (7 flavors of unix, multiple field offices, etc.)
So, my suggestion is basically the same old, same old as the other posts
I'd also suggest joining USENIX/SAGE (System Admin. Guild) -- lots of good information, and one of their current projects is working on education and training, so you might be able to get some help from that direction.
I'm finding that being a sysadmin is half being technically competent, half having good people skills, and half having the ability to learn and solve problems. (it's a big job, so it has three halves
Everything you need to know to administrate unix (Score:1)
Is knowing Linux enough? (Score:2)
I've now been adminning for almost 2 years, working on Solaris 2.5.1 and 2.6, SunOS 4, HP-UX 10.20, Linux 2.2 (well late 2.1 and 2.2pre, 2.2 isn't quite out yet... close enough for me), Linux 2.0, and some minor exposure to Irix (but not much, mercifully. No offense to Irix admins out there. But then again, maybe you feel the same way...;-) ).
Systems Administration isn't a job, it's a way of life.
Experience, curiosity, common sense... (Score:1)
Relocate to the right place. (Score:1)
Nada (Score:1)
Now I've gained a hell of a lot of experience with AIX and IRIX, and am moving into Solaris and Oracle. Both have been dropped on me in the last few months and I'm expected to maintain them anyways.
Bottom line, even if you think you you don't have a very good shot at an Admin job, apply! The worst that can happen is they say no.
No Subject Given (Score:1)
- Ignore the stuff about eat/sleep/breathe Unix. If you like this stuff enough to be a sysadmin, you'll do it in your spare time anyway. (After a few years in a related job, you probably won't want to anymore though.) I suggest you remind yourself what summer is occasionally.
- CS degree of whatever sort is useful, if only to let you play on a decent network. In the UK, I think academic CS depts have acted as a useful training ground for many sysadmins. Whether this is still true in the age of public spending cutbacks, I don't know, but I certainly did my apprenticeship in that environment by staying on in Support after my degree.
For the first couple of years after graduation, I considered my CS syllabus to be completely irrelevant to my work. I now see that an overview of subjects such as project management and documentation (my degree had a heavy, large-scale software engineering emphasis) was extremely useful and I wish I'd paid even more attention. Many sysadmins are now expected to act as the implementors for new business systems in companies. This kind of work shades into consultancy.
You can do it without the degree, but it's different again. Those who have will always claim you don't need one, and vice-versa. It would be nice if universities cottoned on and started offering sysadmin modules as options in their course syllabi.
- Yes, being able to communicate in TCP is important, but people skills are equally so. Too many admins are viewed as rude, arrogant, pointless, unhelpful and/or egotistical by their users (and I'm not trying to evade guilt myself).
- Join USENIX & SAGE if you care about this profession.
Good luck with your intended career, it's an excellent choice.
My Worthless Two Cents (Score:1)
The minute you install Linux or FreeBSD or any *NIX, your a system administrator, technically. You administer a system.
Of course, that won't get you a job anywhere. But, you have to start with the basics. My approch to learning is my site, allowing a few people I trust to have accounts, and slowly learning how to deal with problems when them come up. And problems DO come up.
I have learned more in the last 6 months maintaining a single server for several people than I have in years of just "useing" UNIX.
And, that alone wouldn't qualify me for a system administrator position, nor would I dare apply for one yet. You need to learn about as much of the "networking" side as you can as well as just keeping one box standing and meeting the needs of your users. DNS, Routing, etc...
Buy some books, start reading, there are plenty of books out there. Look into what kind of jobs you would want, an then see what the work would be doing mostly. But it's a vast experiance, I have bearly scratched the surface in my experiances, and I know people who have been at it for years and years still find new problems every day. A good system Administrator isn't someone who knows more than everyone else. A good system administrator is someone who can figure out how to solve problems no one else has seen before. . Work on your problem solving skills!
First of all... (Score:1)
How I did it... (Score:1)
The crowd I work for (a facilities management company) had a few itty-bitty Unix boxes that required very little system administration. The sysadmins were primarily a network admin and a mainframe systems programmer respectively. They usually had no need for a dedicated system admin, and when they did, they hired a contractor for six months.
At this time I was a mainframe operator, and had no formal qualifications. But I had console access and arranged root access to a few of the Unix boxes.
This was when I voiced my interest in Unix administration as my career direction, and started playing with their systems. Tidying up scripts, automating backups via cron, etc. All this time I was messing around with Linux at home, learning as much as I could and noting the differences and similarities between Linux/SunOS/BSD/HP-UX.
The company then sent me on a 5 day intro to sysadmin course, which by this stage only, about 30% of was really new to me. About six months later, the company acquired a new contract that required two HP-UX system administrators. The right time had happened.
That was a little under twelve months ago, and I haven't been disappointed.
That's just my story, a little bit of preparation and a lot of luck.
Is knowing Linux enough? (Score:2)
They speak the same language, but the accent's sometimes a little hard to understand.
You don't know your way around but you can ask for directions and for the most part, get an intelligible answer.
The customs are somewhat similar, but often distinctly different.
Choose another career (Score:1)
First, some background. I am now "Manager of Systems, Networks, and Release Control" for a company that develops banking software for the international market. I have over ten years of SysAdmin experience.
My advice to you on how to become as SysAdmin is: DON'T DO IT.
The work is fascinating but the old adage "as SysAdmin you are either invisible or in trouble" is completely true. SysAdmins are generally regarded by other employees as some sort of janitor that you call when the "toilet" backs up.
I STRONGLY suggest that you go into programming instead. As a programmer you will be able to lurk and participate in the more interesting SysAdmin tasks but you will not have the stigma attached to you. Because what a programmer produces is clearly linked to the "bottom line" they get respect and money and promotions that SysAdmins don't.
The SysAdmin may have saved the company from oblivion a dozen times in the course of a year but it won't be remembered at the annual review. If you fail the company goes bust and there is no annual review. If you succeed no one notices that it happened.
Programmers have an almost unlimited career path from programmer, to systems-analyst, to team leader, to project leader, and on up eventually to CIO/CTO/CEO.
The only path for promotion for a SysAdmin is to get to a bigger site with more systems. At the bigger sites you don't get more money or respect, you just get more problems.
I really enjoy the work as I get to "play" with a lot of interesting stuff. However, I would not do it this way again. If you REALLY have the urge to SysAdmin, run your home LAN when you get home from your Career With A Future.
Please remember: I have over ten years of experience and I know quite a few SysAdmins who would agree with me.
A final comment: 90% of users (including developers) are every bit as stupid as you might have heard. I know a programmer who has used "vi" for five years and just discovered ":10,20!sort" (and only because I told him). It isn't maliciousness on their part, for them computers are a job and at quitting time they stop thinking about computers. They don't want to know anything beyond the requirements of the job.
Everything you can (Score:1)
Install Solaris. Nuke it, and install it again. Nuke it, and install xBSD. Nuke it and install it again. Go back to Solaris. Then nuke it and install Linux. Repeat.
Install Linux on that machine. Get another machine and install Solaris. Network Solaris with Linux-- use the automounter. Learn NIS, and get it working. Nuke the whole thing and install xBSD on one machine, and Solaris on the other. Then Linux/xBSD.
Then throw NT into the mix. Install them all so that NT thinks your Linux/xBSD/Solaris box is another NT box. Then get a Mac and do the same thing.
Then install all your operating systems on the same machine, so you can boot into any one of them. (This will require a large hard drive.)
Then pick your favorite two systems, and set one up to be a server. Get Apache working on one, and call that your server. Write a script that monitors disk space, e-mails a list of sysadmins (the list should be kept in a separate file) if disk space crosses some threshold (also specified in the configuration file). Write it in shell+awk; then write it in Perl.
Learn how to script in Perl, shell (BASH and CSH, especially) with all the candy (awk, sed, grep, etc), and some elective scripting language.
Once you've done all that, you'll know whether you *want* to be a sysadmin or not. The only thing you're missing is a bunch of users yelling at you because their printer doesn't work (usually their fault) or calling to request a print job killed.
Then, if you still love playing with computers, buy a used SGI or Sparc 5. Set those up as your servers, and install as many different types of clients as you can.
And if you *still* love playing with computers, seek help.
-Tony
RedHat (Score:1)
Owen
"Its only word, and word is all I have, to take your RAM away" - Boyzone at the Office 97 launch.
Training (Score:1)
Admin vs Analyst (Score:1)
I've been looking for jobs recently, and see ads for 'UNIX anaylst' or 'UNIX programmer/anaylst'--how is this different from being an admin?
Wil
--
Internet Meta-Resources [navi.net]:
Interesting - my experience just the opposite (Score:1)
The farther I go in information technology, and in life for that matter, the more valuable I find the abstract analysis and problem solving skills I learned in the introductory engineering classes. Do I solve differential equations? Not since sophomore year. How about those orbital mechanics problems from freshman physics? Nope.
Do I use the discipline, organization, and thinking skills I developed from hunderds of hours of sitting at my desk attacking those subjects with pencil and paper ('what's a "PENCIL" Dad?')? Every day. And it's getting to the point where I am less and less willing to hire people without that background experience.
System hacking is fun, and experience will take you far. Problem solving is fun, and a lot harder. Theory and critical thinking are very necessary there.
sPh
2cents, learn how things work (Score:1)
year or so, don't even know how simple things like name resolution, remote mounting files, routers,
cron jobs, rsh authentication, ftp chroot, automounting, email-routing, multiple httpd's,
etc. work.
Also, a big pet peeve of mine, is that the UNIX SA's hate windows and the WINDOWS SA's hate unix.
In a mixed environment, this is just plain stupid. (as for me, I hate them both equally
My suggestion, don't be one of the SA's that rely on the IT vendors to tell you what to buy. Not
all good software is free, but then you also don't always get what you pay for.
When an SA knows how things works, things like documentation, maintenence, security, usually fall
into place. Anything that can go wrong, will. Also, be paranoid, very paranoid, since usually
your "power" users will know all the passwords in under 1 month.
Zen of System Adminstration (Score:1)
You already have a job where... (Score:1)
I learned with Unix (Minix '87, SVR2 '85) that was running on public and corporate BBSs years ago, and after the degrees took a job in an NT shop. And just by extending my Unix eperience here, I have become the administrator of local, web, net, et al services via Linux/UNIX. I now have a data transaction system originally developed on Linux in the marketplace.
Start by looking at what services your company needs, take the initiative to provide the solution to that need using what Unix skills you have. All of sudden, you have something for your résumé.
Just a handy reference... (Score:1)
On the brink of sounding like a spam, when you have the time just take a look at
the Unix Gurus Universe
http://www.ugu.com
that's my two E=0.1 (0.1 euro)
What to learn... (Score:1)
it's much easier than you think (Score:1)
Art Fowler
Distributed Systems Support,
Northrop Grumman Corp.
art@NOSPAMgoodbull.com
http://www.goodbull.com
My list of what you should learn (Score:1)
What you should learn depends, of course, on what large of a scale you're going to admin on. So, here's some ideas of how you should do things, IMO: (Note that I'm not saying I have all these skills, they're just what I see as what you should go about learning professional sysadmin stuff. Also realize that this is geared towards UNIX administration.)
Also, remember to never stop playing with stuff either. As others have posted already, setup and secure as many services as you can find, because chances are someday someone will ask/want/need you to set it up.
Oh, and you may want to learn something about NT administration. Keeps suits happy.
---
To Be a SysAdmin (Score:1)
it takes time. (Score:1)
-cjs
A couple tips (Score:1)
1. Play with Linux AND FreeBSD (or OpenBSD, NetBSD, whatever). Learn what's different and why. If you go into a job interview with only Linux and no other Unix flavors, unless they're looking to fill a specific Linux position, you're going to be at a disadvantage. As much as it saddens me to say it, keep up with NT, too. Nearly every job posting you'll see for Unix admins mentions NT somewhere. You don't need to be a guru with NT, but some familiarity will help a lot.
B. Start small. Try to find a job where you'd be kind of a "junior admin", where there's someone on hand to ask questions of. You don't want to be in the hot seat until you're comfortable with your skills.
III. Be prepared to demonstrate knowledge. All of my interviews for admin jobs have involved a lot of technical questions. Don't try to bluff these, either. If you don't know, admit it. Demonstrate that you know where to look to find out, though.
I started my admin career running a lab at school, with a single Linux box, some old, tired SPARCs, and four Indys. I graduated with a degree in Aerospace Engineering (which I have yet to use), and now (two years and three jobs later), I'm making a shade under twice as much as when I first graduated (and a lot more than my Aerospace friends!). The jobs are there, you just have to be willing to start low. Experience builds fast when you're admin'ing a bunch of unix boxes...
Another fringe benefit is that most places are pretty flexible with unix admins. The job tends to attract the odder sort of folk, so they're used to ideosyncracies...
SA is MUCH more than technical skills (Score:1)
1. THIS IS THE MOST IMPORTANT! Being able to effectively communicate with non-technical people. I spend much of my time planning new implementations (hardware, software, etc..etc..etc) with department managers, who range widely in their knowledge of computers. You need to have a great command of the English language, and be able to translate non-technical requests into technical reality.
2. A great deal of flexibility. A SysAdmin wears many hats. You will be asked to solve many interesting problems, particularly if the company you work for is small or medium sized.
3. You must be emotionally stable. You are the train conductor, and nobody notices the trains unless they are late (or crashed). Being a SysAdmin can be a thankless job at times.
4. Accept the fact that you will be in a continual state of learning. If you don't have a passion for this type of work, DON'T DO IT.
5. Go to www.usenix.org and check out the ethical code of the SysAdmin. Live it.
Hope this helps.
O'Reilly Books (Score:1)
System Administrators Guild (SAGE) (Score:1)
Reasonable rates for individuals, and even better if you can get your current employer to pay for it.
The yearly conferences (USENIX, LISA) are great, and there are many Linux supporters (and detractors) present. Great if you can go; I missed it this year.
Other than that? Read O'Reilly books, read man pages for fun and, when you need to, visit the Scary Devil Monastery.
Is knowing Linux enough? (Score:1)
1) Knowing what commands to issue/text files to modify to secure the system?
2) Knowing what holes are open on the system and what techniques are used to close them.( e.g. stopping spam by verifying envelopes and headers).
Obviously, the second choice. If I was a coder (and I am, much more than I'm an SA, but like most UNIX types I find myself in both ships) then knowing what data structure is optimal for certain tasks is far more important than knowing which keywords one to use to create it. If I only had the latter, how would I be able to implement it in another language?
As usual, why is always more important than how.
SysAdmin in one word: learn (Score:1)
When it comes to unix SysAmin knowing how to RTFM, not being afraid to ask questions, being willing to try new things and being able to learn in hot spots pretty much sums it up.
As for books, courses, newsgroups, etc. Latch onto what you don't know or plan on using often.
I know this is really vague, but it is one of those things where you'll know you need to know something when you find out you need to know something.
First (Score:1)
What you need to do is be prepared to come in from the bottom. You will not start out as an administrator, but you can get a job where you can learn the needed skills and demonstrate them.
I did UNIX as a necessity (in school), then as a hobby, then started out right at the top, but it took me many more years of UNIX as a necessity and hobby than it would have taken if I'd started at the bottom and worked up, and I'd have gotten paid for it during that time.
Yes, eat sleep and breathe Linux at home, that will definately help. Especially if you break it a lot and fix it yourself without a lot of help from IRC and Usenet.
But go find a job where you USE UNIX, but don't have to administrate it.
A lot of large companies have openings in jobs that only require very basic UNIX skills. This allows you to learn UNIX, and demonstrate that you know it. It also puts that magic word UNIX on your resume, which lets you jump up at the next job. Look for "system operator" positions and the like. Experience as a lab assistant in your university counts for more than getting the degree.
Small start-up ISPs are a good place to get this experience, too. They often need tech support monkeys, and if you demonstrate that you know UNIX you will get a shot at the next admin opening when they grow.
Ideally, you want to get into a company that uses a commercial UNIX and will send you for training. While you're at it you can go ahead and pick up those Sun certifications or whatever, so that the next job will pay you a little more. BTW, in my experience the myth that getting a cert gets you more money at your present job is bullshit.
Some larger ISPs will pay you to get training and certification, but they won't hire you in the first place unless you've got experience. So be prepared to climb the ladder from the very bottom, and you can be administrating UNIX for a living in a few years.
Sysadmin Training (Score:1)
Be careful about falling into "the golf trap".
You see, golf is a great hobby for sysadmins because it's totally unrelated, it consumes a lot of time, it can be stopped at any point if you get paged, and it gets your slacker ass out in the sunlight.
However, you have to resist the temptation to use it to schmooze the executives, because they're all a hell of a lot better at it than you are and you'll annoy the piss out of them if you slow them down.
That's the golf trap; you mistakenly think you can use it as "networking" time with the PHBs, and then they decide to fire you and hire a new admin who's better at golf.
Requirements (Score:1)
That may be the general case, but it's certainly not always so. I've been an admin at two seperate places where people skills were far more important than competence.
Each of those places now has an administrator who is less competant than I am, but has better people skills.
One of them was willing to spend thousands of dollars to send everybody to a Dale Carnegie human relations course, but not to get them appropriate OS certifications.
People skills are vital unless you want to work in startup ISPs the rest of your life, and important even then.
The good news is that it's easier to improve people skills than technical skills. It just seems harder for us propellerheads.
Air Force Sysad's... (Score:1)
Unless you're not interested in working for somebody else, you're nuts to restrict yourself to one Unix, and even more nuts to pick Linux.
I know Linux is the best, and you know Linux is the best, but the PHB who's going to sign your paychecks probably doesn't know any such thing.
Linux is largely BSD-like, with System V init, but that doesn't mean squat.
The real world runs on things like Solaris (System V), SCO (ancient System V), HP-UX (System V with inits that range from pathological to arcane, including one version that tries to simulate BSD init), etc.
Linux is a place where you can learn some fundamentals of Unix use and administration, but if that's all you've got experience with you better either get a rich uncle to bankroll you starting an ISP, or give up on working in Unix.
Do your career a favor and spend $10 on Sun's "free" CD of Solaris, or SCO's similar offers.
Set up FreeBSD or OpenBSD and make it do the same things you do with your Linux box.
I work on Solaris every day now, and I still have old BSD reflexes biting me in the ass, plus shell scripts that don't do what I expect because I'm thinking tcsh or bash instead of ksh.
Linux is growing faster than any other Unix, that's absolutely true.
It may continue to overtake them. That's an opinion, but I consider it likely.
But the other stuff is gonna be around for a long time, and right now it's where the jobs are. That won't change for a while.
I'd pick CE over CS (Score:1)
Note that for my statements regarding science programs, I'm assuming a Moore Method approach to teaching.
Take my statements with a grain of salt, though, since I am a double CS and math major, so I'm probably at least a little biased.
Just my 2 bytes.
O'Reilly Books (Score:1)
Aeleen Fritsch
Training (Score:1)
You want to learn Unix first hand, and if you are using Linux, and liking it, and some shell programming, then you are on your way.
I would say you need a basic understanding of
shell concepts and shell programming. That's your foundation. Next, you need to understand TCP/IP fairly well - security is an important aspect of being a systems manager. Finally, you need a very good understanding of file and print protocols - people will be depending upon you a lot for these aspects. If you are going to be a DB admin as well - it would be best if you took an introductory course to SQL and SQL type administration duties.
Systems management, however, is a multi-tiered thing. You can learn all there is to know about computers, and be a really lousy systems manager. A good systems manager is extremely well rounded, and very comfortable with his/her knowledge level. BOFS (bastard operators from hell) make piss poor admins IMHO. You need to learn to use human resources, as well as computer resources. In some environments, you will be extremely overloaded. The only way you can hope to survive is to learn when you can trust and employ other employees to help ( a political manuver, that a lot of people rightly sense puts you in a power spot ).
Learning to balance the people against the computer problems is the big task, not the actual work of administration. Always learn to put technology before the people - people should never be robots for a computer.
I hope this helps.
Paul Ferris
cv@jbic.com
Dbl major (Score:1)
If you look at the course requirements for a ce degree and a cs degree, you see a lot of overlap. It's possible to get both without spending any extra time (at some schools), if you don't mind taking only engineering courses (mind? i want to!).
This is especially true if cs is an engineering degree, which is becoming more and more common.
Books & experience, Evi's class (Score:1)
Evi Nemeth's "Unix System Administration Handbook" is a great reference to start with; although its a little dated (2nd edition is almost 5 years old; she's working on a new revision but don't wait for it)
Read the man pages. Get to know when they're good or when they're pointless and go buy the O'reilly book on the subject.
If you want a good sysadmin class, take Evi's system administration class at the Univ. of Colorado, Boulder. You'll be worked hard and expected to do well (including having basic unix and programming competence) but you will learn a lot in the process!
- "former" Evi slave
Is knowing Linux enough? (Score:2)
Since then they have paid for all the O'Reilly books I can eat and are sending me for Solaris training soon. We now use Linux for a few things that Solaris would be too expensive for, like router monitoring with mrtg. I find it as stable as SolarisX86 with a much better GUI. Some of the commands are a bit different. I had to hunt down top [http://www.sunfreeware.com], for one thing.
SysAdmin Credentials (Score:2)
Having a degree or some other paper that says you know what you are doing does help in getting the job, but you can get by in general if you can demonstrate you really do know it. Of course, that depends on the company, too - some companies really want the paper, some are willing to trust your experience, sometimes at lesser pay.
It does make it harder if you don't have previous job experience that indicates you know what you are doing, but again - companies differ in what they are looking for. While it may not be a dream job, a company may just be willing to take that person willing to do the extra work, for a little less pay, to get the experience and then move on.
In my case, I support Solaris and NT mostly, have worked with BSDI, as well as good knowledge of linux, but I had absolutely no official training prior to coming to this job. My current employer has paid to send me to a couple of NT classes, but that's the extant of my training still, and now I'm doing rather well.
The key really is how much you know, how fast you can add to that, how well you can demonstrate it, and whether a company is willing to go with someone who is 'unproven'
In my case, I had the experience, but couldn't really prove it without college training or degrees. (I hadn't even taken a single unix class) What really helped me get around that hurdle, was opting for contract work - a contract agency may take people who are less qualified, or unproven, because they get all sorts of job openings - and that can be a chance to prove yourself. Additionally, a company that might shy away from the 'committment' of hiring an untested person permanent might take them as a contractor. If you work out, the company may then hire you on as fulltime - you've now been proven.
Essentially, it can be done, but companies ARE hesitant to hire someone who hasn't been proven already.
-- Chirik
Unix/NT System Administrator
Qualifications (Score:1)
Infolust(tm) - That's what we call it around here. You gotta love this stuff. The more you learn needs to just feed your desire to learn more. Kind of idealistic, but that's the way I see it.
Oh yeah - there's one more thing that you'll gain from being an admin. Bitterness - once you start to become bitter, you'll know all the hard work is paying off.
Regards,
Admin jobs (Score:1)
1.) learn hardware (I started when the IBM 5150 was new)
2.) Help desk (you learn a lot about users here)
3.) Get a job as a PC tech (not very cool but you learn a lot)
4.) play with every os/computer you can (my at&t 3b1 helped me a lot with odd unix problems and it was cheap)
5.) Read like crazy (I have a book shelf full of ora books)
6.) Go to college (take programing you don't learn very much aplicable sysadmin stuff here but if you know how things work and how to code in a pinch you are far better off)
7.) Work as a Jr. Admin or Tape Monkey (use this time well higher ups will teach you a lot)
8.) Work for startups if you can (trial by fire is a good teacher, plus you get to play with and set up new systems)
9.) Keep reading (This step never stops)
10.) learn stuff others don't want to (cisco config, sendmail, VPN, etc...)
Even though you could go get tons of certifications i have never found the need they cost a lot and are out of date way too fast. Learn to deal will calls at 2 a.m. and don't fix freinds computers and you be in geek heaven.
P.S. After i obtained experiance and a name in the industry nobody seems to care about my college
There are probably two questions being asked (Score:1)
I think there's perhaps two questions being asked: how to become a competent sysadmin, and how to get hired doing the job. They've got different answers; some people have been answering one, some people have been answering the other.
In order to be a good, competent sysadmin I think you need to understand Unix and the Unix philosophy. Once you grok the philosophy, it is much easier to predict and use Unix, because things make sense. The best book for this that I've ever read is Kernighan and Pike's The Unix Programming Environment. As a side benefit, it will teach you a good amount about the basic tools. It is somewhat dated and assumes that you can program.
Get experience on multiple different Unix variants. This will teach a number of valuable things: how things are different, how things are the same, and how to efficiently ferret out information on new things. Try to work on Unixes that vary as widely as possible, for maximum broadening. If you have a network, use it and work out how to manage several different Unixes so that the users (even if that's only you) won't notice and won't care which one they're using.
Learn debugging skills: how to rapidly figure out what exactly is going wrong in a broken thing and how to dive in to tweak it so it works again. I don't know of any good books on this (and it's probably only taught implicitly at your local university), but it is a skill that a sysadmin will use over and over again. Learn how to poke through a system to see how it does a particular thing.
Learn how to program if at all possible. Not just writing scripts, but really programming. I think that in the long run all the interesting and sustainable bits of system administration will involve being able to do so. Sooner or later all the easy stuff will be automated or become grunt-work of filling in forms or changing backup tapes, done by people who are essentially clerks.
In my opinion, good sysadmins don't know everything, but they do know how to find it out; they learn fast and they can ferret out that little necessary tidbit of information. Learn how to find things out on Unix systems; man pages, GNU texinfo, whatever local proprietary system a Unix vendor may have added, and so on. Information, especially on a Unix system, has a structure; grok it, exploit it, and predict it.
Learn how to read manual pages (an underrated but essential skill). When you can read the 7th Edition sh manpage and it makes sense, you have achieved this. (You can find the 7th Edition documentation at this URL [bell-labs.com].)
For getting hired, I have no really good ideas. If you know people in Human Resources departments (or who otherwise hire or filter people), ask them for what they look for in a resume that gets that first foot in the door. This may well be a certificate or a course, even if it doesn't teach you anything useful in the long term. HR often works on magic words.
A local Unix user's group may be a good way to get contacts, and maybe even get offered that first job; if nothing else, you can establish to the people who may hire you someday that you do indeed know what you're talking about. If there isn't a local Unix user's group, founding one is likely to get you fairly well known.
Sys Admin (Score:1)
Yes, I work for Sys Admin, so I guess I benefit in some perverse way if you find this useful, so let me know!
jewels