In my last post, I shared two DevOps Engineer personas to consider when hiring. Once the appropriate persona is identified, the next question clients often ask is: “What DevOps Engineer traits and skills should we hire for?”
At SingleStone we often say “hire for attitude, aptitude then skills”. I’ve heard countless flavors of this slogan from my customers as well because the message is simple: Skills can be taught, but you can’t teach character.
When it comes to the traits of a DevOps engineer, I focus on six aspects:
Holistic Problem Solver —
Prioritizes holistic problem solving over gathering requirements and writing code to meet the requirements. Likes to write code and is good at writing code but recognizes that solving problems involves more than just slinging good code. Has a bias for action, empathy for humans and falls in love with the problem and not the first solution that comes to mind.
Always Making Better —
Never satisfied with the current state and always pursuing a better future state. Strives to leave things in a better state than when they arrived. Not necessarily “goal-oriented”, but in their own way takes pride in their work and never rests on their laurels.
Hungry to Learn —
Naturally inquisitive person who pushes themselves to learn new methods and tools. Enjoys digging into new topics and quickly figuring out how they work and when they can be useful.
Servant Leader —
Doesn’t have a big ego and derives joy in helping others succeed. A team player who can develop a rapport with fellow engineers and share skills. Bonus points if they can coach and mentor others.
Comfortable with Flexibility —
Has a strong base of experience in one programming language but likes learning new languages and better tools to solve problems. The opposite of the I-only-write-.NET-code folks. Has a solid understanding of code management based on Git.
Cares about Quality —
Takes pride in the code they produce to ensure it’s clear for others who will read it later. Writes tests for any production code they create. Thinks about not just quality at the code level — but quality at the end-to-end system level.
In my experience, the engineers that show these traits are the ones that thrive in practice. I’ve seen this with my team and my customer’s teams. Missing one of these traits is not the end of the world but missing two or more would give me pause on hiring a candidate for a DevOps role.
To Hire or Recruit Internal?
After we’ve covered the personas and traits, I’ll wrap things up with a big question, “Do you have to go outside for this role? Is there anyone internal that has these traits and we could train?”
In my experience, there’s almost always a DEVops engineer working on an app dev team who’s shown a little interest in these topics. Same goes for a devOPS engineer — they are usually the progressive ops folks who are already automating aspects of their work with scripts. If you can find these folks internally, see what it takes to get them on your team and headed down a DevOps engineering path.
In summary, start with the most acute problems you need to solve and let that guide you to a DEVops or devOPS persona. Hire for traits, then skills. And don’t forget to look internal, there could be a candidate with all the traits but not the skills — yet.
Stay tuned…my next post will go a step further, sharing how to create Learning Paths for your DevOps engineers to encourage continual growth of their skill set.