Hi! Amit,
I have completed my engineering and seriously looking at System Administration as a career option. Can you tell me about the career prospects?
Its nice to know that we still have engineering graduates among us who think system administration is a challenging field. When I suggest this field to freshers, they usually can't believe that I am sane enough for their further attention. For most of the freshers, learning Java and DotNet are the ultimate goals in computing career.
True system administrators will be in demand as long as companies keep using computer systems. It would be interesting to know what the term _True_ means here. System administration, in general, requires following skills:
1. Understanding how hardware works.
You don't have to be a wizard in digital electronics. But you need to be familiar with terms like SATA, PATA, Routers, Modems, USB1, USB2 etc. Basic understanding of functionalities of various components in a computer system is a must.
2. Knowing how to program.
If one opts for system administration to remain in the IT field, even if he/she lacks programming skills; then it is a bad choice. You can't administrator multiple systems in a smooth way without doing some sort of automation. The tasks like getting a failure notice via SMS, automatic backup of data at odd hours of nights, detection of some intrusion etc. do require programming. Though various tools are already available to carry out these tasks, one can't create a tool generic enough to solve all the problems possible in a setup. So the skills of _glue programming_ is necessary. On Unix/GNU-Linux you need to learn bash, perl or Python etc. For Windows administration, you need to know VB script, perl/Python or power shell for scripting purpose.
3. Knowing various software components used in the system.
As a system administrator, one needs to know how to set up various services required in a company. It is necessary to understand how various services are provided. One needs to know how mail sytem works, how DNS and DHCP functions etc. Ability to set up mail servers, file and print servers, Active Directory/LDAP, document repository etc. is a must for a sysadmin. Sometimes one needs to set up additional tools for project management, time tracking, knowledge base management, wikis etc. As a system administrator, one needs to know how to set up and configure these tools. Also required is the skills to fix problems as and when they are detected. Without a proper understanding of underlying components, it would be easy to feel helpless when your users ask you to solve their problems.
4. Knowing how to manage stress.
System administration is a stressful job if you are providing service to large number of users. One needs to know when to say _no_ and how to say it. Managing people and their needs is one of the most important part of system administration. The idea is to provide smooth services even when the system and the admin both are under stress.
Usually point 1 can be taught to a person. Except point 3, the other ones are generally inherent in people. These things are difficult to teach but may be easy to learn by looking at others' examples. Point 3 requires some good experience. I am yet to see a coaching class where they teach everything required to master point 3.
Also, I am thinking about taking the RHCE exam. I am not able to spot much training institutes in Mumbai, CMS Computer Institute and Gates Training being the only ones I have been able to come up with.
After observing the computer institutes in Bombay for over a decade; and after teaching in some of them many years back, I can safely say that you can only learn 10 to 20% of required skills in any institute. The best way to learn is to experiment on your own computer system. It is a long and tortuous route. But it is the best one leading you to be a _true_ sysadmin:)
Since you are fresh out of the college, no one is going to take you to administer their critical systems. The best bet for you is to join some company as a trainee and learn the secrets of the trade for next two to four years. That experience will be counted to get a fat pay check afterward. People with good sysadmin skills are always in demand. I have seen many who earn more than those so called _real programmers_ of similar experience level. But one thing to remember is that, sometimes programmers can fake it, but not the sysadmin. You do need to know the internals of the systems you manage.
Wishing you a challenging and enjoyable career in system administration.
Raghu