Book Image

The DevOps Career Handbook

By : John Knight, Nate Swenson
Book Image

The DevOps Career Handbook

By: John Knight, Nate Swenson

Overview of this book

DevOps is a set of practices that make up a culture, and practicing DevOps methods can make developers more productive and easier to work with. The DevOps Career Handbook is filled with hundreds of tips and tricks from experts regarding every step of the interview process, helping you save time and money by steering clear of avoidable mistakes. You’ll learn about the various career paths available in the field of DevOps, before acquiring the essential skills needed to begin working as a DevOps professional. If you are already a DevOps engineer, this book will help you to gain advanced skills to become a DevOps specialist. After getting to grips with the basics, you'll discover tips and tricks for preparing your resume and online profiles and find out how to build long-lasting relationships with the recruiters. Finally, you'll read through interviews which will give you an insight into a career in DevOps from the viewpoint of individuals at different career levels. By the end of this DevOps book, you’ll gain a solid understanding of what DevOps is, the various DevOps career paths, and how to prepare for your interview.
Table of Contents (17 chapters)
1
Section 1: A Career in DevOps
5
Section 2: The Application Process
10
Section 3: Interview Process
13
Section 4: Tips, Tricks, and Interviews

DevOps career paths

The field of DevOps is dense and is challenging to navigate, even for experienced practitioners. DevOps consists of eight core practices and follows seven basic principles. Unsurprisingly, there are numerous career paths in the field of DevOps. The generalist is the most common DevOps role.

A DevOps generalist is comparable to a Swiss Army knife, which is designed to handle as many tasks as possible. It can cut rope, open a can, cut wire, and if needed, the Swiss Army knife could fillet a fish. A DevOps generalist can create a deployment pipeline, write infrastructure as code scripts, and manage an Elastic Kubernetes Service (EKS) cluster in Amazon Web Services (AWS) if necessary.

A DevOps specialist is comparable to a fish fillet knife, which is singularly designed to fillet fish most effectively. The knife's profile, blade material, and ergonomics are finely tuned for a singular task, slicing fish. For example, a DevOps cloud specialist has spent their career focused on becoming an expert in cloud infrastructure, cloud architecture, and cloud security, and managing an EKS cluster in AWS is what they do in their sleep. It is likely that they would find a more cost-efficient way to do it than a non-cloud specialist.

A DevOps specializing generalist is comparable to an Everyday Carry (EDC) knife with a trailing point blade. This knife has ergonomics similar to a Swiss Army knife but a blade profile giving it the ability to fillet fish at a comparable level to a fillet knife. A DevOps specializing generalist who spent the past 10 years working in an AWS environment would be able to complete most DevOps tasks but would excel at those that involved AWS services.

Common skill profile shapes for a generalist, specialist, and specializing generalist can be seen in the following diagram:

Figure 1.8 – Skill profiles

Figure 1.8 – Skill profiles

The profile of your skill set can be very useful when determining how to classify yourself. Start with a comb. Each prong (skill) has a similar length (depth). The comb shape is typical of a generalist. The second common profile is the T shape. A T has a single line (skill) that has a full length (depth). The T shape is typical of a specialist. An E-shaped profile, sometimes referred to as an unequal comb, has prongs (skills) of differing lengths (depths). Oftentimes, one or several skills have a definitively greater depth than the rest. The E shape is common for a specialized generalist.

A mentor told me the unequal comb (E shape) skill profile is the only true measure of an individual's skills. The comb shape is flawed because it assumes all skills have an equal depth, which is impossible. The T shape has a lack of detail; it shows a singular skill the individual is highly adept at but does not account for the other skills possessed by the individual.

Pro Tip

For this chapter, do not focus on what is required for the example skills listed as they will be covered in the next chapter. Instead, focus on how the skill profiles relate to the different types of DevOps engineers' specific requirements.

Common skill profiles fitted to the E profile can be seen in the following diagram:

Figure 1.9 – Skill profiles (E profile fitted)

Figure 1.9 – Skill profiles (E profile fitted)

In the following sections, we will take a look at skill profiles for a DevOps generalist, specializing DevOps generalist, as well as several skill profiles for DevOps specialties. We will begin by looking at the skill profile for the DevOps generalist.

