TECH::DevOp(inion) – Are we asking IT and developers to become Skynet?

When I first heard the term “DevOps” I went to do some research because I wanted to understand what it meant. One place I found a definition was a blog called “the agile admin.”

DevOps is the practice of operations and development engineers participating together in the entire service lifecycle, from design through the development process to production support.

And:

For this purpose, “DevOps” doesn’t differentiate between different sysadmin sub-disciplines – “Ops” is a blanket term for systems engineers, system administrators, operations staff, release engineers, DBAs, network engineers, security professionals, and various other subdisciplines and job titles. “Dev” is used as shorthand for developers in particular, but really in practice it is even wider and means “all the people involved in developing the product,” which can include Product, QA, and other kinds of disciplines.

Granted, I’m quite a bit late to the party – it seems that this concept started around 2010. What spawned this blog was an email I got from a recruiter for a “DevOps Engineer” position. What I had read about DevOps made it sound more like a concept or a philosophy of how to do things in a business; not a thing you could actually engineer. So, essentially, the title sounded a bit like “{Insert Buzzword} Engineer.”

What really resonated with me, however, and what confirmed what I was already thinking about DevOps, was the job description. I’ll post it here (with names/company redacted), but the way it read to me was something that could be summarized in one two word sentence: Be omniscient.

The dev-ops engineer will provide senior engineering and development operations support and expertise for the US Mortgage Insurance IT organization. The ideal candidate should have a minimum of 5 years of experience as a System Engineer and extensive knowledge of core infrastructure technologies such as virtual desktop (preferably Citrix environments), Microsoft operating systems, Linux/Unix operating systems, Active Directory, and virtual server environments. The candidate should also have a minimum of 2 years of development and orchestration experience. Excellent communication and documentation skills are required. • 2+ years developer experience (Java, JavaScript, SQL, C++, PHP, Ruby, Python) • 5+ years system administration hands on experience and preferred experience with the following: MS Exchange, MS SharePoint, VDI, Citrix, Scripting, Active Directory, Windows Server OS, Linux OS, Storage Systems, Avaya Telecom Solutions, Web Methods, SAS Analytics, Configuration Management Database Operations • Strong proficiency in writing build scripts to automate tasks that can be automated (i.e. Perl, BASH, PowerShell, Shell, Puppet, Chef) • Experience implementing and administering monitoring tools • Demonstrate proficiency in writing build scripts to automate tasks that can be automated (i.e. Perl, BASH, PowerShell, Shell) • Experience administering and maintaining source control systems, including branching and merging strategies with solutions (i.e. Microsoft TFS, Git) • Experience with Application Lifecycle Management concepts including continuous integration, continuous delivery, reproducibility, traceability, etc. • Excellent communication and documentation skills • ITIL V3 Certification (Or equivalent training/experience) • IT Service Management training/experience • Preferred Bachelor’s degree in Computer Science, MIS or a related field • Ability to prioritize and execute tasks in a high-pressure environment, make sound decisions in emergency situations. • Proven analytical and problem-solving abilities • Experience working in a team-oriented, collaborative environment. • Experience evaluating and leveraging 3rd party commercial and open source System Engineering/Dev Ops solutions. • Proficient in developing system-engineering solutions to help achieve highly available, highly scalable systems. • Proven solid analytical and problem solving skills.

If you’re familiar with any/all of the above technologies, you’d know that’s a REALLY long and complicated list and that many of the skills it takes to be proficient at just one or two of those don’t always translate to the others. As a former systems administrator, I can tell you that not all admins know how to code/script – the scripts I’ve made were rarely, if ever from scratch. Rather, they were grabbed from other scripts and cobbled together.

It’s rare (if not impossible) to find a solid Windows administrator who *also* can be a solid Linux administrator. Toss in VDI, Active Directory, Citrix, SAS Analytics and sprinkle in the need to know how to code, and you are virtually asking for a T-800 IT admin, but one that’s a friendly and collaborative people person.

t800-flowers

While the initial concept of DevOps, where a developer can manage and QA his or her own environment and be a contributor end to end is idealistic. Human nature sets in and managers read what DevOps is and they think:

Sweet! I can hire one person instead of 5! CH-ching! $$$$$$

It’s a startup mentality inside of established enterprise IT organizations. However, startups do this out of necessity and lack of resources. DevOps has become a movement to tell developers to row harder, and that’s unfortunate. I’m not alone in this thinking. This blog post sums it up from a developer’s point of view.

How DevOps should be implemented, in an ideal world, is not by hiring one person to do the job of 5 people. It should be hiring 5 people to collaborate to do the job of 5 people. That way, the overall concept of DevOps remains intact and you don’t need 1 person who’s Skynet – you just need 5 good developers with skill sets that overlap to cover gaps.

DevOps should not be a way to reduce headcount, nor a way to squeeze more out of your developers. It should be organic and well-planned. If anything, a DevOps engineer should be someone who comes up with the right way to implement DevOps in an organization.

Do you have an opinion on DevOps? Am I way off base (fully admit I could be)? Comment and let me know, or tweet @NFSDudeAbides!

Advertisements

One thought on “TECH::DevOp(inion) – Are we asking IT and developers to become Skynet?

  1. Pingback: Behind the Scenes: Episode 30 –DevOps and NetApp Private Storage with Glenn Deyhayser | Why Is The Internet Broken?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s