On DevOps Thinking – 3 Soft Skills For DevOps Interviews

These are 3 soft skills that appear most important to me in DevOps interviews.

The list is based on my 8 years working in DevOps and 10 years in recruitment and management consulting before that. It is mostly applicable for Senior DevOps positions.

1. Groking Things

I was reading about groking many times when I started in tech – it impressed me, but I couldn’t make much sense out of it then. Now if somebody would ask me what groking is – the answer I can give is it is synchronizing your thinking with that of the developer who wrote the tool or code you are trying to grok.

Logic goes like that – you have a problem, you want to solve it, you wish there was a tool, you go to StackOverflow (or DuckDuckGo or Google or whatever), you find a tool, you try to use and you like it for some initial functionality.

Suddenly realization comes that this nice tool has lots of parameters. Beginner approach to this – search Internet every time you need something out of it. Simplest example I can give is Git. Sadly, many engineers stop there.

But here goes next level approach – as you understand what the tool does you start to expect commands you need. As you expect them, you know what man page to pick and what help menu option to use – at this point you don’t need StackOverflow any more to guide you. StackOverflow is still there for a reference, but it is not acting as an ultimate authority.

Key benefit of the next level approach is ability to make rational choices. If you expect something from a tool in the first place, you know why you need it there. This sometimes is not the case with copy-pasted solution from the Internet.

How to interview for groking? Pick a popular tool, ask for kind of problems this tool solves, then use funnel interview method to ask specific questions how the candidate would actually go about solving these problems with the tool. Note, that as an interviewer you are looking for general pattern of candidate’s thinking and groking things rather than her memorizing specific commands. So something along the lines – there should be a command to achieve this and if we tweak the cli parameters, we would probably solve this problem – is a great response.

2. Living In The Moment

Worst type of person to lead Agile / DevOps / Management consulting project is the one who read a lot of books or took a lot of courses but has very little real-world experience. These people bring some idealistic thinking from books but without a path to get there which frequently leads to failures and broken relationships along the way.

Key differentiator of a good Senior DevOps professional – is they always start from “Where We Are” rather than “How It Should Be”. So if a candidate for a senior job starts saying that there should be daily scrums, should be story points, should be this and that – that is a red flag to me. What I would expect from such candidate instead is conversation on what company goals are in this very moment and what DevOps or Agile or some other practices can be used to facilitate those goals.

A good DevOps professional needs to identify constraints within the organization and work according to those constraints. To do so, they need to always live in the moment – here and now.

3. Optimizing For Simplicity (Or Always Buy, Never Build)

As many, I started in tech with desire to build everything myself. Every low-level tool – I wanted to rebuild it from scratch. Over time this shifted to always buy mentality – and never build in-house, if only possible.

Yes, I’m talking about the famous Not invented here (NIH) syndrome – which also has other names.

When I hear from people going to build stuff in house to solve a non-core problem, one thing I know for sure – I would not be hiring them for Senior DevOps jobs.

So especially for DevOps, where tool eco-system is so fragmented, one of the key skills of a Senior specialist is to be able to navigate existing solutions quickly. And even if the candidate does not know a specific tool for the task, at least first reaction should be to research existing market, rather than to suggest to build ourselves.

Wider application of this idea is that good DevOps professional always tries to think about shortest path to achieve something. In majority of situations, simpler is better.

TL;DR

I believe that these 3 things are essential for a Senior DevOps professional:

– Groking
– Living In The Moment
– Optimizing for Simplicity

If a candidate demonstrates those skills, it proves to me that their experience is real and relevant.