Salesforce DevOps Engineers ensure that Salesforce changes can be deployed through a smooth software development lifecycle (with minimal bugs and disruption to users).
There’s no doubt that Salesforce DevOps Engineers are in demand – they empower everyone on a team with the tools and processes they need to collaborate effectively and drive new work through the development and release pipeline. With the launch of Salesforce DevOps Center, DevOps best practices will become part of the way we work.
The responsibilities of a Salesforce DevOps Engineer differ from DevOps Engineers in other industries, requiring a level of Salesforce knowledge.
What does a Salesforce DevOps Engineer do? Let’s start by outlining what we mean by ‘entry-level’, ‘mid-level’, and ‘senior’ DevOps professionals:
- Entry-level | 0-2 years of experience (possibly up to 3 years): You’ll be committing changes to source control and opening pull requests, as well as reviewing and merging each other’s work in source control.
- Mid-level | 2-5 years of experience: Working with a more complex Salesforce org (a more complex sharing model, integrations, etc.), Setting up, monitoring, and improving DevOps processes: CI/CD, test automation, monitoring.
- Senior | 5+ years of experience: Overseeing the DevOps process end to end – including backups, delegating access to orgs and DevOps processes, and defining and tracking DevOps KPIs.
What Entry-level Salesforce DevOps Engineers Do
When starting out as a Salesforce DevOps Engineer, your tasks could include:
- Committing changes to source control and opening pull requests.
- Reviewing and merging each other’s work in source control.
- Adding deployment notes to maintain the audit trail.
How can you become a Salesforce DevOps Engineer, or work DevOps into your existing skill set? The beauty is that you may already be doing DevOps – you just may not realize! As mentioned earlier, with the launch of Salesforce DevOps Center, DevOps best practices will become part of our work routine.
Salesforce roles are prime for DevOps:
- Job titles don’t always contain the term “DevOps”, which makes identifying the right roles tricky. Instead, DevOps is a set of practices that are blended into other roles.
- Admins, developers, etc. may have already stepped up to the mark to gain ownership and control over developments and deployments.
For example, take these popular roles in the Salesforce ecosystem. These roles can be a hybrid between what is traditionally considered the responsibilities and the skills that address the demand for DevOps understanding.
- Admin-eloper: A hybrid of admin and developer. These days, many admins have some degree of developer knowledge, and vice versa. Get involved in DevOps by deploying declarative changes between orgs and version control, monitoring changes made to orgs and roll back mistakes, and by using automated DevOps processes to test, validate, and push code changes.
- Consultant: Working under the client’s watchful eye, there’s additional pressure with little room for error. Get involved in DevOps by deploying large Salesforce changes for whole business units, creating standardized release models (“develop once, deploy anywhere”), and by setting up clients for future success with faster, safer processes and workflows.
- Architects: Developing agile DevOps practices and source-driven workflows for everyone to contribute seamlessly (in collaboration without interfering with each other’s work!). Monitor DevOps performance and increase the frequency and reliability of releases, plus track KPIs for teams and report on DevOps ROI.
- QA Engineers: In checking that newly developed features and customizations meet user, technical, and business requirements, you can execute tests, including UI testing, and ensure code conforms to best practice, data compliance, and security.
Start incorporating more DevOps into your current role, building the overlap between your Salesforce roles and DevOps skills to help advance your Salesforce DevOps career.
- Not all companies practice Salesforce DevOps, so step one is to convince your team to start adopting DevOps for Salesforce!
- Build understanding of metadata types and keep an eye on Salesforce’s quarterly releases.
- Get involved with the Salesforce DevOps community. Join the Salesforce Stack Exchange. The Discord SFXD community is really great, too!
- Learn about Git from Trailhead and DevOps Launchpad. Focus on how to commit changes to source control, opening pull requests, and how to review and merge each other’s work in source control.
- Read the “Complete Guide to Salesforce DevOps” on SalesforceBen.com.
- Start using a third-party DevOps tool. You won’t be alone: 78% of teams currently use or are planning to adopt an automated Continuous Integration/Continuous Deployment (CI/CD) workflow this year.
Progress to a Mid-level Salesforce DevOps Engineer
With between 2–5 years of experience*, you will be considered a mid-level DevOps Engineer – more experienced than an entry-level or hybrid DevOps Engineer, but not a senior DevOps Engineer yet.
Decide which ‘fork in the road’ you want to take in your Salesforce DevOps career path – do you want to ‘wear many hats’ as a generalist, or would you prefer to specialize?
The larger the team or more complex the DevOps processes, the more specific each individual’s roles and responsibilities become for each member of the team.
Ideally, you will want to work in a larger team. This is how you’ll gain exposure to sufficiently complex deployments, while being supported by those who have “walked in the same shoes”. “Complex” can be defined as either more business units, a more complex sharing model, or multiple integrations.
- Setting up, monitoring and improving DevOps processes: CI/CD, test automation, monitoring.
- Running data deployments (sandbox seeding) to test features.
- Running final releases to production and rolling back or restoring if anything goes wrong.
Salesforce Architects may find they are ready to approach DevOps at this level. Most architects will be like “ducks to water” in developing agile DevOps practices and source-driven workflows, and leveraging the team’s DevOps tools and integrated project management software.
Additional tips include:
- Get familiar with DevOps workflows. Setting up, monitoring and improving CI/CD, test automation, monitoring.
- Learn about Git-branching strategies.
- Get to grips with what Salesforce DX has to offer.
- Start running data deployments (sandbox seeding) to test features, running final releases to production (and rolling back or restoring if anything goes wrong!)
- Pass a DevOps accreditation on the DevOps Launchpad or a Salesforce DevOps certification from third-party vendors, such as Gearset and Copado.
What Senior Salesforce DevOps Engineers Do
A senior Salesforce DevOps Engineer has at least 5+ years of experience, typically as a Team Lead in a large, multidisciplinary team, delivering complex projects.
- Overseeing the DevOps process, end to end – including backups.
- Assigning team permissions and delegating access to orgs and DevOps processes.
- Defining DevOps KPIs and tracking the team’s performance (typically with your DevOps tool of choice). Alongside appropriate benchmarks, the Team Lead will monitor release velocity, lead time (releasing finished work to production as quickly as possible), restore time, and change failure rate.
- Reviewing developers’ code coverage (using automated unit testing) and code quality (using static code analysis).
- Can mentor others, with plenty of proof you can lead a team.
How do you get there? Here are some tips:
- Build your understanding of the whole DevOps process, end-to-end.
- Be knowledgeable on DevOps KPIs such as release velocity, lead time (releasing finished work to production as quickly as possible), restore time, and change failure rate. Be able to monitor your team’s performance by setting appropriate benchmarks based on organization trends, and industry-wide figures (read industry reports on the state of DevOps to discover what figures make solid benchmarks to surpass average performers and excel as elite performers).
- Supervise how your team recovers from mistakes and disasters: rollbacks, hotfixes, and restoring from backups.
- Master packaging and versioning.
Follow Their Path
Monica: From Admin to DevOps
Monica Thornton Hill – Senior Salesforce Developer, McKesson.
Monica self-taught herself Salesforce thanks to Trailhead and became a Salesforce Admin in 2017. It was in this role that she started using Gearset and their deployment tool.
The world of Salesforce metadata opened for me. Being able to see the declarative changes I was making in the UI reflected directly in XML spiked my curiosity towards Salesforce development.
She had no previous experience in coding but was able to get up to speed with a combination of support from mentors and spending time on Trailhead.
She then went on to implement a version control process with Gearset and GitHub for their teams.
Laura: From Consultant to DevOps
Laura Zuluaga – Former Salesforce Project Manager and Consultant, now Solution Engineer.
Laura was a combined Salesforce Consultant and Project Manager. Delivering work to clients right the first time was key to keeping everything on track, and without risk (every project manager’s dream).
I can vouch for how powerful DevOps was when carrying out multiple deployments for clients. Especially if you can leverage a DevOps tool to manage different client environments without having to install any software.
Salesforce DevOps has truly taken off as orgs have become even more complex, and the arrival of Salesforce’s own DevOps Center further closes the gap between DevOps newbies and those who are DevOps-proficient.
Remember: you may already be doing DevOps-related activities without even realizing it. Hopefully, this guide has given you the confidence to start putting your transferable skills into action, while continuing to develop your Salesforce DevOps career.