Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I've recently graduated and have got a job at a fast-growing dedicated/VPS hosting company as a junior sysadmin.

I'd like to know any tips or advice you more senior sysadmins have, e.g. what mistakes did you make when you were younger, certification, how to stay organised.

Thanks!

share|improve this question
add comment

17 Answers

up vote 33 down vote accepted

My best piece of advice is to remember ignorance is not a sin. You don't know everything, nobody does. Read the documentation, ask for help. It is far better to spend some time and possibly a few shreds of credibility with your peers to find learn before you screw up, than to leap in and really mess something up. Everybody screws up sometime. Just don't be the one who screws up because they didn't RTFM or ask around first.

share|improve this answer
4  
Yup, assume you know nothing. Read, and read some more, then ask targeted questions. Try to document systems from the point of view of a novice. This will help you understand how everything is set up and provide something useful for the next junior sysadmin - when you stop being the new boy. Over the course of the next 6 months you're likely to learn more than you did in college. –  goo Jun 19 '09 at 20:32
9  
I love this advice. It will also help you avoid driving your technically-competent customers up the wall. I have no problem with support staff who don't know the answer to something and are willing to admit it and bring in a senior tech. It's the ones who insist that they do know, when they clearly don't, who need to find new jobs. –  Ben Dunlap Jun 19 '09 at 20:41
    
I agree with Laura here. Not knowing anything is where all of us started, and if we were honest where we all still are. If you approach with humility, you will be just fine. –  Matt Jun 19 '09 at 20:42
2  
And "assume you know nothing" is excellent advice also. In fact that's probably the only assumption you should ever make about any technical problem. The road to solving just about every really knotty problem I've ever encountered has begun with me asking myself, "what am I assuming here?" –  Ben Dunlap Jun 19 '09 at 20:43
1  
@Matt "if we were honest where we all still are" -- I'm not totally on-board with that. Sure, relative to "knowing everything about everything" we all know nothing. But some people really are experts in certain areas and they know it and that's fine. I think humility, in this context, is ultimately about recognizing what you know and what you don't. –  Ben Dunlap Jun 19 '09 at 20:46
show 3 more comments

Quit and take up a sane profession.

/utterly serious

share|improve this answer
    
+1, google "adminspotting" –  Hubert Kario Jun 11 '12 at 22:27
add comment

Since the technical bits seem well covered here, I'd like to give you the best non-technical advise no one ever gave me.

Don't be an ass.

Even when you don't think you are one.

My worst moments as a SysAdmin had nothing to do with the actual systems, but with the people around them. In the workplace, not everyone is there to do the job and do it well. You will be dealing with egos and fiefdoms. There will be co-workers who make a mission of pointing out the failings (perceived or real) of those around them. You will meet people in IT who haven't the technical chops to work a sandwich line, yet they will seem more valued by management.

We of the bit and baud can be so focused on doing our jobs, it can hurt us.

Not all of the negativity I've encountered has been undeserving. As a teenager and young 20-something during the DotCom, I spoke my mind often and with little regard for how I would be considered. I knew I was technically correct, but, in truth, I couldn't have been more socially or politically wrong.

Putting the vitriol aside, be certain to take stock not only of your technical skills, but your social skills as well. They say "perception is reality". Develop your "bedside manner" as much as you would your coding skills. Do everything you can to ensure that those around you perceive you as an ally, and never as a threat.

I love this work more than I can express. I've loved every job and am grateful to every employer I've ever had. And some of the people I've worked with can go to hell.

share|improve this answer
add comment

The best way to learn is to try things out in a sandbox environment. Get yourself some virtualisation software and play with things - performing server and application installs & definitely spend some time practising recovery from backups. I've worked with many sys admins who are great at day-to-day stuff but have never had to recover the systems they're working with. It's so much easier if you're first time recovering a server doesn't include an irate MD breathing down your neck.

You should also take a look at this earlier question http://serverfault.com/questions/9766/what-a-beginner-should-know-learn-for-sysadmin-job

share|improve this answer
add comment

The best advice I can give, aside from above, is listen. As a group, sysadmins (techs as a whole) tend to be a pretty argumentative. We all have our favorite OS, Platform, Tool, etc. Learning to listen and recognize that the other person may have a point has been a tremendous source of learning for me. Once you recognize their point, you are more likely to learn something from them.

Also, smile... you'd be surprised how easy it is to not smile on a day to day basis, and a good smile will help turn you from "strange guy waaaaay too into computers" to "strange guy waaaay too into computers that I actually kind of would like to talk to"

share|improve this answer
add comment

The hardest part for me was getting over the fact, that this job is not about working with systems (as in system administrator), but rather about working with people.

share|improve this answer
1  
Amen! Maintaining good relationships with your userbase and application owners is absolutely key to happiness and success. If your users trust you are working for them they will give you a bit more slack when things aren't perfect. –  Laura Thomas Jun 24 '09 at 20:23
add comment

