Wednesday, January 21, 2009
How to Hire UNIX System Administrators
1. Hire System Programmers instead.
There was a time when an engineering or research group could afford only one multi-user computer. It then made sense to have a full time "system administrator" manage it. The system administrator was responsible for managing user accounts, installing new or updated software, performing backups, and troubleshooting. Now everything is different. Modern analogous installations have hundreds, if not thousands of computers, and the number of infrastructural concerns includes tens of new jobs, including monitoring, networking, sizing, budgeting, provisioning, reliability engineering, logistics, security, and so on. These concerns are now as complicated and important as the applications. Yet commonly, the role of "system administrator" persists as somehow subordinate to programmers in most organizations. This leads to interview processes that tend to rate system administrator candidates on the amount of trivia about system software that they know (e.g., "what does the fping command do?"), as opposed to their aptitude as engineers and programmers. The "certification" process, by which operating system vendors drill system software trivia into candidate's heads, also suggests hiring someone by finding out whether or not they need to refer to the manual. Of course, there's nothing wrong with refering to the manual more or less constantly, and given the rate at which software changes, having someone who is unafraid of learning new things is a great asset.
Hire someone who is as good at programming and engineering as any of your other software developers. Consider changing the job title to "system programmer" or "system engineer."
2. Interview about what is happening now, good and bad.
During the job interview, there should be a great deal of back and forth over what the candidate is doing presently, and the work they are a candidate for. Compare the two, and talk about both good things and bad things. This will give you a very good sense of how the candidate works as an employee, and a picture of the breadth of their knowledge. Even recent graduates will have done some related work non-professionally, but recently, which you can talk about.
3. Get a presentation.
Ask the candidate to prepare a 15 to 30 minute presentation on relevant topic. Something like "file system performance tuning" or "transport layer security with SSH" is the appropriate topic size. "Networking" is too vague, for example. "Apache configuration" is too specific. Leave time for some vigorous question and answer at the end. Communication and negotiating skills will be clearly tested. You will also get a good sense of how deep an understanding the candidate is capable of reaching given some time to prepare, which is a good simulation of how things will go on the job.
4. Contract to hire.
Before deciding to hire them, you want to at least see the candidate solve a problem. The trouble is you can never contrive a problem that captures all the elements of real problems. Things like tenacity, handling stress, political skill, and aptitude for learning new things all get factored out when you ask a candidate to solve a problem during a job interview. In fact, you can't even fit a reasonable problem solving exercise into the six and seven hour marathon job interviews that are currently popular at technology companies.
The solution is to contract the job candidate for two to three months before you hire them. This is great for both the candidate and the company, as everyone gets to see how things will go in a permanent position before any real commitment is made. For purely cultural reasons, a lot of companies and candidates shy away from these kinds of arrangements. They can certainly be misused, for example if a company really has no intention of hiring but thinks they'll get better work out of a contractor if there's the promise of full time employment. But assuming nobody is acting maliciously, it's good for everybody.
There was a time when an engineering or research group could afford only one multi-user computer. It then made sense to have a full time "system administrator" manage it. The system administrator was responsible for managing user accounts, installing new or updated software, performing backups, and troubleshooting. Now everything is different. Modern analogous installations have hundreds, if not thousands of computers, and the number of infrastructural concerns includes tens of new jobs, including monitoring, networking, sizing, budgeting, provisioning, reliability engineering, logistics, security, and so on. These concerns are now as complicated and important as the applications. Yet commonly, the role of "system administrator" persists as somehow subordinate to programmers in most organizations. This leads to interview processes that tend to rate system administrator candidates on the amount of trivia about system software that they know (e.g., "what does the fping command do?"), as opposed to their aptitude as engineers and programmers. The "certification" process, by which operating system vendors drill system software trivia into candidate's heads, also suggests hiring someone by finding out whether or not they need to refer to the manual. Of course, there's nothing wrong with refering to the manual more or less constantly, and given the rate at which software changes, having someone who is unafraid of learning new things is a great asset.
Hire someone who is as good at programming and engineering as any of your other software developers. Consider changing the job title to "system programmer" or "system engineer."
2. Interview about what is happening now, good and bad.
During the job interview, there should be a great deal of back and forth over what the candidate is doing presently, and the work they are a candidate for. Compare the two, and talk about both good things and bad things. This will give you a very good sense of how the candidate works as an employee, and a picture of the breadth of their knowledge. Even recent graduates will have done some related work non-professionally, but recently, which you can talk about.
3. Get a presentation.
Ask the candidate to prepare a 15 to 30 minute presentation on relevant topic. Something like "file system performance tuning" or "transport layer security with SSH" is the appropriate topic size. "Networking" is too vague, for example. "Apache configuration" is too specific. Leave time for some vigorous question and answer at the end. Communication and negotiating skills will be clearly tested. You will also get a good sense of how deep an understanding the candidate is capable of reaching given some time to prepare, which is a good simulation of how things will go on the job.
4. Contract to hire.
Before deciding to hire them, you want to at least see the candidate solve a problem. The trouble is you can never contrive a problem that captures all the elements of real problems. Things like tenacity, handling stress, political skill, and aptitude for learning new things all get factored out when you ask a candidate to solve a problem during a job interview. In fact, you can't even fit a reasonable problem solving exercise into the six and seven hour marathon job interviews that are currently popular at technology companies.
The solution is to contract the job candidate for two to three months before you hire them. This is great for both the candidate and the company, as everyone gets to see how things will go in a permanent position before any real commitment is made. For purely cultural reasons, a lot of companies and candidates shy away from these kinds of arrangements. They can certainly be misused, for example if a company really has no intention of hiring but thinks they'll get better work out of a contractor if there's the promise of full time employment. But assuming nobody is acting maliciously, it's good for everybody.
Labels: linux, system administration, unix
Comments:
Links to this post:
<< Home
One problem with this approach is keeping the higher-skilled system programmer 'entertained'.
Sysadmin job can be very tedious. Even if the programmer manages to automate tedious processes, he/she still needs to type in data and invoke those automatons. These are tedious job.
Occasional hard problems could be considered as entertainment, but you certainly cannot afford to have many of them.
At some point, the programmer becomes sufficiently bored such that you have to hire a career sysadmin anyway.
I think you still need to hire a career sysadmin in the end. I'd still hire the programmer, but his/her primary task would still be programming. His/her secondary task would be automating sysadm tasks.
Sysadmin job can be very tedious. Even if the programmer manages to automate tedious processes, he/she still needs to type in data and invoke those automatons. These are tedious job.
Occasional hard problems could be considered as entertainment, but you certainly cannot afford to have many of them.
At some point, the programmer becomes sufficiently bored such that you have to hire a career sysadmin anyway.
I think you still need to hire a career sysadmin in the end. I'd still hire the programmer, but his/her primary task would still be programming. His/her secondary task would be automating sysadm tasks.
@YS:
Seriously, if you think you can get away with hiring a "lower skilled" sysadmin who can't take part in a reasonably large software project but knows all the possible arguments to the 'ls' command and what they do, by all means go ahead and do so.
I would argue that's not realistic. "Career sysadmins" don't exist any more.
Seriously, if you think you can get away with hiring a "lower skilled" sysadmin who can't take part in a reasonably large software project but knows all the possible arguments to the 'ls' command and what they do, by all means go ahead and do so.
I would argue that's not realistic. "Career sysadmins" don't exist any more.
The main reason many candidates shy away from a contract is not "purely cultural." Most contracts do not cover benefits. That's a deal breaker to many people with families.
Oh, and career sysadmins do exist. For Windows. Where they have to walk between machines to make changes. feh.
Oh, and career sysadmins do exist. For Windows. Where they have to walk between machines to make changes. feh.
@Anonymous:
Build additional compensation into the contract to cover temporary medical and retirement benefits for the candidate and their family. Pretty simple arithmetic. Such an arrangement is still safer for everyone than hiring right away and either party then deciding two months in that it's insufferable.
Build additional compensation into the contract to cover temporary medical and retirement benefits for the candidate and their family. Pretty simple arithmetic. Such an arrangement is still safer for everyone than hiring right away and either party then deciding two months in that it's insufferable.
Take this for what it is worth. That is a self serving, recently graduated, commentator who is looking for work.
Have a peek at the resume from the top left.
http://jfm3.org/resume.pdf
Have a peek at the resume from the top left.
http://jfm3.org/resume.pdf
@Anonymous:
If you had actually read my resume, you'd see that actually I have over 20 years of experience, and that I presently work.
If you had been really good, you would have visited my linkedin profile, and noticed also that I own my own consulting firm. Actually, this blog post was written as the result of preparation for one of my customers whom I am helping to hire a UNIX admin.
If you had actually read my resume, you'd see that actually I have over 20 years of experience, and that I presently work.
If you had been really good, you would have visited my linkedin profile, and noticed also that I own my own consulting firm. Actually, this blog post was written as the result of preparation for one of my customers whom I am helping to hire a UNIX admin.
I can see where the anonymous troll would have picked that up in a four second scan.
That resume is pretty damn concise.
That resume is pretty damn concise.
Hello !.
You may , probably very interested to know how one can make real money .
There is no need to invest much at first. You may start to receive yields with as small sum of money as 20-100 dollars.
AimTrust is what you haven`t ever dreamt of such a chance to become rich
The company represents an offshore structure with advanced asset management technologies in production and delivery of pipes for oil and gas.
It is based in Panama with offices everywhere: In USA, Canada, Cyprus.
Do you want to become really rich in short time?
That`s your chance That`s what you really need!
I`m happy and lucky, I started to get real money with the help of this company,
and I invite you to do the same. If it gets down to select a proper companion utilizes your funds in a right way - that`s it!.
I earn US$2,000 per day, and what I started with was a funny sum of 500 bucks!
It`s easy to start , just click this link http://sidasilic.the-best-free-web-hosting.com/okejaly.html
and lucky you`re! Let`s take our chance together to get rid of nastiness of the life
Post a Comment
You may , probably very interested to know how one can make real money .
There is no need to invest much at first. You may start to receive yields with as small sum of money as 20-100 dollars.
AimTrust is what you haven`t ever dreamt of such a chance to become rich
The company represents an offshore structure with advanced asset management technologies in production and delivery of pipes for oil and gas.
It is based in Panama with offices everywhere: In USA, Canada, Cyprus.
Do you want to become really rich in short time?
That`s your chance That`s what you really need!
I`m happy and lucky, I started to get real money with the help of this company,
and I invite you to do the same. If it gets down to select a proper companion utilizes your funds in a right way - that`s it!.
I earn US$2,000 per day, and what I started with was a funny sum of 500 bucks!
It`s easy to start , just click this link http://sidasilic.the-best-free-web-hosting.com/okejaly.html
and lucky you`re! Let`s take our chance together to get rid of nastiness of the life
Links to this post:
<< Home



