I saw the contention on a message board the other day that a good systems administrator
should โbe able to write quality software.โ
This is of a piece with the idea Iโve seen all over lately that everyone in any field should be a programmer, should learn how to program.
While I agree that a better case can be made for a systems admin to learn some programming (as I know some myself), the idea that someone like me (or rather, more what I used to do) should be able to write quality software is rather absurd.
I can bash out a script (in Bash and several other environments) pretty well. I could probably cobble something together in Visual Studio in a few days if I really had to.
But it would not be โqualityโ by any measure.
Programming is its own discipline that takes time and study to master. Not even the best sys admins with mega IQs Iโve ever met (unless they were former programmers) could write quality software. And even the ones who had been programmers in the past โ even excellent former programmers โ would probably not have claimed to be able to write quality software any longer, as it takes like most things in life constant practice.
From what Iโve seen, it takes about 5-7 years to become a really decent programmer. Most programmers Iโve talked to agree with that.
So to do that โ to be able to write quality software โ Iโd have to put my real career on hold, missing most advances in my actual field, to do something Iโm not really interested in for no obvious benefit.
Agreed, some understanding of programming and (even more so) of computer science is necessary in my field. Iโve often had to (involuntarily) debug terrible code or examine code in 10+ languages to figure out how something works. ![]()
It happens.
But the idea that everyone should be a programmer is most often pushed by (surprise!) programmers.
Itโs easy for them. Shouldnโt it be easy for everyone else? I mean, just code, right?
Itโs a cockamamie, terrible idea. Even as system administration is moving to more automation and more scripting, the idea that I should be turning out โquality softwareโ rather than doing my job is fucking ridiculous.
Only a programmer or others also prone to engineeritis could conceive of something so asinine.
I have written some pretty long and complicated scripts and will do so again. But I donโt really think of that as software, and that is not the sense in which this idiot was using those terms.![]()
Even as being a system admin changes in the โcloudโ era, itโll have very little to do with coding and much more to do (as it always has) with understanding the interactions of multiple complex systems (duh) and configuring them in the best way possible to work for whatever business or other organization is making use of those systems.
While this might involve writing some โsoftwareโ โ that is to say, scripts โ along the way, the primary goal of a sys admin should not be programming or writing โquality software,โ but rather using whatever tools are best suited to achieving the above goals.
Doing anything else is a waste of time, and quite likely to get you fired for wasting said time.