Learn about web programming and study good web code in your spare time (if you have any). If you are supporting web servers you will have a much better handle on the "big picture" if you understand how web applications work.

Learn from the experts in your language of choice by reading their blogs and books (the OmniTI folks if you're using PHP; 37Signals if you prefer Rails; etc.)

share|improve this answer
1  
+1 The best thing I ever did as a sysadmin was to learn how to script, which led to VB, which led to full-on development, which led to my current position as a hybrid sysadmin dev. –  squillman Jun 19 '09 at 21:28
    
I moved sort of in the opposite direction, but am also a hybrid now. On the flip side it's really helpful to one's programming to understand how systems work. –  Ben Dunlap Jun 19 '09 at 21:33
    
Learn Perl. There are prettier scripting languages and there are more popular scripting languages, but none of them are as ubiquitous or as well supported on both Unix and Windows as Perl. The folks at ActiveState (activestate.com/activeperl) have done a bang-up job of making sure of that. –  Shazburg Jun 20 '09 at 9:47
    
I also agree. Learn some web programming, but personally I would stay away from Perl. Stick with VB or C# for if you're using Windows, and PHP any other way. –  Snipper Jun 20 '09 at 12:53
    
I wonder if Perl has too steep a learning curve for non-programmers. I don't know because I had been coding for a while when I first encountered it. But it's pretty weird. Plus it's not purpose-built for web sites the way something like PHP is. This is coming from someone who did web code in Perl for years before starting on PHP. –  Ben Dunlap Jun 26 '09 at 22:33
add comment

One of the best things I've learned over the years is that elegant solutions do NOT always win over functional solutions. Solutions need to fit the specs, be stable, be usable, and be supportable. Elegance quickly starts to erode one or more of those attributes.

But, of course, the really good sysadmins develop elegant functional solutions :) So learn learn learn and play play play (in a lab / dev setting of course).

Edit

In addition (and to go along with my point), as you gain experience don't get it in your head that your solutions are always the best or that you can necessarily add value to everything. The biggest pain in my @$$ has been the guy that feels he absolutely has to review and put his personal touches on every single freaking solution that goes in front of him. He's far worse than any high-maintenance user I've dealt with (shameless plug for my question on a Friday afternoon).

share|improve this answer
    
I agree with this. The right solution is the one that works for the business, not something that will win awards for being shiny and nice. Even the best sysadmins will knock out a filthy perl/shell script that just does the job, but would horrify a purist. –  goo Jun 19 '09 at 21:00
    
@Geoff, yes but. Filthy scripts have a tendency to punish your co-workers and successors, and to fail when unexpected circumstances arise, which they always do. So do get the job done, but find the right balance between expedience and ideals. Those ideals exist for a reason. ;-) –  Ben Dunlap Jun 19 '09 at 21:17
    
Excellent point. Another of my favorite mottos is "Don't let perfect get in the way of better." Sometimes people struggling for elegance, simplicity, or the "right way" will refuse improvement because it isn't good enough. –  Laura Thomas Jun 19 '09 at 21:20
add comment

Read everything you can. Documentation. Blogs. Books.

Religious differences aside... learn vi. It is installed on more hardware platforms than emacs. (UNIX admins only)

Ask lots of questions. Especially dumb ones.

Remember that you are in a service role. Provide excellent customer service and help support the business. Technology is a means to an end. Keep it in perspective.

Learn how to automate the repetitive parts of your job. This probably means you need to start coding. Pick a language that your co-workers use so they can give you tips and help debug.

Certification is useful if you want to work for a large corporation or consulting firm. It can help the HR folks check a box and implies that you have at least a basic level of competence. After you have several years experience with a specific technology certifications are not as important.

share|improve this answer
add comment

I have two pieces of advice:

Firstly, listen to your sysadmin elders. Figure out the people at your company who are the most experienced and listen to them. Sometimes being immersed in the rantings of a hardened professional can teach a lot; you'll not only pick up their instinct for good solutions, but their contempt for bad solutions. Hopefully, you'll pick up good practice or be suitably knocked into shape.

Secondly, gain experience by working up to replicating the system environment at your workplace, on a private network or virtual machine environment. This works better for some environments, than others. By replicating what you see, you'll gain some insight into how the specific software your company uses and acquire some knowledge in common with the people you work with.

share|improve this answer
add comment

Coming from a 23 year old sysadmin out of college working for a media company on the web side... I started a couple of years ago in your same situation, so here's a few tips that's helped me.

