Hacker News new | ask | show | jobs
by eropple 2509 days ago
> But I don't think you'd be doing "DevOps" all by yourself, unless you are what I call a full-stack, good at: communication, frontend, backend, and networking.

This is pretty much how I sum up what you'd have to be to be "a devops engineer": an actually-full-stack developer with a strong facility for communication and for process.

Such folks are hard to find. I only know a few, out of the dozens of folks I've worked with.

2 comments

They are rare because it takes like 15 yrs of day and night hacking & learning from books that range from software to sales, through system & networking and communication, and found ways to practice, not something many people are both willing and able to do.
They are rare because the primary skill of a devops person is creative problem solving in an unknown situation and with unfamiliar tooling. You are plumber, not a cowboy or farmer.

While I have some deep knowledge in a few areas, most of the work I do has a lot more to do with researching tools, tracing down problems, and figuring out solutions that do not always appear on Google or StackOverflow.

That mindset has also served me well when I write backend code.

I would also add that I consider this practice as a triangle: science, art and sports.

Science: because a scientific protocol is to be used when making and testing code, to understand every detail, and because it's based on logic

Art: because code should first be written for another human (or you in 6 months) to read and understand, that it works or not is secondary,

Sports: because you need everyday to be in the retrospective of your past performance and try to improve it

you'd have to be to be "a devops engineer": an actually-full-stack developer

Completely false. A full-stack developer applies JavaScript frameworks to create websites. A DevOps engineer applies development methods to infrastructure i.e. infrastructure-as-code. Totally different both skillset and mindset.

Perhaps I was unclear. The reason I scarequoted the term "devops engineer" is that to have such a thing (and we simply must stop abusing the term engineer, we're not) you'd need to find somebody who does absolutely everything in the stack, from technical to business-strategic. Which is why "devops engineer" makes as much sense as "Agile engineer". They're processes for people, they're not computer-touching anythings.

The idea that a "full stack developer" is "hurr, JavaScript" but that devops engineers are somehow different is...questionable. I've shipped mobile apps, web apps, backend APIs, and build and operate computing infrastructure at scale in cloud and on-premises environments, while having also had success at the strategic level with regards to the development of and the pursuit of business requirements and objectives.

Write code to tell computers to do stuff. That's all any of it is. The elaboration of the details is important in the small but not important in the large.

I think that's the point that post and the parent comment are making. A "Real-full-stack" (actually-full-stack) would actually include communication + networking.

I think it's more of a criticism on the term "full-stack" for someone who works on a backend and touches front-end every now and then.

I think everyone is in agreement that what we call "dev0ps" devs and "full-stack" devs have completely different skill sets and mindsets but if I had to attribute "full-stack" to either of these it would be a "dev-ops" dev. (theoretically, real life is messy)

That's quite arbitrary and you likely defined it as this to fit your current business or occupation. Or even just your current main competencies.

I could say a real-full-stack should actually include EE, chip design, compiler design, kernel hacking, model checking, machine learning, virtual reality, power supply design, and 20 years of experience in Rust.

Or anything, really.

I think you're missing the point a little by adding hardware and chucking in the 20 years experience with rust at the end. But, as long as you stay in software land, yes. I'm happy with real-full-stack description for experienced DevOps people who can say - I'm not a master of JS, but this caching strategy needs reorganisation on multiple levels, I can handle that. Or I'm not a master of kernel, but if we have this specific crash repeating, I'm happy to dig into it and create a patch/workaround. Whether you work with machine learning / VR / other environment changes the specific tech, not the idea.
Is this a joke? "Full-stack" implies much broader skills than banging together Javascript frameworks (even if some of those frameworks are unrelated to websites).