The Definitive Hiring Guide for Deployment Managers
May 10, 2016
A deployment manager on the largest of projects is a project manager who assumes responsibility for managing deployment playbooks and making sure that the sequence of event during a release process are run properly. But, there’s more to it than that. They are also expected to be a technical assessor of risk, and they need to be great at translating between technical specialists and executive management. They are the person most likely to have to think “on-their-feet” when a deployment doesn’t work as planned. When the DBA is on a conference call trying to explain why it will take an index three hours to rebuild after a DDL statement has been executed, it is the deployment manager who often has to make an instant decision to Go/No-Go. (They also have to translate DBA to MBA.)
Your Deployment Manager is the most forward-deployed manager responsible for moving the organization toward a more automated, DevOps-ready posture. They are the managers who can tell teams to stop conducting multi-hour manual deployments and start investing in the tools that will allow your business to release faster and more frequently.
Your deployment manager is going to be responsible for a team of engineers and answerable to release managers and executives focused on risk mitigation and reduction of release-related downtime. They are going to get you out of the legacy support mess that many find themselves in by hiring the right team to apply modern automation to your systems. There’s a lot riding on your deployment manager, so it’s important to hire the right individual.
Deployment Manager Job Description
Here’s what we would list if we were currently seeking the right candidate for a deployment manager position:
Seeking a qualified technical manager to coordinate deployments to environments supporting ongoing application development. As a deployment manager this individual would be responsible for supporting deployment for several application development groups delivering software continuously to staging environments, QA environments, and highly available production environments. The position will also involve the creation of common standards for deployment of applications across a number of platforms and technologies including, but not limited to, system architectures involving Java, .NET, and back-office systems using dynamic languages such as Node.js and Ruby on Rails.
Candidates must be able to understand high level software and system architecture, but will not be expected to participate in day-to-day development or operations. Deployment managers will be responsible for taking software from source control, CI/CD systems, and binary repositories and building systems to automate the deployment of software to infrastructure with a minimum amount of release-related downtime. Looking for a motivated technical manager who is able to quickly adapt to rapidly changing technology and who is able to build a team of focused release engineers and deployment specialists to create automated playbooks for deployments.
Candidates should have several years of experience in release engineering with prior responsibility for revenue-generating systems in production. Individuals should also have an understanding of release engineering that spans both software development and system administration as they will be interacting with both developers and operations professionals in addition to project managers focused on release management. Candidates should have a proven track record of managing teams and creating on-call schedules for release support activities.
Note that we didn’t mentioned DevOps and that we’re light on technology in this job description. The real focus of a deployment manager’s job is to plan, assess, and delegate activities to others. In a large business you want a deployment manager to be managing others and not getting overloaded with too much technical involvement. For this reason we’ve listed some of the technologies that might be found in an enterprise environment, but our recommendation is to seek qualified talent and use your interview process as an chance to drill down into the technical qualifications.
Roles and Responsibilities
Manage a team of release engineers and deployment specialists
Allocate resources among several projects to support ongoing requirements for deployments across multiple departments
Assess and audit existing release processes
Develop deployment playbooks for critical applications
Evaluate production risks associated with production deployment activities
Support staging and QA environment deployments through automation
Identify opportunities for the automation of existing deployment processes
Communicate with DBAs and other roles dedicate to support of store, networking, and database systems.
Accompany all new application architectures and deployments with contingency plans and deployment playbooks to execute in case of failure
Prepare specialized deployment processes to support disaster recovery and business continuity scenarios.
Conduct quarterly reviews of deployment activities and deployment operations
Identify root cause for deployment-related downtime and participate in after-action reviews for production deployment activities.
Create an on-call schedule for deployment and release engineering resources to support production.
What skills to look for when hiring a deployment manager?
Attention to details, but more important than that is a commitment to precision. A deployment manager is much closer to the implementation details than a release manager as they will be responsible for directing others to make changes in production.
Ability to assess risk, immediately. Software systems are complex, and you will never be able to fully anticipate the ramifications of every change ahead of time. A deployment manager needs to be able to rapidly assess the risks and impacts associated with a change in plans almost immediately.
Technical aptitude. A deployment manager isn’t going to run deployment scripts, but they should understand the rapidly changing landscape of tools that are used to automate deployments and they should be quick learners. You don’t want a deployment manager running scripts themselves, but you also don’t want a deployment manager who doesn’t understand the fundamentals. If a new NoSQL database has deployment problems, you want someone who can get up to speed quickly.
Ability to motivate teams in challenging situations. Even with meticulous planning a highly orchestrated production release is still a high risk, high pressure event. Make sure to find a deployment manager who is able to motivate teams to focus and deliver in a high pressure environment. You are looking for a manager who can communicate urgency and keep a team focused on a release process while also encouraging people to stay calm. Releases often happen in the middle of the night, or during an emergency, and your deployment managers are the ones in the middle of the tough situations.
Who is the Ideal Candidate?
With technologies changing as fast as they are a good candidate for a deployment manager position is going to be someone with a technical background. This job is going to involve supporting a number of legacy systems in addition to new systems that are changing faster than anyone non-technical can keep up with. New deployment technologies such as Docker and other approaches to containerization have the potential to change this focus area very quickly, and you are going to want to recruit a candidate who doesn’t have to have these technologies translated for them by more technical resources.
You are also going to want to recruit a candidate who can cover for their release engineering resources in the even of an unanticipated problem. Deployment managers will have ongoing responsibilities to work with application development groups on QA and development deployments, they will need to be able to discuss changes in application architectures that require changes to deployment playbooks, but they will also have some exposure to production support. If a system experiences unanticipated failure in production a deployment manager will need to be available 24/7 to coordinate emergency releases that may be required to address failure.
For the reasons listed above, our recommendation is to hire or promote a technical release engineer who has demonstrated the necessary leadership abilities to manage other engineers.
Where should you seek candidates?
Your best bet to find good deployment manager candidates is a local DevOps event or a conference. DevOps professionals have had a few years of experience automating systems and developing the appropriate communication skills across both development and operations. Identify a candidate who has had experience with automation and who understands that the next several years in the industry are going to involve a lot of work to transition less DevOps-ready architectures to more modern approaches to automation.
Other venues to seek qualified deployment managers would be forums devoted to the discussion of DevOps best practices. LinkedIn has a number of groups devoted to DevOps, and GitHub is full of profiles of professionals devoted to the creation of new tools and techniques. Again, it is our recommendation that you identify a senior technical resource who is interested in moving into a management position to be your deployment manager, they will be in the best position to assess and recruit the talent you need to move toward a more automated approach to deployments.
Who not to hire?
Don’t hire a non-technical project manager for this role. If you do this, you’ll find yourself on the phone in the middle of a high-risk deployment operation talking to someone who will tell you that they don’t understand what the DBAs just told them. This job requires technical know-how.
Don’t hire a technical specialist who is going to disappear behind a Terminal and just write the script themselves. A deployment manager is in command of the bridge during a high profile release, they need to understand how to communicate to your front-line engineers as well as how to rapidly relay status and risk assessments to executives.
You want a technical communicator in this role, and you should take the time to find the right person for this job. No pressure, but a wrong hiring choice for deployment managers is going to cost real revenue in the form of downtime.