1) Be personable, think positive, smile and laugh.
2) Be ambitious!! I wouldn't go as far as turning on the emergency fire suppressant to see how it works, but if you think you have an idea to better the company, don't be shy.
2) Be proud of your mistakes, and react appropriately. The first thing I do if I cause a catastrophe is fess up and fix it. If I can't fix it, the higher up's or google will. There's usually a laugh in the end, if there isn't, you're probably working for the wrong company.
3) Understand your role and people will offer their help.

After college, the day I got my job, I was ready to start studying for certification. A couple of months past and I quickly realized that I couldn't study work and exams at the same, so I didn't worry about certification. It's been 2 years now, and I actually just signed up for my first MCSE exam to write next month. Work should be your focus.

Organization is, and still is a fine art to me. It's been a running joke in the department because I'm so horrible at it. Yes, I'm horribly organized and I'm able to make a joke out of it. I first started with several post-it notes, not a good idea. I graduated to little paper flip books, not too bad, not too good. The big winner is the portable white-board on my desk, in front of my keyboard between my monitor, combined with outlook calendar and preferred ticketing system.

Daily visits to serverfault is also a must.

And don't listen to Zenham, those old guys don't know what they're talking about ;).

share|improve this answer
add comment

When you're not busy putting out fires, work on improving things. Examples:

  • Document, document, document
  • Automate menial or complicated tasks
  • Make someone else's work a bit easier
  • Practice programming by re-writing scripts in other languages
  • Write down contingency plans. What would you do if <something catastrophic> were to happen, such as failure of the main database, RAID disk corruption, loss of root password, etc.?

Leave at the end of the day with the business in better shape than it was yesterday.

share|improve this answer
add comment

I upvoted everyone here. All advice is good advice and its up to you to decide what to do with it.

The most important thing listed here is the most frequently listed: Listen. Realize that the people you work with are your customers and you should never assume anything about them.

Realize that you can learn from every situation, even seemingly small ones. There is always something to learn.

There is always something to learn.

share|improve this answer
add comment

Hang in there!

Think of how you can manage your time to devote more time to study. Be honest with yourself and admit it if you really should spend less time partying. Do all you can to stay with it and graduate. It will be worth it in the long run.

ALso I would say learn every emerging technology you can because you only make your self useful to an employer if you can show that you are current and not a 1999 tech dinosaur.

share|improve this answer
2  
He...uh... already graduated. ;) –  Sean Earp Jun 20 '09 at 4:00
add comment

Two things:

1) When you make a mistake, never try to cover it up. Admit the mistake and do what you can to help fix it. Doing anything else will always come back to haunt you.

2) Strive to be the best you can be, but realize that sometimes the right solution is not the best solution. You have to balance technical correctness with time and budget, and it can be to your advantage to use a "less perfect" solution (in some cases).

share|improve this answer
add comment

I have oodles and oodles of advice, but it would take forever to spew it all out into a small comment box. The best advice I can give is this: learn relentlessly.

Learn from your mistakes, take the time to document your ideas and analyze them to grow incrementally, learn from manuals, learn from books, learn from news groups and similar, and learn from the people around you. Seek to be more knowledgeable than everyone around you and then seek out a job with better people and learn from them.

Forget magazines, twittering and other geek-oriented social networking sites, etc. etc. Forget about pabulum!! Invest your time in meaty publications and highly technical articles. Don't understand them? Take one sentence at a time. Look up words on the Internet (Wikipedia, Google). Buy books that explain the concepts. Be curious. Tear things apart and put them back together. Don't quit. Conquer!

Go to job sites and look at job requirements for the most amazing jobs you can imagine. Learn those things.

Read at least four technical books a year, preferably eight. Read one manual page per day. Try to learn the cleverest way to do something, figure out why that's a bad idea and then learn to simplify. Find the essential, eliminate the rest.

A lot of being happy at work or running your own business has nothing to do with technical matters. Read about those things. Study how to be happy. Study how to be efficient. Study how to be present and focused on the now. Learn how to resolve conflicts with others. Learn how to be humble. Learn how to invest your money. Start early. Learn how to learn.

Then go to a BBQ on the weekend and have a beer.

share|improve this answer
add comment

good advice all around.

I'd add:

Ask to observe or offer to volunteer as an extra set of hands for all the changes and maintenance windows you can and then listen and watch.

1 You're young and probably used to little or no sleep from college ;)

2 You will learn tons formally and informally...stuff about your environment including all the gnarly bits, good tips, tricks, mistakes! and how to fix them.

3 In addition to the learning, it's going to be noticed and appreciated as having the right attitude.

4 They might make you do it anyways and it sets a better tone if you volunteer.

Also, just to repeat b/c it's the most important thing I look for in hiring:

Never cover up a mistake (yours or anybody else's). You need to learn from them.

At the same time, avoid pointing the finger at others. If it's not true, your credibility is shot and you may as well pack your bags once anybody finds out. If it's true and the problem is serious enough, the facts will come out without throwing another person under the bus.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.