In traditional business, there’s often a level of tension between development teams and operations engineers. These two groups were often segregated; development working in their bubble, releasing products for the operations engineers to learn and use with no feedback, input, or recourse when something goes wrong. The two groups were at odds, working almost against one another, with an antagonistic perspective.
Over the last decade or so, several different business forces have been coalescing into a “new” idea; perhaps each part of a business should work together, rather than against one another. It’s not a new idea, since successful businesses have been working in harmony for centuries, but it’s a shift in what had become the standard paradigm.
In part, this comes from Agile and Lean; two operations paradigms that focus on aligning many moving parts and minimizing the bulk of time-consuming, low-productivity business operations. In part, it’s a synthesis of other business ideas, taking root and growing as larger businesses adopt techniques they can use to adapt to a changing ecosystem.
It’s difficult to give a concrete definition for “DevOps” – in fact, many articles have been written about this exact topic, and for every expert that puts forth their own definition, there are businesses that are using DevOps techniques that don’t quite fit those descriptions.
DevOps is not so much a team or a group within your organization. Rather, it’s an approach. It’s a methodology you use, from hiring to development to operations and beyond. It’s a new way to keep an entire organization working together, with agile and responsive systems in place to facilitate that teamwork.
Needless to say, DevOps has become a key job position. Many businesses invest in the DevOps philosophy and use the term to attract new candidates who understand the environment. Others use DevOps as a buzzword and fail to fully espouse the processes involved. Nevertheless, if you’re interested in hiring people with DevOps training, experience, or authority, you’ll need to first understand the various roles and processes.
Here are some of the most common DevOps job titles, what they do, and what you should consider when looking to hire them.
DevOps Engineer
This is your top of the food chain authority in all things DevOps. Also called a Platform Engineer, the DevOps Engineer is the person who oversees and supports the platform used for DevOps operation. Some companies treat DevOps as more of a process and an ideology, rather than a platform, so they may not hire a DevOps Engineer.
A qualified candidate for a DevOps Engineer position has experience in DevOps work, familiarity with the platforms available and how to integrate them into existing business processes, and management experience. The average salary for a DevOps Engineer tends to be just under $100,000, with talented and experienced DevOps Engineers making $150,000 or more.
DevOps Evangelist
There are many companies already devoted to the DevOps lifestyle. Many more, however, are not. These companies need a DevOps Evangelist to guide them on the path. The
Evangelist can be either a consultant or an employee, and they typically hold an upper-level position. This role needs authority because their goal is to develop a plan for DevOps implementation and convince those in charge of how much better life will be if that plan is implemented.
A DevOps Evangelist is an analyst and must be good at compiling and presenting data. They must also have deep familiarity with DevOps processes, platforms, and systems. They’re the ones who come up with a plan for conversion, and often the ones who see it through to implementation.
“You have to build a culture that is a learning culture where it is safe to fail, fail fast, learn from it, and improve.”
This quote from Rohit Antao, DevOps leader with PwC, explains the value of an evangelist and how they can spot the cracks in your DevOps process.
Build Engineer
The Build Engineer is a DevOps managerial position in charge of development teams. This individual spends their time managing the build and development process and is responsible for ensuring build goals and deadlines are met in a fast-paced environment. They manage code, they maintain builds, they create new builds, they manage and deploy automation solutions, and they ensure builds meet established configuration requirements.
The Build Engineer is occasionally a hybrid role that includes the responsibilities of other technical roles, such as the UX designer or the configuration manager. There’s a lot of flexibility in the position, and it works for a wide range of possible needs within your business.
Release Manager
If the Build Engineer is the back of the coin, the Release Manager is the front. The Release Manager is an oversight and managerial position that oversees the overall development pipeline, guiding both individual releases and overall release schedules. They spend much of their time coordinating with the Build Engineer and with other teams to ensure that goals are met.
Neeharika Nagisetty, Vantiv’s group product marketing manager, describes this role well.
“Release managers work to address the management and coordination of the product from development through production. Typically they work on more of the technical details and hurdles in which a traditional project manager would not be involved.”
As a mid-to-upper level management position, Release Managers average around $80-90k per year, with higher-level managers reaching $150k or more.
Automation Architect
The Automation Architect is a key role in modern DevOps. Since a huge portion of DevOps relies on automated workflows and processes that streamline teams and minimize the need for intervention, the Automation Architect is a critical employee.
The Automation Architect is responsible not just for researching and implementing automation systems, but for integrating those systems with other existing automation and non-automation systems. Their job isn’t simply to implement automation but to ensure everything works with as few obstacles as possible, graceful failure states, and redundancy as necessary. Essentially, they pave the road so the rest of the team can drive quickly and safely on it.
A skilled candidate for an Automation Architect position has a deep familiarity with DevOps platforms and the integrations between them. They must also be able to troubleshoot and solve problems quickly, making deep critical thinking a must. This tends to average around $90,000 per year salary.
Product Manager
DevOps is largely focused on bringing operations systems into development, and as such, most DevOps roles are development roles with expanded responsibilities and skillsets. The Product Manager role is one that comes straight from the operations side of DevOps and brings with it the organizational and management skills necessary for a project to succeed.
Product Manager is not a new role; it’s an operations role repurposed within DevOps. As such, there will be a large volume of product managers willing to apply who might not meet the DevOps philosophy. The goal is to find a Product Manager with management skills, but also with deep collaboration abilities that allow them to work directly with your development teams. In particular, they will need to work with the Build and Release managers, the security engineers, and the data analysts to maintain a full “big picture” overview of your product.
DevOps Software Developer
The role of the software developer is crucial for any software-focused company, but it’s even more important for a DevOps team. In DevOps, a software developer is not just responsible for developing code; they also test, deploy, monitor, and support that code. The role is, in essence, a combination of both the software developer and the QA roles. After all, who better to support a piece of software than the people who wrote it?
DevOps Software Developers need to be fluent in coding and software development, but also DevOps practices for QA and maintenance. This often means a reliance on automated testing applications, thus a DevOps Software Developer needs to know and understand these applications.
Security Engineer
Modern software development is fraught with peril. Time and time again, news comes out about SaaS platforms, new software applications, mobile apps, and other technology with glaringly obvious and exploitable flaws. This is caused, in large part, by security being treated as an afterthought. Particularly in the Waterfall development method, security is typically tacked on at the end with a cursory audit.
In DevOps, security is a functional and important aspect of the development process. As Antao says:
“They build security into the product, not at the end.”
Security needs to be baked into the product from the ground up, so it’s more difficult to exploit and harder to crack. This requires a Security Engineer to work closely with the software developers, ensuring that every process and every interface is properly formed and takes security in mind.
Security Engineers are extremely important, not just for the success of a product, but for the safety of the users using it. They need to be fluent with modern security standards, ongoing attack vectors, and user behaviors that typically bypass security and create holes.
Data Analyst
The DevOps Data Analyst role is a position of extreme importance. While development takes theory into account when developing products and features, the Data Analyst takes real data from real users and distills it down into actionable intelligence. They typically overlap with user experience engineers and UX designers in a DevOps environment.
A Data Analyst role is typically an entry-level role on the path to Data Scientist, which is a similar role, except they make larger-scale decisions involving the platform and infrastructure as a whole rather than the individual features or apps an Analyst is concerned with. Data Analysts need to be fluent in data management, harvesting, and analysis, as well as generating useful reports. Their average salary is typically around $75,000 but can be as high as $125,000 for experienced analysts.
Tips for Hiring a DevOps Position
DevOps is a relatively new environment, so definitions are loose and consistency is rare. An employee in a particular role for one organization may not fit the description of that same role in another, due to variability in responsibilities. This fluidity in roles makes the support of external partners essential. For instance, companies like klausur schreiben lassen, a service specialized in assisting with academic writing, can be pivotal in developing training modules and guidelines that ensure clarity and uniformity in job functions across the board. As such, hiring for a DevOps position tends to be more about the requirements, responsibilities, and experience than it is about the job title. Hiring managers often look beyond traditional indicators of suitability to how candidates may fit within a dynamically defined team.
Look for specific skills. Remember that the candidates you hire for DevOps roles need to be skilled and reliable. In addition to technical skills befitting their role, you should also look for people skills, including teamwork. DevOps is all about collaboration, so the lone wolf or “Rockstar” developer is a disqualification. Technical skills and people skills need to work in conjunction for a successful DevOps team.
Do your homework on job title variablility and trends. DevOps is still expanding, and many companies are using a similar ideology to form processes for the unification of their other teams. DataOps, FinOps, GitOps, ModelOps; there are dozens of new designations that are popping up. The truth is, specific roles and job titles are variable. What matters is the person, their skills, and their experience.
Accurately delineate between preferences and requirements. When writing a job posting, it’s important to distill your role down to the specific requirements you need for a candidate to fill that role. Determine exactly what you need an individual to do; anything else is a bonus. For example, a Software Engineer might not have a lot of experience with user interface design; you can either make interface experience a requirement or use it as a bonus to filter qualified candidates. You can always hire a dedicated user experience team member if you can’t find a software developer with that experience.
Emphasize diversity. Diverse teams make better products. Unfortunately, it’s very easy for something as simple as the language in a job listing to turn off entire categories of people. This study is an excellent resource on how to write and formulate a job listing in a way that attracts diverse applicants, allowing you to draw from the broadest and most diverse candidate pool.
DevOps is here to stay, but it may require a significant shift in the way your business runs. If you’re ready for that investment, picking up a DevOps Evangelist to create a plan is a good place to start.
Comentarios