SysOps folks keep the site up, but once you start hitting >99% reliability, throwing more money at sysops isn't going to increase revenue.
Which is why SRE evolved from ad driven sites like google -- all uptime is worth money.
Funny thing, tech is pretty unique among industry sectors in that engineers are part of the profit centre. Just about everyone else treats engineers as operational costs.
It's not a question of "valuing" employees, it's about what salary you need to offer to be able to hire and retain people at the required skill level. And good SREs are apparently willing to (or plentiful enough to need to) accept slightly less money than equally good developers.
That said, the phenomenon extends well beyond our industry. It's common in all industries that the people who design (as in architecture, not graphic design) and build the product make better salaries than the people who operate the infrastructure, however critically important their role is.
> This is especially vexing in light of the fact I've never met a highly qualified Ops person who wasn't also a skilled developer
Be careful to compare like for like. A highly qualified ops person compares to a highly qualified developer, not merely a "skilled" one. For all the difficulty of objectively measuring skill, I would assume that a highly qualified ops person would make substantially more than a merely skilled developer.
I think that I failed to communicate my meaning clearly in that statement, so I will attempt to clarify. What I mean is, that in my experience a highly qualified Ops person will /also/ be a skilled developer, but a highly qualified Developer will /not/ be a skilled Ops person. E.g. based on skill-set alone, highly qualified Ops people bring more skill to the table in union than a highly qualified Developer. Whether that's the skills you value or prioritize as an organization or not is another question entirely.
For the purposes of my salary comparison above I used the same years of experience and skill rating in the calculator for the Site Reliability Engineer and Developer roles. As you say, I would expect a highly qualified Ops person to make more than a "merely skilled" developer. I wasn't really trying to state anything opposite of this.
I have ~15 years of ops experience, and I'm not a skilled developer. I bill ~$200/hr for infrastructure/AWS architecture/DevOps consulting (when not at devops day job), with limited need to be proficient at software development.
I'm a terrible programmer but I have 20 years of massive scale op experience.
Both startups and enterprises.
> Henry Ford once balked at paying $10,000 to General Electric for work done troubleshooting a generator, and asked for an itemized bill. The engineer who performed the work, Charles Steinmetz, sent this: "Making chalk mark on generator, $1. Knowing where to make mark, $9,999." Ford paid the bill.
$10k is the difference between several years of experience. To switch from SRE to developer, you would have to be willing to give up a few of those years.
The tl;dr is that yes, there is a positive correlation between developer skill and salary (http://minimaxir.com/img/stack-overflow/so-programming-6.png) for example, but it's hard to say which-causes-which.
I'm ask to help find DevOps SREs.
Find people and interview them
Recommend the few good ones.
They turn the offers down because not enough money is offered.
I'm asked what could be done differently to hire good DevOps/SREs, because it's impossible to get anybody!
Later, once I've moved on, I found out that devs were offered and paid significantly more.
So you're basically paying what everyone else is paying (on aggregate) rather than figuring out yourself if SREs and developers are worth to you as a company. This seems like a lazy-ish approach to me and negates most of the positivity that salary transparency has.
I realize though that you're never going to find an approach that satisfies everyone, so maybe this one works well for you (StackOverflow is an awesome site!).
> The same benefits, equipment, remote work, autonomy, opportunities to speak and contribute to open source, etc are the same.
That is tautological, "the same benefits are the same". $11k buys a lot of extra "benefits" in the world.
Even if skilled SREs aren't as common as full-stack developers, it could be that so many more full-stack developers are required industry wide that companies have to compete harder on compensation for the best ones.
There's a large donut hole in ops. The truly high demand people make way more than the salary listed there. However, developers are within the normal range.
I.E. - Developers make more on average, top end Devops pays more.
I guess I did something similar when I served as a QA Manager, years ago. I loved the work and felt really good about the progress that team made.
This happens in the real world a lot. Two people major in Mathematics. One has an additional education certification and goes to teach in a school. The other gets an IT job at the same school. The guy with the IT job gets paid more. (You could insert social work, music, or any of a dozen other underpaid fields)
Stack Overflow's salary calculator is lumping two very different roles together and is therefore not useful for true SRE pay calculation. I'll explain my reasoning.
Notice that there is no entry for "System Administrator" or "DevOps Specialist". Neither of these roles call for software engineering ability. Since Google coined the term Site Reliability Engineer and wrote the book on it [1], I'll use their definition as the canonical description: "SREs are engineers. [They] apply the principles of computer science and engineering to the design and development of computing systems: generally, large distributed ones." "Google caps operational work for SREs at 50% of their time. The remaining time should be spent using their coding skills on project work."
SREs use engineering practices to develop durable architecture, automate emergency response (since human response is too slow to preserve the error budget), develop monitoring, profile, and finally, pass operations control back to the developers when this is done.
Real SREs spend at least 50% of their time architecting and coding reliability solutions and automation for their infrastructure. They are software engineers in the most real sense. At Google and other companies that hire real SREs, they are paid more than typical software engineers at the same level of experience, etc. Most companies don't have SREs. SRE is a new occupation, but if you have to give it a Bureau of Labor title, "Software Developer, Systems" is the best fit.
Stack Overflow would have been better off not using the SRE title and sticking with "Sysadmin". Sysadmin is by far the most common title for ops workers. The SRE community is still too small to be a meaningful choice in this menu.
This would be the same as lumping in "HTML programmer" with "software developer". Two very different roles, and to consider them to be the same is serious title inflation.
To approximate SRE salaries, I would choose "Software Engineer" and bump the skill level up by one. This is my experience and matches other SREs I know.
[1] Site Reliability Engineering: How Google Runs Production Systems. J. Petoff, N. Murphy. O'Reilly. 2016.
That almost entirely explains the pay gap.
I could argue against you too, for example, you say "competent developer in numerous languages and environments", that's really just a small fraction of what computer science is really about.
I should clarify I'm not claiming that an SRE is more valuable than a Developer outright. I'm saying that most highly qualified SREs are also Developers, while highly qualified Developers are not also SREs, so the amount of skill/knowledge required to attain the salary is more burdensome for an SRE vs a Developer. If anything, my statements should be construed as a realization that its a better career progression (at least when focusing on salary) to become a Developer than it is to go into Ops because for whatever reasons society values Developers more than Ops.
If 10 guys all showed up on your door with a magic box that would give your business $100k in added shareholder value, you'd be rational to pay somewhere between 0 and $100k for it. The top end is determined by how much new value is added, but what you end up paying would have to do with how each person priced it -- if there were more of them, the thing would probably cost less unless the providers of it colluded.
Just keep in mind there's a push and a pull and, even if a factor adds a lot of value, it can be cheaper than a less-value-added one, because factor prices are set by supply and demand, not their relative value-added output (which can also depend on how well they're used, which is why some companies can pay so much better for exactly the same work as others)
(Which is really a broader recipe for success in business generally: figure out how to employ factors of production -- people, capital, etc -- more profitably than they cost to purchase in the relevant markets, and BAM, you've got a profitable company)
[1] https://en.wikipedia.org/wiki/Best_alternative_to_a_negotiat...
Companies are complex systems with many moving parts and team dynamics. If a new feature gets released, do you attribute incremental revenue to the dev who coded it, the product manager who specified it, the sales team who sold it, the marketers who described it, the executives who hired the people who did any of the things above, etc?
Bottom line: "value creation" is a totally sociological construct having more to do with the organization's culture (who's most highly valued) than any objective metric of "value add". You need to be in a place where the people empowered to make decisions about pay perceive that the work you're doing is valuable. No more, no less.
Hiring is supply and demand. There are more competent accountants vying for the same jobs than there are developers. More developers than there are SRE's.
The rarer the skill set, the more expensive it is to hire.
It does seem to be an industry-wide phenomenon, but at the end of the day it makes no sense to me why a company would value an employee less that is expected to keep their services up, rain or shine (which presumably make them money) vs someone who is presumably focused mostly on adding additional features (may make them money). This is especially vexing in light of the fact I've never met a highly qualified Ops person who wasn't also a skilled developer. Mostly I've found the opposite, developers (skilled or otherwise) who have next to zero understanding of systems concepts, networking, or automation.