Is system administration easier than programming? Does it pay the same? [closed]
As luck would have it, my boss just wrote an article comparing operations to development: What is web operations? as well as addressing that ops isn't (or shouldn't be) something for failed developers, as it is sometimes presented.
Being a sysadmin is one of the fields where, under the proper circumstances, you can set it up so that the better you do your job, the less work you need to do. The value of this should not be underestimated.
Sometimes you can achieve the same thing as a developer, but it's rarer.
A developer is someone who gets noticed when things go right.
A sysadmin is someone who gets noticed when things go wrong.
I think sys admin is very difficult.
- You generally need to maintain programs that you have not written, and with little or no documentation.
- Often you have to say no, I find that very difficult.
- Instrumentation, or good error message is hardly ever done well enough to be useful (especially the custom software)
- Your expected to keep an environment running on the bare minimum and then when recovery is going to take 4 hours everybody is unhappy
- Your knowledge needs to be incredible broad
- Being able to associate a small change to a failure on a seemingly unrelated section is usually to blame for outages
- Usually very strong permissions, that means that you could break a lot of things
I think developers have it easy, and don’t take their jobs seriously enough. I would like to see myself as a software engineer, but that would be an insult to the really good software engineers out there.
In engineering you don’t guess at the possible cause of the problem. You look at the facts / error logs / things that you can use to identify the problem. Make a hypothesis and test your hypothesis for truth, then and only then do you make a recommendation to resolve the issue that you having on a production server.
I too often see people making wild assumptions, and justify their outrages claim with, that is how I think it works. Is that an opinion or a fact? I think that is dangerous and irresponsible. If you want to go and think about something and give an opinion on it, go do philosophy or something similar. But when you’re working on sites with thousands of users, I don’t give a hoot about what you think, tell me what you know for a fact.
I have worked with brilliant server people before, and most often if you as developer say to the server admin, I think the following is the problem, and this is how we can prove in a different safe environment that, this is in fact the problem. Then we spend some time fixing the problem based on this assumption in a safe environment, and we can then with confidence say that this is in fact the problem. And follow these steps to resolve the problem on the production systems. It takes a certain amount of guts, and honesty I think to admit this, and generally people don’t want to admit they don’t know something. I think not knowing something is a given, but people that imply that they know something and don’t, is lying and dangerous.
I also think that there is an aspect of creativity to software development, however I think good code is often tedious and boring, and above all predictable, simple, and consistent. And those characteristics are generally not associated with creativity. Software engineering is a science and I wish we can find a better way for developers and the guys and gals that keep development systems going to understand more about each other’s jobs.
Rihan Developer that had the privilege to work as sys admit for the first part of my career.