System Admins Should Know How To Code 298
snydeq writes "You don't need to be a programmer, but you'll solve harder problems faster if you can write your own code, writes Paul Venezia. 'The fact is, while we may know several programming languages to varying degrees, most IT ninjas aren't developers, per se. I've put in weeks and months of work on various large coding projects, but that's certainly not how I spend most of my time. Frankly, I don't think I could just write code day in and day out, but when I need to develop a tool to deal with a random problem, I dive right in. ... It's not a vocation, and it's not a clear focus of the job, but it's a substantial weapon when tackling many problems. I'm fairly certain that if all I did was write Perl, I'd go insane.'"
Very true, for many reasons. (Score:5, Insightful)
Coders should know how to admin (Score:4, Insightful)
...and support for that matter.
Sure thing (Score:2, Insightful)
Next you'll tell me my developers should know how to admin a server and do so at a drop of a hat.
Sure (Score:5, Insightful)
Also, developers trying to write tools for sysadmins usually suck at it, unless they've been a sysadmin at some time in the past. I have used a few products lately which are trying to solve all our sysadmin problems, and the one that doesn't suck comes from a dev who is a former sysadmin. And when I talk to him and make suggestions he sees exactly where I'm coming from.
Developers just want to solve use cases that fit neat little scenarios without any corner cases, and it shows when their tool is so inflexible as to be useless.
Re:Very true, for many reasons. (Score:4, Insightful)
Is this what any programmer does? (Score:5, Insightful)
I'm fairly certain that if all I did was write Perl, I'd go insane.
As a programmer, to me this is like someone equating author and typist. Code is just a medium. Figuring out what to do with it, and how, is the fun part.
Comment removed (Score:5, Insightful)
Sounds like a plan! (Score:5, Insightful)
You doubling my salary for that extra work? I'm tired of the constant scope creep people keep shoveling in without an increase in compensation.
Re:Very true, for many reasons. (Score:5, Insightful)
Corollary: All IT People Should Have to Do It All (Score:5, Insightful)
I've worked in companies ranging from 5 people to 40,000 (and plenty in between). In the smaller shops I've had to do administration, development, desktop, and customer support. In the larger 'enterprise' shops, I'm constantly amused by the myriad breakdowns in communications caused by folks being incapable of putting themselves in the shoes of their coworkers.
Being a developer made me a better system administrator. Being an admin made me a better developer. Same with operations, support, et. al.
Ah, age. (Score:5, Insightful)
At one point, we *had* to code. Tools didn't exist until we made them. Or at least tools that did what *we* wanted didn't exist until we made them.
I blame Windows weenies for the loss of this skill. They cannot function without pre-packaged clicky things. Nitwits.
Re:Very true, for many reasons. (Score:5, Insightful)
2Cents, you are absolutely right. Even in windows systems, a basic understanding of what can be done with code can stop 5 people from running around to a couple hundred machines each.
Should the sysadmin be a programmer? Not in the conventional sense, but they should be able to programmatically attack the problems placed before them before they just brute force their way through them.
It's the mindset that matters (Score:5, Insightful)
Re:It's not all about the code (Score:5, Insightful)
Wow..... just wow. As an IT Manager you have failed to grasp the concept of this article, and that is a worry.
They are not talking about sysadmins writing production code - they are talking about using one of a variety of scripting languages to solve sysadmin problems - eg repetitive tasks like backups, deployment scripts etc, maybe even some html status monitoring screens or a cactus plugin.
Re:Very true, for many reasons. (Score:5, Insightful)
Re:Very true, for many reasons. (Score:5, Insightful)
I see a lot of admins in very large companies throw labor at a problem as their first course of action. It is typically a face palm moment for me as I often see the problems as fixable in minutes. I believe that all sysadmins should be able to program, but think that making a programmer a sysadmin is generally a bad idea.
Re:Not only admins (Score:3, Insightful)
Not trained? What? Most people I know realize the tasks they do could be automated. However, they do everything in their power to ensure they aren't because they believe it keeps their relatively mindless and easy job "safe". This mindset is prevalent in the public sector and the unionized public sector especially.
I was able to come in and completely revamp a position I was hired to do to expand it to encompass at least 50x more work with a little Access/VBA and some learned-on-the-job DW knowledge.
They are still running the same exact reports I wrote when I left 5 years ago and haven't added a single one to the mix. Someone has now taken over my position and enters text in the fields the scripts prompt for and passes out the paperwork it automatically prints. It's a sad day for our tax dollars.
Re:It's not all about the code (Score:3, Insightful)
Re:Sounds like a plan! (Score:4, Insightful)
Re:It's not all about the code (Score:5, Insightful)
So, you are willing to accept an admin task performed manually, mistake creepage and all. With 500 workstations, there's no guarantee that the last one will be configured the same as the first. After the first few dozen, fat finger mistakes will undoubtedly creep in. By number 400, your admin won't be seeing straight anymore.
When we say "admins need to understand coding" this includes all of the associated issues of testing and configuration control. Perhaps not to the same level of detail as the code for the product. But in some cases, it can come pretty close.
I'd much rather have my admins script everything. And save the script. So when we come running in and ask, "What the **** did you do??!!", they have the exact steps in hand.
Just have the Unix team do it (Score:5, Insightful)
I've found that what can happen in the large corporate world is that you have Developer teams, Production run teams, various IT infrastructure teams, and the Systems Engineers. Networking gets blamed for every outage because well, they are the common thread that all the bits run over. Storage gets stressed out because it is the last thing anyone thinks about until they need it, and the Systems engineers well the Developers want to play all roles unless they don't want to. Production run sometimes lacks the deeper skills of either programming or IT infrastructure.
Enter Unix Engineers. We are expected to have general knowledge of all IT infrastructure, which we do, we program and script extensively, because our automation depends on it, and we have extensive production application run experience do to managing all the different back end services that everyone depends on. mail, dns, ftp, sftp, web server engines, monitoring, etc. Yes a good sys admin must know how to at least read code and ought to be able to code/script in at least one language even if that is Dos Batch. The problem in the end though is as others point out. The more you know the more production run teams may lean on you to solve their problems. "Just ask the Unix team", Not because it is their responsibility, but because they can solve the problem quickly as they have the widest berth of knowledge.
Coding as a Sys Admin is crucial. Just know when to say I can't(or won't), for your sanity.
Re:Very true, for many reasons. (Score:2, Insightful)
2Cents, you are absolutely right. Even in windows systems, a basic understanding of what can be done with code can stop 5 people from running around to a couple hundred machines each.
Should the sysadmin be a programmer? Not in the conventional sense, but they should be able to programmatically attack the problems placed before them before they just brute force their way through them.
The "sysadmin" can be anything from a guy who runs a single mail server, to someone who has to deal with thousands of remote workstations. There's no hard and fast definition for what exactly a "system admin" actually is. This entire discussion is just a collection of people assuming that every other "sysadmin" has the exact same job environment, the same duties, and the same problems. Nothing could be further from the truth. So the answer to the submission is "Define what you mean and you might get a decent answer".
I've seen sysadmins who simply have no need to ever code or script anything, and others who need to do it all the time. I've seen sysadmins who will spend an hour coding and save a week's worth of work, and I've seen sysadmins who will spend a week coding to save 5 minutes work.
Do you need to know how to code? It ALL DEPENDS on the job you're given. Usually it will be of benefit, but it's not always required.
Re:Very true, for many reasons. (Score:4, Insightful)
You missed the OP's point. The point isn't that you'll necessarily be coded for the system you have. The point is that knowing how to code provides critical understanding of how a computer operates that a sysadmin needs regardless of whether or not he's actually coding.
Comment removed (Score:4, Insightful)