If you enjoy doing both development work and IT operations work, and you get a kick out of keeping systems lean and mean, you'd likely excel in the role of DevOps engineer as well as SRE.
Career-wise, however, your experience as an SRE could vary significantly from working as a DevOps engineer. Although both roles involve the same general type of work, they prioritize somewhat different skill sets and are shaped by divergent job markets.
So, is it better to become an SRE or a DevOps engineer? Let's explore that question by looking at the pros and cons of each position from a career perspective.
SRE vs. DevOps
The debate about the similarities and differences between SREs and DevOps engineers has been raging for some time. The general consensus tends to be that SREs lean more heavily on software engineering techniques to build reliability into systems. That's their core goal.
In contrast, DevOps engineers use automation tools to help bridge the gap between development and IT operations. Enhanced reliability is one product of that collaboration, but reliability is not the singular focus of DevOps in the way that it is for SREs.
This said, some folks would argue that SREs and DevOps engineers are basically just different terms to refer to the same thing.
Whatever position you choose to take in this debate, it's hard to argue that there is a drastic difference between SREs and DevOps engineers. Each role may use a somewhat different approach and have different priorities, but at the end of the day, they are more similar than they are different -- at least in terms of the day-to-day work they perform.
Advantages of being an SRE
But from a career perspective, the differences between SREs and DevOps engineers are more significant.
On the whole, you could make the case that it's better for career purposes to be an SRE, for several reasons:
- Higher salary: In general, SREs make more money than DevOps engineers. Unless you dislike making money, this may be a strong motivation for following the SRE career path rather than a DevOps path.
- More prestige: Arguably, SRE is a more prestigious type of position, due especially to the fact that the SRE role originated at Google. DevOps has more humble origins; the concept basically emerged at a low-profile professional conference.
- Stronger development skills: SREs tend to be coders first and foremost, whereas DevOps engineers lean more heavily on tools to get their job done. As a result, it's easier to branch out from SRE work into development work if you choose to.
- More job long-term opportunities: Although the SRE role has been around longer than DevOps, it has only been in recent years that the IT industry as a whole has begun paying close attention to SREs. DevOps is a more saturated market, and one that may be on the downswing. Although it may be easier to find a job as a DevOps engineer than an SRE today, that is likely to change over the next five to ten years.
In short, SREs get paid more, are held in somewhat higher esteem and appear to have more opportunities coming their way on the job market than DevOps engineers.
Advantages of being a DevOps engineer
The above notwithstanding, there remain plenty of good reasons to become a DevOps engineer instead of an SRE:
- Lots of jobs right now: Although the DevOps jobs market may already have peaked, there is no denying the fact that more companies are posting openings for "DevOps engineer" than "site reliability engineer" at present. ZipRecruiter has about 215,000 postings that mention SRE and 2.6 million for DevOps, to cite one data point. If you're looking for a job today, then, DevOps may be a faster route.
- More recognition among non-techies: Another consequence DevOps being a more crowded job market is that more non-technical people have heard of DevOps than SRE. This may matter if you're applying for a new job. You're more likely to impress a non-techie hiring manager by saying "I have a background in DevOps" than "I currently work as an SRE," because the manager may have no idea what SRE means.
- Fewer coding skills required: If you don't particularly like to code -- and there's nothing wrong with that -- you'll do better in a DevOps role. DevOps certainly requires some coding skills, but generally not as many as SREs need to have.
- Less pressure to be on-call: There is a lot of variation in the extent to which companies expect DevOps engineers to be the ones who respond to incidents. On the whole, however, because reliability is not usually seen as the only responsibility of DevOps, you're less likely to be tasked with handling an incident at 2 a.m. as a DevOps engineer than you are as an SRE, whose primary responsibility is reliability.
Larger tooling ecosystem: There are hundreds of tools designed to help DevOps engineers do their jobs, which means they have lots of choices when it comes to how they build out their toolbox. Although the tooling ecosystem surrounding SRE work is rapidly growing, it's still smaller at present than that for DevOps.
Conclusion: SRE is better in the long run, but DevOps is best today
The main takeaway from the above is arguably this: SREs have better long-term career prospects. Not only do SRE jobs pay better, but the SRE job market is probably expanding. If you're thinking about the long term, then, be an SRE.
But if you're focused on the here and now, DevOps probably provides the easiest career path. It's arguably somewhat easier to become a DevOps engineer thanks to the abundance of DevOps tools and the fact that you don't need as many coding skills. There are also more DevOps jobs at present, although it seems unlikely that that will hold true in the future.