The DevOps movement, while ever-evolving, is still relatively in its infancy in comparison to other management concepts like Lean and Agile. DevOps means different things to different people, and finding the right skill set for your company is going to be entirely down to your specific needs. Which makes defining the role of a DevOps engineer pretty subjective and hard to pinpoint.
That isn’t to say it’s an impossible task. DevOps engineer recruitment posts all tend to have similar trends in common: experience with AWS, knowledge of tools such as Jenkins and Ansible, and being down with programming languages like Python and Go. All of these factors—plus a few others—form a general blurry outline of the type of engineer you’re probably looking for. This article aims to ramp up the focus on what makes the difference between an average DevOps engineer and a Rockstar one.
The Core DevOps Engineer Role
The distinction between hiring a software engineer or a DevOps one lies in the CAMS acronym and is about more than simply employing for technical expertise alone. Instead, you’re hiring someone to shape your organization’s Culture, Automation, Measurement, and Sharing capabilities (CAMS). This is where the difference between an average engineer and a rockstar DevOps one shines through. Your rockstar doesn’t just ‘talk the talk’ and know the right buzzwords to use, s/he can also put the necessary DevOps team management and workflow improvement theories into practice.
Talk the Talk
When narrowing down the possible hire options in front of you, it’s useful to start with the broad range of core fundamentals that every DevOps engineer should have in their repertoire:
- Substantial system build and administration know-how
- Virtualization experience
- A comprehensive IT background in all disciplines
- The coding ability to setup automated/repeatable processes and applications
AND Walk the Walk
Your rockstar DevOps engineer will bring so much more to the table than just the technical fundamentals though. The critical difference being that a rockstar has the depth of knowledge to support their breadth of experience. While many perspectives would argue that technical expertise should trump all else, at Caylent, we believe it is attitude and extensive soft skills that sway the balance between an average new hire and someone stellar. To truly see the dramatic positive impact DevOps can have on helping your organization achieve Continuous Delivery, it’s imperative to hire someone with the cultural knowledge to lead the charge and change core processes.
If you’re looking for ways to integrate DevOps into your organization, give Caylent a try here.
Your ideal rockstar DevOps engineer is formed in the center of a trifecta of at least six years experience that includes a balance of Development, Operations, and people management skills. Too often the scales are tipped in favor of either a predominantly Dev OR Ops background. But just as in tennis, it’s important that your engineer is equally strong in both his (or her) fore and backhand swing and has avoided being weighted towards one discipline over the other.
Minimum Ideal Trifecta of Experience for a Rockstar DevOps Engineer
We’ll evaluate each category in-depth and reveal how you can gauge if your interviewee is the rockstar you need:
Cultural Knowledge
Team Management
DevOps isn’t simply about introducing your organization or project to the benefits of Lean/Agile or implementing Scrum. Rather, it’s about encouraging your team to self-improvement and empowering them towards process development by means of visualization, waste elimination, and enabling continuous feedback. All with the overall goal to improve the flow of work according to your team/organization/project requirements.
Average DevOps Engineer
- Has a general knowledge of the different management practices that converge to create the DevOps methodology, i.e. Scrum, Lean, Agile, etc.
- Perhaps knows a little of the difference between each practice.
Rockstar DevOps Engineer
- Provides a clear understanding of the differences and subtleties between each of the management techniques.
- Has implemented sections/components of each management practice in previous projects.
- Shows the confidence to influence and motivate future team members who are new to DevOps.
- Previously has encountered and overcome strong-willed individuals who were set against change and adopting the DevOps principles.
- Can discuss previous cultural responses to implementing new practices.
- Has initiated the uses of visualization/project management tools to improve workflow visualization such as Trello, Asana, etc.
Possible interview ideas:
Ask your interviewee to compare/contrast DevOps to another management technique; “How do you believe DevOps is different from Agile / Scrum/ Lean?” Or invite your interviewee to pick out a time they were involved in the implementation of one of these, and dig into why it was favored over another option.
System Implementation
Good systems management is about flexibility and being instrumental in reshaping the processes which will enable your team to achieve full Continuous Delivery and Continuous Integration. While on the surface this seems like a technical factor, good system implementation is, more importantly, about establishing the right work culture and environment which enables your team to thrive.
Average DevOps Engineer
- Has likely encountered some system tools before and will probably focus solely on the technical aspect of this factor.
- Has yet to develop a skill set to begin implementing system modifications.
Rockstar DevOps Engineer
- Proffers established techniques and suggestions for making system modifications if hired.
- Is passionate about DevOps and understands the advantages/disadvantages the different methodologies can bring to both brown and greenfield projects.
- Can provide depth of opinion based on previous learned experience of implementing DevOps principles.
- Can demonstrate flexibility in system thinking. Just like in landscape gardening, a good designer tries to force nature to do their bidding, but a great designer has the flexibility to adjust their design to enhance it.
Possible interview ideas:
“Can you tell us about a time you implemented an effective monitoring solution for a production system?” Or focus on the topic of change; “Can you discuss a time when a particular system didn’t work and explain how or why it was changed?” Then delve deeper. Ask if in retrospect, s/he would change the decision and improve with an alternative implementation method.
Technical Expertise
Network Protocols
Network architecture is fundamental to improving application performance management. DevOps seeks to address this key aspect of application performance in a unified approach rather than the traditional strategy of making it an Ops responsibility. Therefore, it’s important for a DevOps engineer to understand their role in the architecture of an application and it’s network requirements to better orchestrate the flow of traffic.
Average DevOps Engineer
- Has some experience with security, load balancing, and caching.
- Has some knowledge of different network protocols and can cover the basics of subnets, TCP/IP, ports, and firewalls.
Rockstar DevOps Engineer
- Has a level of understanding equivalent to a CCNA/CCNP; meaning s/he knows the protocols in depth.
- Knows and understands the 7 layers of the OSI model.
- Easily comprehends the common port assignments.
- They can outline protocol sequences of procedures like DNS or the TCP 3 way handshake.
Possible interview ideas:
Ask your interviewee to detail the OSI model and/or compare the difference between TCP and UDP. Or consider some of the great questions posed in these articles:
Top 50 Network Administrator Interview Questions by Kurt Ellzey
Network Administrator Job Interview Questions by Alison Doyle
Continuous Delivery & Integration/Automation
There are so many tools out there now synonymous with DevOps and achieving Continuous Delivery/Integration. Without the use of the right tools appropriate to the project, your team’s DevOps transformation will never achieve its full potential.
-
Average DevOps Engineer
- Can name drop a few of the best-known automation tools.
- Has experience using one or two of them.
- Will probably know there are different types of testing.
-
Rockstar DevOps Engineer
- Can compare and contrast automation tools.
- Can relate project/organizational experience using particular software and name different advantages/disadvantages for making that particular choice.
- Knows the difference between Unit, Acceptance and Integration tests, and has experience in each. They will also clearly be able to explain why testing is so important.
Possible interview ideas:
Ask, “How should you handled failed deployments in your pipeline?” Or, “What is Continuous Integration and what is your experience implementing it?” Or consider some of the questions suggested in these articles:
Continuous Integration Interview Questions by Java Interview Questions
Top 15 Automation Testing Interview Questions & Answers by Guru 99
Systems/Coding Languages
When it comes to scripting languages, the simpler the better. Many engineers will have used a fair few languages and have strong knowledge of one or two in their repertoire. The language itself though isn’t so much important as the ability is to be able to read design patterns.
Average DevOps Engineer
- Has limited experience using one or two coding languages.
Rockstar DevOps Engineer
- Has a depth of experience in the main coding languages Python, Ruby, PHP, etc.
- Knows that the language depends entirely on the context of the project and the tools needed.
- Understands the difference between development paradigms such as procedural, object-oriented, or functional programming.
Possible interview ideas:
These articles are great resources for finding the type of questions and answers you should be looking for:
Principles of Programming Languages Interview Questions & Answers by Wisdom Jobs
Top 50 Programming Interview Questions & Answers by Guru 99
Ultimately, technical skills can be taught and honed through further experience. But the right combination of DevOps soft skills and cultural values necessary to shape your team? That is what truly makes a rockstar stand out. Your rockstar DevOps engineer will be responsible for molding your company/project/team, so choose wisely. For this reason, keep an open mind when it comes to technical background and instead, focus your interview and attention on the person behind the CV.
For more insights on how to hire a great DevOps Engineer, be sure to visit Toptal’s comprehensive guide on the subject here.
Caylent is a cloud-native services company that helps organizations bring the best out of their people and technology using AWS. We are living in a software-defined world where technology is at the core of every business. To thrive in this paradigm, organizations need to empower their people and processes through technology. Caylent is uniquely positioned to fuel that engine of innovation by bringing ambitious ideas to life for our customers.
Caylent works with customers to build, scale and optimize sophisticated cloud solutions using deep subject matter expertise to deliver world-class outcomes through an agile co-delivery model.