Welcome!

@DevOpsSummit Authors: Zakia Bouachraoui, Pat Romanski, Liz McMillan, Elizabeth White, David Linthicum

Related Topics: @DevOpsSummit, Linux Containers, Containers Expo Blog

@DevOpsSummit: Blog Feed Post

Building a Winning DevOps Team | @DevOpsSummit #API #Agile #DevOps

A DevOps team’s first mission is to build, maintain and support the company’s technology stack

Guest Post: Building a Winning DevOps Team
By Adi Glasman

DevOps, and Ops in general, is one of the most important components of a company’s production machine. Investing in building a winning DevOps team should be a priority for every company and will pay off quickly.

As organizations and operations grow (products, features, number of customers, etc.), the scale of traffic, data, OS types and so on, increase rapidly. More products to support, new features to release and a lot more in-house cycles (e.g., QA, CI\CD, SME, SRE) need to be managed.

A DevOps team’s first mission is to build, maintain and support the company’s technology stack. Whether it’s a PaaS, SaaS or IaaS environment, microservices or monolithic, Docker or K8S, it does not matter – DevOps engineers need to be able to support any environment the company chooses at any time and anywhere (On Premises, Data Centers, Cloud).

Here are the subject areas any organization and it’s DevOps engineers have to deal with:

The list goes on, and every item is its own area of knowledge. It’s “a small world” of expertise, and any DevOps engineer is expected to master it all (or at least a large subset of it ¯\_(ツ)_/¯).

For example, let’s say your company is building the next edge, top of the line API serving tool. The tool is web based and expected to serve TB of daily transactions. TB of events pounding your chosen big data tools, logging everything for sanity, monitoring everything so you’ll be able to wake anyone up when necessary, profiling, ingesting, segmenting…It’s growing and doing so exponentially.

Recruiting and finding DevOps engineers to support this environment is challenging. Finding someone who understands all the aforementioned subjects is rare, and if you do find that person, they’ll cost you accordingly. (Let’s assume money is not an obstacle right now and focus on finding the right engineer to fulfill, create and maintain your environment.)

A Six Step Process
My strategy is divide and conquer. Let’s break down and define what we’re looking for.

Defining the interview process is crucial for successful hiring. A good process will result in your finding a quality candidate (technical, personal and cultural) and will help maximize the candidate’s compatibility with the company and role.

Throughout my years of experience, I’ve defined a 6 step process that helps me form and create winning engineering teams:

  • Step 1 – Define the role, and sync with the company recruiter.
  • Step 2 – Phone screen.
  • Step 3 – Break down the skills to interview modules.
  • Step 4 – Prepare questionnaire for each module.
  • Step 5 – Form your interviewer squad and begin interviewing.
  • Step 6 – Closer. All interviewers meet and decide.

Step 1. Define the role, and sync with the company recruiter.
The company recruiter will be your liaison to the candidate and will have the first interaction with them. It’s important to follow these steps:

  • The recruiting manager must have a conversation with the recruiter and make sure they understand the job description and the role’s technical requirements. Talk with them, explain yourself, explain the role and expectations. Don’t skip this stage. If you do, you’ll end up wasting everyone’s time in the long run.
  • The recruiter should have a phone conversation with the candidate. The purpose of this conversation is to understand if the candidate is a good fit for the company and how the position fits within the company culture, the candidate’s career development, and so on. This call also involves verifying the content of the candidate’s CV.

The recruiter should pass their feedback to the hiring manager and if both gives thumbs up then proceed to Step 2.

Step 2. Conduct a phone screen interview.
Phone screen interviews are very helpful and significant time savers. Since the process is time consuming and involves numerous engineers interviewing the candidate, it’s important your time is well spent. You should respect the candidate’s time as well.

After posting\advertising the job, people will start applying. Your time is precious so treat it accordingly! Even if the CV is appealing and it seems like the candidate is a perfect match, you still have to set up two phone calls, each being no more than 15-20 minutes:

  • Recruiting Manager Interview – The recruiting manager needs to talk with the candidate to understand if the person is qualified and is a good fit for the team and company culture. They should also use the time to find out whether the candidate thinks the role meets their career aspirations, as well as validate the candidate’s CV.
  • Technical Interviewer – This can be any existing DevOps engineer or software engineer who can ask a series of easy, medium or hard questions related to the posted position and candidate’s background.

The recruiting manager and the technical interviewer should meet following these interviews.  If both give thumbs up, proceed to step 3.

Step 3. Break down the skills to interview modules.
Interview modules represent a subject to discuss during the interview. For example:

  • System + Networking
  • Methodologies\Processes – Agile, CI\CD, etc.
  • Software Engineering, Architecture Design
  • Problem solving, debugging, monitoring
  • Culture fit
  • Practical\Code challenge

