Understanding the roles of a DevOps consultant and a DevOps engineer
Every now and then, every business reaches a tipping point — the point at which it makes more sense to kick off the transformation of any sorts, rather than resist it.
Let’s imagine a situation:
You own a company that has released a groundbreaking application. Marketers and sales did their job, and downloads grow at a breakneck pace. Unfortunately, your developers and operations aren’t keeping up with the scale; they cannot upgrade the app and release new features in time. You are afraid customers will lose interest because bugs are too many, and the performance leaves much to be desired.
What can you, a business owner, do to remedy the situation and save your company?
Well, actually you could do many things … (Say, hire more developers and testers to plug the gaps.)
But, after scanning a few articles about DevOps, you determine that’s what can help you:
- Increase application quality.
- Enhance user experience and customer satisfaction rates.
- Improve operational efficiency.
- Step up employee productivity and their KPIs.
- Reduce IT-related costs.
You should quickly hire someone who knows a thing or two about DevOps. But who should you hire? Do you need to reach out to a DevOps consultancy, or should you get a DevOps engineer on your staff?
These may be trite questions if you have been working in IT your entire life. However, for a casual business owner, they are definitely not.
In this article, I will dive into the world of business and will do my best to clarify the difference between DevOps engineers and DevOps consultants.
Who Are DevOps Consultants and DevOps Engineers?
As a starting point, let’s define who DevOps consultants and DevOps engineers are. Are they actually that different?
A DevOps consultant is a certified DevOps professional who is usually hired to resolve a specific issue or to educate employees to use DevOps tools, and who works according to the principles of DevOps.
A DevOps engineer is an in-house tech person trained to implement DevOps practices into IT organizations in a cost-efficient manner and who usually acts according to the design created by a DevOps architect (or provided by a DevOps consultancy).
Basically, the first provides guidance and shares insights about the ways of resolving problems at hand, while the latter is primarily focused on making a specific design work according to the established procedures.
Note: Given that there is a lot of controversy surrounding DevOps and the DevOps transformation process, the roles of participants and the terminology may differ. On top of that, some argue that a separate DevOps role can create a third silo that worsens the silos between Dev and Ops teams.
Who Should a Business Owner Hire?
DevOps is no longer for unicorns only. Tech startups and even small and medium enterprises (SMEs) that want to manage their IT organizations more efficiently can opt for a DevOps transformation.
Businesses that have a specific problem to solve (e.g., achieve faster and higher-quality app updates) are better off hiring a DevOps consultant. That person will assess the situation and provide concrete tips and next steps. Then, the business owner may or may not choose to collaborate with the consultant to implement the required changes.
In the meantime, the necessity to completely overhaul the company’s technology-related processes and practices may encourage the business to establish a separate DevOps role in their IT-organization—a DevOps engineer.
(Some might even consider hiring a DevOps architect to create a design for their organization, and a DevOps evangelist to oversee the cultural transformation.)
Unfortunately, DevOps engineers are hard to find. Not only is a DevOps engineer the second hottest job in the United States right now, but also the controversy about the profession results in ambiguity about what DevOps engineers should and should not do.
While some DevOps engineers can oversee the DevOps transformation from A to Z, including the cultural aspect, others can realistically manage only specific stages of the DevOps life cycle or work with specific tools such as Jenkins, Maven and and Ant.
Bear in mind that most DevOps engineers previously were either developer or system administrators, and that plays a considerable role in their competencies as well.
Therefore, companies must be very specific about what DevOps engineers must be able to do. Otherwise, they risk hiring someone who will not be able to carry it through.
In other words, even if the business owner may be adamant about hiring a DevOps engineer to assist the company’s Dev and Ops teams, they also may end up paying a third-party DevOps consultancy to create a road map for their DevOps engineer to follow.
Bias Against DevOps Consultants
While hiring a DevOps consulting company may be more viable and cost-efficient for most businesses (specifically, small and medium companies), CEOs, CTOs and CIOs are usually biased against DevOps consultants.
They are afraid that:
- DevOps consultants will only burn time off the clock and will not do their best to resolve a company’s issues ASAP.
- They will pay consultants too much, while an in-house employee could do the same job for less.
- DevOps consultants will get access to classified and business-sensitive data and then take advantage of it.
- Consultants will never finish their job and will literally abandon the ship in the middle of a DevOps transformation.
Truth be told, sometimes all of these things really happen. However, it should not dissuade anyone from hiring a DevOps consultant to help their companies do better technology-wise.
Just consider a few factors here:
- Not everybody has the skill to become a consultant. (Do not confuse a consultant with a regular contractor.)
- Consultants’ expertise allows them to provide expert advice with no or little supervision. However, they need time to familiarize themselves with the client’s processes. Only then will they start to add value.
- It is unlikely that DevOps consultants and DevOps engineers do the same work. Consultants are hired to analyze, provide insight and teach. Engineers are there to implement a validated strategy.
- And finally, everybody makes mistakes. Any business should be able to reach out to legal folks to settle things down should any issues arise.
Experienced DevOps consultants and seasoned DevOps engineers are a scarce commodity, and it is entirely up to a business owner to decide who to hire to benefit their enterprise.
For sure, they might not have any technical background. So here a few things they should bear in mind:
Consultants can provide a bird’s eye view of a business. They check what’s right and what’s wrong, provide guidance and teach employees. Oftentimes, they help companies to align their Dev and Ops teams and streamline processes and practices across these teams.
In the meantime, DevOps engineers are all about doing the job properly in a cost-efficient manner. Basically, they establish and support a healthy DevOps environment according to the company’s strategy.
What are your thoughts about DevOps consultants vs. DevOps engineers controversy? Who would you hire if you were a business owner?