Different Domains

Everyone (in IT) should be a programmer is a terrible idea.

Making a networking expert a reluctant (and potentially bad) programmer makes as much sense as over-promoting him and making him a suboptimal boss (some people, myself included, just arenโ€™t good at managing others).

If you need a custom-tailored network automation solution, pair a networking expert (who knows what needs to be done) with someone with programming skills who can translate those needs into running code โ€“ the networking expert becomes just another subject-matter expert (SME) working with the programmers to document the business needs (of networking department).

There are some people who can be networking experts at my level or above and expert programmers. And by “some,” I mean maybe in the range of 1/100th of 1 percent of IT people involved in networking, because that basically requires a beyond genius level of talent. I’ve only ever met one programmer who was a decent level system admin and even they weren’t a great sysadmin, merely a good one. Given that enterprise-class networking is about an order of magnitude more difficult than being “just” a sysadmin, the likelihood of someone being an acceptable programmer and a networking expert at the same time is just vanishingly small. There’s just not enough time in the world to pursue both to an expert level. Only an MBA could believe anything different.

I do a lot of scripting, of course, but I don’t consider scripting programming, because when people like me write scripts it’s mostly for our own use. Programming, through, is writing software intended for other people to use. The reason is that even the scripts I write presuppose expert-level knowledge of the domain for which the script is written. Sure, some of my scripts are very complex with functions, error-checking, arrays, and other more advanced features, but I or my close team are generally the only ones able to use them. That’s why I don’t really consider it programming because it’s not an expert-level full practice, but tools for domain-specific use only that can’t truly be released.

Becoming a programmer wouldn’t make me a better networking expert; quite the opposite. Then I’d be a bad networking expert and a bad programmer, which helps no one.

Uncontained

This person has noticed something I realized fairly recently as well, where he mentioned “kubernetes’s insane complexity proliferating #devops.”

Kubernetes is IT’s alternate path to having the a kind of sorting that other professions have, except instead of by degrees or other credentials (as those are less relevant in IT), they’ve chosen complexity. Probably only 10% of extant IT people have a hope of understanding the needless and valueless complexity of Kubernetes and related tech. That is a feature, not some accident.

While I agree that something like Kubernetes (though designed in a much saner way) does have its uses, most of those using it don’t actually need it. At least 90% of its real-world use would be better-served by a standard HA setup and a DR site or two.

It’s only picked up so much use because the drive in IT to professionalize and Kubernetes is one way to sort out those who can handle something utterly pointless but extremely convoluted from those who prefer sensible solutions. Kubernetes and related is credential-like in that respect and that, mainly, is its entire purpose.