Learn a scripting language and play nicely: How to get a DevOps job
Ops folk should spend a bit of time in the engineering bunker
You’ve almost certainly heard about DevOps and the fact there’s a skills shortage.
One study by data virtualisation specialist Delphix reckoned the most implemented DevOps initiatives include virtual databases, agile data masking and continuous deployment. That's opportunity, right?
If you want to muscle in on the DevOps action there are a range of skills and technology areas – both existing and emerging – that you would do well to brush up on if you want recruiters to move your CV to the top of a list of candidates for potential new employers.
The good news is that it’s a technology area that’s relatively accessible, in part because everything is so new.
The first thing you’ll likely hear about moving to DevOps is that it’s not about specific tools or technologies, but about “culture.” DevOps itself doesn’t involve a specific team. Rather, it’s more about creating a cultural and behavioural shift that can lead to increased efficiency, improved productivity and faster deployment.
You therefore need to come armed with a certain type of mind set.
Julian Wragg, EMEA sales director for online training firm Pluralsight, told us: “Those individuals who can support their organisation’s DevOps strategy are skilled, highly functioning individuals that can work across teams in a collaborative, business focused way.
“DevOps is about moving from having a single skill, such as being a developer or network engineer, to having multiple skill sets that adapt to the changing needs of the business and market.”
As with most things, hands-on experience is a big plus and in a DevOps environment it is invaluable. But how do you break in without the experience? It’s chicken and egg time.
DevOps requires a good mix of knowledge in – not surprisingly – both development and in operations – not only in the technologies, but in the processes.
The challenge for those skilled in one portion of the DevOps equation, be they developers or those on the operations side, is to expand and become knowledgeable about more than just their specific area.
Jonas Olofsson, director of technology at Expedia, told The Register: “If you have an operational background, ask to rotate into a software engineering team to be one of their engineers for three to four months.
“Keep an open mind and don’t expect to understand all the gotchas of why, for example, unit testing is done until you’ve explored working in a software engineering team. Similarly, if you have a development background you should try to rotate into a sysadmin team or role for some time. You’ll learn incredibly fast and your new team will value your previous knowledge.”
The skills you’ll need will vary – from the deeply technical, to industry focussed, to the competencies that help employees work effectively in a business.
And yet Sophie Adelman, UK general manager of career marketplace Hired, says all too many candidates are falling at the first hurdle. She cites weak programming skills and an unwillingness to cede control to other engineers in their organisation as the main reasons why candidates fall down.
“Many engineers we interview for DevOps roles have difficulty implementing basic programming challenges, and would be well-served learning a scripting language like Ruby, Python or Go.”
With basic programming knowledge in place, learning some key technologies is important: take configuration management (Chef, Puppet and Ansible) and use of third-party APIs.
Familiarity with newer and emerging technologies and companies, too, would confer a distinct advantage: even though they are relatively young, containers (Docker, Kubernetes, Nomand) are regularly combined with emerging platforms such as Hudson, Cucumber, mcollective and Flapjack that are cropping up more regularly.
Beyond this, experience of security systems, data management and understanding of storage and networking facilities can help provide context to the work. Finally, soft skills including communication and the ability to adapt – to help ensure you’re, you know, agile.
Having said that, given this space is so young and many of the technologies moving so fast, it’ll pay not to get too hung up on specific technologies. Rather, focus on the concepts that they represent and showing how they can apply to a work scenario.
Many believe that it’s the willingness to collaborate rather than expertise in specific technologies that really give you the edge in this area. The upshot is, if you want to be a success, you have to be open to collaboration and see that you’re part of the flow of production.
“Today, I’d say that at the very least you need to understand metrics and the concepts behind short-lived environments – taking the cloud and abstracting from that what it means to have systems that don’t live forever, where performance develops continually over time, even the idea of changing computational resources in response to demand,” Mandi Walls, EMEA consulting director for Chef Software said.
It’s easy to be cynical about DevOps but there are huge opportunities. Yes there’s a lot of hype but more and more firms – and employers – are signing up and claiming to be doing DevOps or to have “done” DevOps.
The fact you work in tech in the first place means you're well positioned to break in. That combined with the low barrier to entry on skills, combined with a plethora of resources for education and training, should help you make it through the door. ®