Forgot your password?
typodupeerror
Programming IT

System Admins Should Know How To Code 298

Posted by Unknown Lamer
from the helps-to-have-a-beard-too dept.
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.'"
This discussion has been archived. No new comments can be posted.

System Admins Should Know How To Code

Comments Filter:
  • by bolthole (122186) on Monday October 22, 2012 @07:35PM (#41735197) Journal

    Depends what they're administering.
    There are plenty of systems that are more closed, and the sysadmin should be spending their time living in the pre-provided frameworks, rather than coding their own.

    Many times, it's a matter of learning what is already available for the system, rather than coding your own, lesser quality replacement.

  • Not only admins (Score:5, Informative)

    by Mr2cents (323101) on Monday October 22, 2012 @07:39PM (#41735223)

    In general, everybody dealing with computers can benefit from a bit of programming knowledge, not only admins. The rule of thumb is: if you're doing a repetitive, braindead job, you're doing it wrong. Computers are built to do exactly that. A small script can automate a lot of work for you, if you have that skill it can help you tremendously.

  • by bill_mcgonigle (4333) * on Monday October 22, 2012 @07:58PM (#41735393) Homepage Journal

    Sometimes I play 'sysadmin'. It winds up as the "this doesn't work, make it work" role. Today it was reading the RFC's to figure out how DSN's are supposed to be returned, writing the java.mailx code to make the developers' app do that, and explaning how SMTP works. Other times it's working through a SQL query planner, finding why packets are headed in the wrong direction, re-doing an architecture, etc. It's not possible to do the job well without good CS training, a solid background in coding, a solid background in networking, and just plain blood, sweat, and tears.

    Then again, you could study for a test exam in 21 days and call yourself a sysadmin too. It's always the definitions.

  • by scubamage (727538) on Monday October 22, 2012 @08:28PM (#41735655)
    Agreed. Several companies I have worked for have had coders who couldn't care less about the fineries of system administration. All they care about is having a nice development environment and a working svn/git where they can store their code. They couldn't care less how the infrastructure behind it works.
  • by CAIMLAS (41445) on Tuesday October 23, 2012 @12:53AM (#41737605) Homepage

    Experience has told me something about automated batching of config changes which your 'senior' admin should've known as well. This is crucial:

    DEPLOY IN (SEQUENTIAL) PHASES. I don't care if you tested it in one situation or 5: if you've got 50 different situations, you need to 'test' it in each of those unless you know those different situations are in fact the same situation. This means a longer deployment, but you need to test ad verify everything, especially something infrastructural. It will take longer, but it's inerrantly necessary.

    Not only does it reduce the outage potential, but it allows you to more quickly back out of it. Sure, it's not as lazy as deploying everywhere at once after a couple quick tests, but it's more foolproof than having half a dozen people look at your changes. Yes, having a second set of eyes is important, but its mostly pointless if they don't fully understand what they're looking - that's why they're the junior, after all.

  • by dropadrop (1057046) on Tuesday October 23, 2012 @03:56AM (#41738593)

    I work in a multinational company with an IT department of about 120 people (about 5500 total employees). We have maybe 10 people that write code. Why on earth would anyone labeled as a system administrator have to write code? What am I doing maintaining multiple SANs, ESX farms, MS clusters, Cisco switches, routers, VPN, and firewalls that I should know how to code?

    The 10 people have that write code do exactly that. Write code and build applications. I would not expect them to have a working knowledge of setup routing our WAN, they should not expect me to code an application.

    Sounds like a multinational corporation :)

    I've done everything you are doing, but still occasionally needed to write code. Maybe you have a database and instead of purchasing an expensive license to be able to get clean backups you write a script which puts it in a clean state, connects to the SAN, takes a snapshot of the LUN, mounts that snapshot so you have a clean backup. Maybe you are using SNMP to monitor servers and need to get information on some service (active dhcp leases for example). Maybe you need to periodically clean old files from somewhere that fill certain requirements etc...

    Most of these examples can also be solved by throwing money at it, but if I was hiring somebody I'd rather take a person who also has the ability to solve problems with sense and in a hurry. It could be the difference between a team having 5 people to maintain 100 servers or 5 people to maintain 5000 servers.

"Gotcha, you snot-necked weenies!" -- Post Bros. Comics

Working...