Return to Main Article – Transferable Skills Guide Overview Sourcing tech professionals with certain emerging or hard-to-find skills can be a challenge – even for the most seasoned recruiter. In the sixth installment of our seven-part "Transferable Skills Guide" series, we look at the DevOps role and skill-sets in other disciplines that translate to success in this new area of tech. Use these tips to better evaluate tech candidates and build a bigger pipeline of talent. DevOps Engineer DevOps sounds more like a Special Forces division of the military than a technology role, but this position is mission critical in the software development life cycle. It’s a new technology function that represents fresh methodologies. By looking at the DevOps name itself, it’s fairly easy to dissect that it’s a mashup of a software development and system operations. As a result, tech pros with a background in one of these areas can make the transition to DevOps with motivation and some hard work. There are two main areas of a DevOps role: operations and systems, and infrastructure automation and development. The challenge with DevOps is that organizationally it bridges an important part of the software lifecycle – change management. In software development, change is critical to success. In operations, change is faced with caution since it introduces risk. The best candidates for a DevOps role possess great communication skills and the ability to crossover between both disciplines. OPERATIONS & SYSTEMS Linux or Microsoft, but usually not both When it comes to systems knowledge, candidates specialize in a particular technology stack. Some roles may require knowledge of multiple stacks, but it’s is unusual to find or need a candidate that knows various stacks deeply. Core platforms:
- Linux: This open source platform is the most common stack for DevOps. Why? It’s because of the fast growth of cloud services, such as Amazon Web Services, many of which started on the Linux platform.
- Microsoft: Experience with a variety of Microsoft products like Azure (it’s cloud platform), Windows Server or SQL Server are typically required.
- Hybrid: This can represent Linux and Microsoft technology together, or even cloud and a traditional data center hosting setup. The more hybrid the environment, the more likely the candidate will need strong systems and operations experience to be successful.
- Puppet, Chef, Vagrant, CFEngine and Bcfg2: These configuration management tools allow DevOps pros to manage software and system changes repeatedly and predictably.
- Jenkins, Maven, Ant, CruiseControl and Hudson: These are tools for building and packaging software that can then be deployed on systems. They streamline the dev process making it faster and easier to create and deploy software.
- Git, SVN, CVS, Visual Studio Online and Perforce: Version control is important to DevOps so developers don’t get in each other’s way. Use of these source control systems allow for collaboration on software projects and make it easy to manage changes and updates. Tools in this cluster are particularly straightforward and can be learned easily.
- Nagios, Munin, Zabbix, Sensu, LogStash, CloudWatch, Splunk and NewRelic: DevOps professionals must always keep tabs on performance. These monitoring and logging tools are a few of the most common. While the specifics of each tool are different, a DevOps professional should easily know the philosophy and principles behind each of them.