As more companies tear down the silos that separate software development and IT operations, market demand for DevOps skills is on the rise. Experience with Puppet, the popular open source DevOps tool, tops many hiring managers’ wish lists.
Joe Sanchez, an IT operations manager for Grand Canyon University, is one of those hiring managers, and he wants more than technical skills when hiring for his DevOps team: “I look for creative, free-thinking people who get along well with others when I interview candidates.” He asks these three questions when trying to assess whether a candidate fits with the DevOps philosophy and model:
How do you define DevOps?
- What Most People Say: “To me, DevOps is about software used for configuration management and automation. It’s understanding software such as Chef, Puppet, Salt and Ansible.”
- What You Should Say: “While DevOps does include the use of tools that streamline service delivery, I think of it as a way of doing business that drives my activities and the way I interact with my colleagues. For instance, sometimes I help the development team decipher problems with their code and fine-tune applications. Other times, I work with the marketing DBAs and database developers to eliminate bottlenecks in the pipeline, which improves decision-making and shortens the time to market. I don’t wait for my teammates to ask for help, I look for opportunities and jump in.”
- Why You Should Say It: Legacy IT people with a ‘silo’ mindset who like clear instructions, narrow, well-defined roles and a traditional build environment aren’t suited for DevOps. The DevOps model requires selfless, adaptable people who are comfortable navigating gray areas. And yes, knowing DevOps tools is important; but what really matters is how you use them.
Give me some examples of the DevOps tools on your keychain.
- What Most People Say: “I’ve used VMware templates to configure servers.”
- What You Should Say: “I can script the complete build of a server or environment and turn it into a repeatable process by creating a cookbook in Chef. The recipes describe the desired configuration state, define a scenario and supply everything needed to install and configure additional servers directly from the command line. This avoids issues with drift.”
- Why You Should Say It: DevOps is designed to create efficiencies that improve service delivery through the development of repeatable, sustainable, streamlined processes. In the past, a systems admin had to go to the network admin to get an IP address and wait for a DBA to make some changes to the default configuration in order to set up a server. A DevOps pro can set up multiple servers effortlessly without worrying about previous changes to the configuration or accidental overwriting.
Give me some examples of DevOps projects you’ve worked on using systems automation and configuration.
- What Most People Say: “I installed VMware in my home lab and used the templates to configure a server. What’s that? Yes, I used someone else’s script.”
- What You Should Say: “I recently partnered with developers to set up a storage network. And I also worked with solution architects and network admins to combine network, storage and computer resources located in distributed data centers into a virtual data center in the cloud. Last month, I worked with the development team to coordinate the deployment of new software into production and to identify any new configuration elements. So far, we’ve reduced major bugs by 20 percent and decreased system downtime by 10 percent.”
- Why You Should Say It: A novice sees DevOps as tools and software, while a DevOps pro has worked on complex, collaborative projects that deliver tangible, improved outcomes.
- Critical Skills for DevOps Engineers
- Technical Interview Questions for Linux DevOps
- Why DevOps Is CPR for Cloud Applications