Step 4. Prepare a questionnaire for each module.
For each module, prepare a questionnaire that applies to different skill levels (junior, intermediate, senior and expert). This is best organized in a question and answer format as the answer section will be helpful in situations where the answer differs from what is expected.

System + Networking module example:

These questions will assess a candidate’s skills and knowledge in areas of your specific flavor of operating systems and scalable networking. It is very important that these areas are well understood to allow for effective troubleshooting and competency in a technical environment. Lacking this basic knowledge can result in a long learning curve.

  • How does traceroute command work?
  • What is ARP?
  • What is jitter/latency/packet-loss-ratio?
  • What is proxy ARP?
  • How do you set up a TCP connection?
  • Etc.,

System engineering module example:

The intent of this module is to determine whether the candidate has a reliable and repeatable process for solving complex problems. The interviewer will present a subset of the problems outlined below and progressively increase the complexity of the required solution through discussion with the candidate. If the problem field of knowledge is unknown to the candidate, only the process used to arrive at a solution should be judged and not the solution itself:

You are to architect a new email system capable of supporting an expanding user base with low delivery times. The incoming mail throughput is expected to be around a million emails per minute.

  • Describe in detail or draw the mail system you would implement.
  • What software choices would you make for each layer and why?
  • What are your kernel, networking, storage and monitoring considerations?

Step 5. Form your interviewer squad and begin interviewing.
Each interviewer should pick a module that fits with their skill set so that they’re able to ask and understand the candidate answers. Every interviewer takes notes and gathers feedback. Best of luck for a great interview!

Step 6. Closer. All interviewers meet and decide.
All interviewers meet and share thoughts and concerns. At the end of the meeting, ideally each person will be able to give a thumbs up or down. If, however, there’s a lack of clarity or unresolved concerns about the candidate, you can set up an additional interview before making a final decision.

I’ve been using this method for a couple of years and it’s proven to be very successful.

Good Luck!

Adi Glasman is a Senior Operations Manager at APAC – Zendesk. You can find more articles by Adi, as well as the original post here.

The post Guest Post: Building a Winning DevOps Team appeared first on XebiaLabs.

Read the original blog entry...

More Stories By XebiaLabs Blog

XebiaLabs is the technology leader for automation software for DevOps and Continuous Delivery. It focuses on helping companies accelerate the delivery of new software in the most efficient manner. Its products are simple to use, quick to implement, and provide robust enterprise technology.

@DevOpsSummit Stories
Digital transformation is about embracing digital technologies into a company's culture to better connect with its customers, automate processes, create better tools, enter new markets, etc. Such a transformation requires continuous orchestration across teams and an environment based on open collaboration and daily experiments. In his session at 21st Cloud Expo, Alex Casalboni, Technical (Cloud) Evangelist at Cloud Academy, explored and discussed the most urgent unsolved challenges to achieve full cloud literacy in the enterprise world.
CloudEXPO | DevOpsSUMMIT | DXWorldEXPO Silicon Valley 2019 will cover all of these tools, with the most comprehensive program and with 222 rockstar speakers throughout our industry presenting 22 Keynotes and General Sessions, 250 Breakout Sessions along 10 Tracks, as well as our signature Power Panels. Our Expo Floor will bring together the leading global 200 companies throughout the world of Cloud Computing, DevOps, IoT, Smart Cities, FinTech, Digital Transformation, and all they entail. As your enterprise creates a vision and strategy that enables you to create your own unique, long-term success, learning about all the technologies involved is essential. Companies today not only form multi-cloud and hybrid cloud architectures, but create them with built-in cognitive capabilities.
In today's always-on world, customer expectations have changed. Competitive differentiation is delivered through rapid software innovations, the ability to respond to issues quickly and by releasing high-quality code with minimal interruptions. DevOps isn't some far off goal; it's methodologies and practices are a response to this demand. The demand to go faster. The demand for more uptime. The demand to innovate. In this keynote, we will cover the Nutanix Developer Stack. Built from the foundation of software-defined infrastructure, Nutanix has rapidly expanded into full application lifecycle management across any infrastructure or cloud .Join us as we delve into how the Nutanix Developer Stack makes it easy to build hybrid cloud applications by weaving DBaaS, micro segmentation, event driven lifecycle operations, and both financial and cloud governance together into a single unified st...
For far too long technology teams have lived in siloes. Not only physical siloes, but cultural siloes pushed by competing objectives. This includes informational siloes where business users require one set of data and tech teams require different data. DevOps intends to bridge these gaps to make tech driven operations more aligned and efficient.
Daniel Jones is CTO of EngineerBetter, helping enterprises deliver value faster. Previously he was an IT consultant, indie video games developer, head of web development in the finance sector, and an award-winning martial artist. Continuous Delivery makes it possible to exploit findings of cognitive psychology and neuroscience to increase the productivity and happiness of our teams.