NCPL-DevOps-Interview-Blog

13 Apr 2016

Smart answers for your next DevOps interview: How to prepare

The demand is increasing in the marketplace from an employer perspective,” says John Reed, senior executive director at specialized staffing firm Robert Half Technology. “They see the benefits of DevOps. That has technology pros thinking that it’s probably a good idea to be looking at that.To stand out among the competition, experts urge you to prepare for interview questions. Here is a sampling of questions for your next DevOps job interview.

What is DevOps?
Your response should reflect your knowledge of the main theme common to any DevOps effort: It’s about operationalizing and deploying software and services with greater speed, agility, and flexibility.

Point out that the “smooth deployment of software is what DevOps attempts to codify,” says Calvin Brown, enterprise architect and founder of custom software development and consulting firm Kairu Consulting. Comment on how the core of DevOps lies with components such as an agile relationship between software development and IT operations, the management of security and software development processes for improved release efficiency, and the automation of tasks, he says.

Explain further “that DevOps is the next evolution beyond agile to take lean practices and extend them to the full ecosystem of product development—all of the disciplines required to build, deploy, maintain, support, and enhance technology-based capabilities needed by the organization to create business value,” adds Steve Mayner, SAFe program consultant and trainer and senior consultant at Scaled Agile, which helps enterprises adopt lean-agile principles and practices via its Scaled Agile Framework (SAFe) for enterprise agility.

What sources do you consider to be DevOps’ leading lights?
Be familiar with thought leaders and works that explain the philosophy and practices that inform the DevOps movement. Mention The DevOps Handbook for starters. Written by DevOps researcher and author Gene Kim (with co-authors Jez Humble, Patrick Debois, and John Willis), it can be referenced as a touchpoint for implementing DevOps in an ideal world, says Jeanne Morain, a digital/cloud strategist and author at iSpeakCloud. The book explains that DevOps is the result of applying lean principles to the technology value stream: It discusses the principles of flow, which accelerates the delivery of work from development to operations to customers; feedback, which enables creating ever safer systems of work; and continual learning and experimentation, which fosters a high-trust culture and a scientific approach to improving organizational risk-taking as part of daily work.

Demonstrate that you’ve not only read but have internalized the seminal works on DevOps, says Mayner, mentioning both The DevOps Handbook and the novel about IT and DevOps that preceded it, The Phoenix Project, by Kim, Kevin Behr, and George Spafford. Be able to cite the "Three Ways" to show that you know where to go to find the foundational concepts, principles, and practices in your field, he recommends, and boost your credibility by giving an example of where you have seen one of the Three Ways in action, too.

Past-experience queries
What are the highlights of your DevOps experience?
Often, prospective employers will want you to relate an event that best exemplifies the practices and value of DevOps. There’s no single right answer. “It doesn’t matter to me if the answer is more cultural (dev and ops teams working together better) or technical (for example, 'Cut down on time to set up new instances through scripting and increased quality by eliminating variances in environments'),” says Mayner.

Reed weighs in that it’s okay to share previous experiences that haven’t met with success (say, an outage that happened after giving developers exposure to production infrastructure without proper education), as long as you provide perspective on what you learned from the failure and how you would apply that learning to approach DevOps projects differently in the future—to the potential employer’s benefit, of course!

“Following DevOps principles means we treat failures (such as outages) as opportunities to learn,” concurs Nathen Harvey, vice president of community development at continuous automation platform vendor Chef Software. So, in the interview, you can make the case that, after a critical incident occurred, the team came together to learn about how the failure happened and what changes could prevent it in the future, he says. To be able to speak well on this point, start reading up on blameless post-mortems and bring the practice into your teams now. Also, be ready to show interviewers that you have “curiosity and determination to find underlying issues in the system,” instead of just being focused on replacing failed components and moving on to the next task.

What processes did you automate, enhance, or implement as part of your continuous integration/continuous delivery (CI/CD) cycle at your current employer?
A good answer to this starts by acknowledging that you understand that part of the DevOps rationale is to support digital transformation efforts, and that means moving the organization out of the past—addressing people and process components as you go, says Morain. She encourages explaining that you looked at existing internal processes that were created pre-cloud, pre-virtualization, and pre-transformation, and therefore are likely to incorporate more manual touchpoints and more time-consuming steps that impact service-level agreements. Discuss that you tried to streamline processes that were redundant through workflow consolidation and/or open source, and that for processes such as ITIL you automated as much as possible to redirect critical skillsets from being tactical to being more strategic.

How have you expanded your skills to fit in with a true DevOps environment? People coming from a developer background should be able to discuss familiarity with the operations process (servers, scripts, firewall, and so on), Brown says, as well as demonstrate that they understand the effects of their code on overall security and how it impacts deployment and the high-level goals of IT operations in general. Operations professionals, he says, should be comfortable discussing issues such as scripting to automate configuration files and demonstrate an understanding of the impact of database changes on software and security. They should be conversant with CI/CD tools, Brown says.

Technical queries
What is continuous delivery and how is it different from DevOps? Why is it important?
This is your chance to explain that CD is all about automating the software delivery process, while DevOps is broader and targets all aspect of development, team collaboration, and deployment, says Martin Prescher, CTO at startup AutoGravity, which created an AI-enabled car financing app. CD does not mean to just ship code more often, but to truly benefit the organization by reducing deployment risk, improving feature time to market and code quality, lowering development costs, and boosting team engagement, he says.

What are the challenges in building infrastructure and deploying code while scaling up either or both? Demonstrate in your answer at least an understanding that, as you build more infrastructure, it becomes harder to maintain—and as you deploy code more often, it becomes challenging to maintain its quality and resiliency, says Elizabeth Enders, talent acquisition manager at Envato, a company that manages online marketplaces for digital creatives. “It's not just about scaling your infrastructure, but your teams and processes,” she says. If you’re going for a more senior role, you also need to present some ideas on how to meet the challenges, she says.

How will you measure the effectiveness of your DevOps implementation strategy? Provide an answer from multiple perspectives, advises iSpeakCloud's Morain, since effectiveness in DevOps can be measured in marked difference to cost, compliance, and agility. Discuss the total costs of the implementation across applications, data, and infrastructure. Discuss compliance in relation to security, business, and regulatory objectives. And discuss agility in terms of time to value. Bring to your interviewer’s attention the fact that you believe that “part of the DevOps business case should include ongoing metrics and improvement on what is working and why, and what is not,” she adds.