DevOps generalist

Google's Ben Fried stated, Generalists, not specialists, will scale the web (https://devops.com/specialists-vs-generalists-enterprise-devops/). This is a quote from back in 2011 but still holds true to an extent today. A generalist understands the entire Software Development Life Cycle (SDLC). The generalist has broad knowledge across domains and skill areas but lacks a deep understanding of any domain. This is common in small companies, start-ups, or vertically integrated companies having only a handful of products and tools to support. There needs to be almost no handoff of work, leading to fewer places to drop the ball or forget something.

The following is a sample skill profile for a DevOps generalist. Take note of the relatively flat shape:

Figure 1.10 – DevOps generalist skill profile

Figure 1.10 – DevOps generalist skill profile

The DevOps generalist is one of the first to feel the pains of growing or introducing new software, especially in smaller companies or organizations with a small DevOps department. When a new tool is introduced, the DevOps engineer needs to understand the tool before it is implemented. Next, an environment must be provisioned for the new tool, oftentimes unlike the environment the existing tool uses, or at least with quirks and subtle differences. Finally, the tool is implemented. At this point, both the new and existing tool need to be supported by the DevOps engineer. The comb shape that was used graphically to describe the generalist has an inherent flaw: it assumes a generalist does not have a deep understanding of any domain.

DevOps specializing generalist

If you stay working in the same industry or with the same type of projects long enough, you will eventually become a specializing generalist. The specialized generalist is also referred to as a master general. In the preceding example, the DevOps engineer has all the required skills but has a much deeper understanding and knowledge in the domain of programming and developing code. This is typical for software engineers who transition into a DevOps role. This could also be a skill profile you evolve over time if you enjoy certain skills, or if you just happen to always be assigned to tasks that require those skills. Regardless of how your skill profile evolved, knowing you have a deeper understanding of certain areas can be beneficial both when looking for a job as well as when it comes time to ask for a promotion.

In the following figure is the skill profile of a DevOps engineer who has knowledge in many domains with a deeper understanding of the Build and Deploy domains:

Figure 1.11 – DevOps specializing generalist skill profile

Figure 1.11 – DevOps specializing generalist skill profile

Understanding your own skill profile can be very helpful both for a manager of a team when planning capacity, as well as an engineer when choosing which roles to apply for, which is likely what you are interested in. In the next chapter, we will take a deeper dive into how you can create your own skills profile.

A specialist has a very deep understanding of a singular domain. This does not mean they are not capable of doing other things; however, it is usually not efficient to have a specialist work across domains. Specialists are more common in large organizations that define specialists by the tools they support. If we apply this to our previous example, DevOps engineering team A would specialize in tool A. When a new tool is introduced into the company, a new team would be formed and talent would be hired with correct skills or existing employees would be up-skilled to join the team. Specialists who possess deep knowledge in one of the DevOps domains are the ones that will be focused on in this book going forward.

DevOps security specialist

A DevOps engineer specializing in security is known to be in the niche field of DevSecOps. DevOps security specialists have a deep understanding of areas such as penetration testing, cloud security, chaos engineering, and continuous verification as seen in the following example skill profile:

Figure 1.12 – DevOps security specialist skill profile

Figure 1.12 – DevOps security specialist skill profile

Now, we will talk about DevOps cloud specialists.

DevOps cloud specialists

One of the fastest-growing fields is cloud engineering and cloud engineers are some of the highest paid. What is the difference between a cloud specialist, a cloud engineer, and a DevOps cloud specialist? you might be asking, and the honest answer is nothing. Titles are meaningless and, oftentimes, they differ between companies and sometimes even between departments in larger organizations. A DevOps cloud specialist has traditional DevOps skills but has a very deep knowledge of the cloud tools, architectures, best practices, and management of entire cloud environments, sometimes multi-cloud environments.

The wide-scale adoption of the cloud has made a strong understanding of the cloud something even entry-level jobs oftentimes require.

Figure 1.13 – DevOps cloud engineer specialist skill profile

Figure 1.13 – DevOps cloud engineer specialist skill profile

In this section, skill profiles for DevOps generalists and DevOps specialists were covered.