I won't probably be too wrong to say that, System administration is probably the most underappreciated and thankless genre among work units in any software development organization nowadays. So let’s talk about that in urging the snarky developers to change their point of view towards fellow system administrators.
We're living in the era of web applications, and almost all softwares are run on the someone else’s computer AKA cloud. So, software engineering/development has changed a lot; we've come from developing host-native apps to developing cloud-native apps. To keep up the pace, System administration has changed a lot as well; from manually building systems from scratch, we've introduced fully automated system building, packaging and what not!
While developers are talking about which framework would serve the workflow better, system administrators are discussing about which configuration management tool to use! The choice would be different obviously but not the driving force, which is to make the software a better product.
I want to emphasize the fact that, making software is a collective approach, it's not all about developers or any specific genre for that matter. Well, one might argue that, without developers' code, nothing can go on -- which is true obviously as it's true for others. Think about this, if the system administrators don’t handle the deployment artifacts, and don’t pass sleepless nights while at on-call tackling numerous spikes due to an uncaught edge case in the code, any piece of software would lose it’s traction for sure.
Furthermore, it’s obviously true that, not all developers think about all the nuances about the deployment infrastructure while writing code. So, it won’t be too awry to say that, administrators are an abstraction above the infrastructure in making codes run in unknown environments. The developers need to think the administrators as companions, not as someone who just put their binaries or tarball in some directory by some shell script, and sleep afterwards! I’m telling all these because i’ve seen this thinking trend being nurtured by some developers, and being transcended onto their juniors. We need to put an end to this horrible culture.
A nice notion, DevOps, was introduced to bring the two worlds closer by minimising gaps, and get the job done in a better way. But the thing that was supposed to be a culture, has become a collection of mere tools. Sigh.
All in all, at the end of the day, we all want to work on the stuffs we like, we all want to make the process and software better, so why make all the differences, blamings, finger pointing, inferiorities, superiorities! We're in this together, we all can co-exist, and prosper!
Let’s bring some empathy to the table!
- I agree to the fact that, there are cargo-cult system administrators out there, but that's true for developers as well! No need to feel the superiority complexity thingy, it’s just not right.
- In no way, i’m talking about the whole Developer/SysAd community; only the companies/cultures for whom the above is applicable.
- I’ve used the terms “software engineer” and “developer” interchangeably, which refer to the same profession almost always.