Why It Is Difficult to Hire for DevOps?
DevOps focuses mainly on the mindset and cultural shift in how organizations approach the process of shipping code. As companies look for new ways to ship code faster, DevOps is seen as the holy grail which will lead them to foster innovation. Every company wants to practice it and to be recognized as a DevOps-led organization. However, not many companies, not even the giants have outlined the standard skillset it takes to be called a true DevOps expert.
Here comes a question, is there a real DevOps skills shortage?
The statistic from Statista shows the extent to which software developers worldwide have adopted DevOps in their workplace, in 2017 and 2018, based on a survey of development professionals.
I was a bit confused to understand the ground reality of the topic “DevOps” to see whether there is a real DevOps skillset shortage or companies are still confused with this term, or people have misunderstood the term.
So we recently discussed this issue on DevOps subreddit, submitted my question, “Do you believe there is a real skills shortage in the DevOps space?”
The thread became one of the top discussed threads on DevOps subreddit. This discussion aimed to analyze how different people define DevOps, the skills required to become an expert and see if there is a skills gap in this domain.
The question received 112 upvotes and more than 100 comments from technology experts on Reddit.
To sum up the outcomes of the discussion below:
1. Yes, there is a DevOps dilemma. What we understood is the meaning of DevOps and its practices can be different for different companies; hence there is still a dilemma regarding the definition of what exactly DevOps is. As we dig further, there are no set universal principles for implementing DevOps.
In some cases, it can be difficult to establish DevOps practices in established companies because of their need to maintain existing environments and legacy applications. This makes it hard for engineers to get their hands on modern DevOps practices and tools.
2. When it comes to DevOps, many don’t know where to start, while others fail to get such jobs but call themselves as experts anyway without even knowing the basic stuff. In some cases, it can be difficult to establish DevOps practices in established companies because of their need to maintain existing environments and legacy applications. This makes it hard for engineers to get their hands on modern DevOps practices and tools.
3. For start-ups, DevOps practices are possible but only if they manage to get competent technical people involved early and if they use the right tools from the beginning.
4. Yes, there is a huge DevOps skillset gap/shortage. This skills shortage is especially being felt by companies looking to hire DevOps engineers. According to an article in Fortune magazine, salaries of $200,000 or more are not unusual for experienced DevOps engineers, but the experience is the key. The article mentions that at least five years of experience in various IT roles is required for someone to become a successful DevOps engineer. You cannot come straight out of school and know how to use Puppet, Ansible, and Docker, nor could you know how to write automated scripts, for example. Because this experience is so critical, it creates a shortage of DevOps talent. It is evident that companies understand that DevOps is a holy grail, which is why they are willing to pay top dollar to find the right candidates. This gives a clear answer as to why companies find it difficult to find candidates who are qualified DevOps engineers.
You might also want to see some facts and stats about DevOps.
Skills Required for DevOps
Adding to our recent blog, “How to be a great DevOps engineer,” we also saw some DevOps leaders sharing their ideas on what critical skill sets required to become an expert in DevOps, we have listed here.
Understand QA Processes: QA helps plan and control the development process in a way that prevents severe issues during the project and in times of any outages. A DevOps aspirant should know how to make the analysis, what impacts, where it affects based on scenarios.
Competent Generalist Sysadmins: Need to understand the way and behavior of software in order to deploy it and troubleshoot problems, and knowing several programming languages is an added plus point, it helps in scripting or automation of routine tasks.
Skilled Programming: Should know how to develop large, robust applications, how to write high-quality code, which tools, frameworks, and libraries to use, how to overcome obstacles efficiently.
Understand SDLC: Should have complete knowledge of how the software development lifecycle (SDLC ) works, what are the different models, the difference between different models, the advantages and disadvantages of each model, etc.
Technical Expertise: Should have the required awareness and technical expertise to architect DevOps-friendly infrastructure.
Soft Skills: Should have needed soft skills to drive widespread adoption in the business, at all levels from technical to management.
Up to Date: Should be up to date on all the new things in tech. Exposure to trends like artificial intelligence and machine learning is an added advantage as they can have a huge impact on the future of DevOps in the coming years.
Finding anybody with the above skills is very hard.
DevOps is more about principles of how we work than it is about tools or job roles, it is a team effort. DevOps is about architecting a process up front so that things like change control are more or less automated out of the way, this means an engineer can identify a problem and push a fix in an extremely rapid fashion. It is always good to hire smart people with the right work and learning attitude rather than hit a checklist of things they’ve done before. There obviously is a DevOps skillset shortage but what companies can do is, structure their own form of principles and practices and train the in-house employees (system admins and software folks) to learn the DevOps skills accordingly.