Another reason sysadmins should program

December 8, 2011

One of the SysAdvent entries I recently read was John Vincent's Always Be Hacking, about how all sysadmins should be able to program. He gives a bunch of sensible, rational, career-related reasons for this, all of which I wholeheartedly agree with. Still, all of that career related stuff is a bit dry and calculating, and maybe you're not really enthused by it (any more than many Unix sysadmins are enthused by Windows, popular or not).

As it happens, I feel that there's a big motivation that John only touched on in passing:

Being able to program is a great way to make system administration more fun.

And I'm not talking about programming itself being fun (it is to some people, me included, but not necessarily everyone).

System administration is about solving problems (including by building things); that's what gives us our kick. Being able to program (and its mirror twin, being able to understand programs) vastly increases both the amount of problems that you can solve and the size of the problems that you can tackle. Every increment of programming capability widens the horizons that you can reach; shell scripts, 'scripting' languages like Python and Ruby and Perl, large system languages like Java and C++, and low level understanding in C and assembler, they all add to what you can build and what you can understand.

If you learned shell scripting on your own as a sysadmin, you've probably already experienced the moment where you suddenly realized that you could script all sorts of tedious stuff that you'd been doing by hand. Full scale programming gives you that moment over and over again, mixed with the feeling that you are peering behind the walls of the world and seeing the gears turning (as in this well-known illustration).

You're a system administrator. What's not to like about being able to solve more and bigger problems, about being able to scale more and more of the walls that inevitably appear in your way? Being blocked by obstacles is frustrating and no fun; getting past them (or not even noticing they're there) is great fun.

Written on 08 December 2011.
« Understanding the Solaris iSCSI initiator (a bit)
A quiet advantage of the systemd approach to service management »

Page tools: View Source, Add Comment.
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Thu Dec 8 00:38:26 2011
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.