(Disclosure: I work at Triplebyte and built this salary tool from our offers dataset.)
I was surprised to learn that the median senior engineer earns only $36K more than the median junior engineer (base salary only). The gap does get wider on the right tail of the distribution: The 90th-percentile senior makes $47K more than the 90th-percentile junior.
One possible explanation is that our data is dominated by startups, which lean toward equity-heavy compensation. The range in equity is so big we had to plot it on a logarithmic scale.
I guess that most senior engineers receive more recruiter's emails, including from startups, than they wish, so they don't need to use Triplebyte services.
I get tons of recruiter emails, but still used Triplebyte and was very happy with the experience. Triplebyte's pre-screening speeds up the process considerably, they were also just better to work with and more knowledgeable about the job market than most recruiters I've worked with. If you have strong skills then I think they're a good option whether you have a lot of industry experience or not.
Senior engineers usually come to us for one of two things:
1) Finding a really early stage startup. We spend time finding the most interesting and fastest growing startups, and given the difference in outcome between the median startup and Airbnb, it's worth spreading the net as wide as possible.
2) Executing a broader job search (including larger companies) faster.
Does Triplebyte do anything other than get past the phone screen these days? Because that value proposition is really low. Saving 30 minutes on a phone screen isn't very valuable. Bypassing the absurd CS trivia interviews would be. If you could somehow convince your clients that a technical interview with Triplebyte is an acceptable proxy for their technical interview, so that on-sites are more about personality fit and synchronization of expectations, that would be valuable.
To me the biggest source of anxiety with these interviews is the hyper-focus on academic trivia that isn't applicable to almost all of engineering work being done there (where "there" is literally any company, including Google). It's one reason I'm looking to move into management and up the technical track: I'm tired of "are you a good code monkey" interviews.
I went through triplebyte. I was a little under the impression that going through there, you skip to the final interview. Which is true, but I thought the final interview was the final, final fit-type interview. Instead I got treated to a literal eight hour slog of whiteboard leetcode-style questions with a system design question and a twenty minute lunch in between. Really an incredibly exhausting week of interviews, though some weren't as harsh as I described above, they were with small startups who had coding problems but seemed more interested in culture fit.
for feedback to anyone at triplebyte reading this: had a chance to chat with multiple companies, many of them thought triplebyte was just an online coding quiz then off to on sites. I'm sure management-type people knew the process was more involved, but the lower-level? people definitely seemed dubious about triplebyte's value.
Yeah, we do more than let people skip phone screens (although don't undervalue skipping phone screens and take-home projects at 8+ companies). Companies really do look for different things in interviews. Not all companies look for CS trivia. So in your case, if you went through our process, we'd suggest 20 or so companies that look for more practical / architecture skills (depending on your skillset). Because we do this, engineers who go through our process get job offers at about 2X the rate of engineers who go through regular channels (we avoid the cases where engineers who don't like CS are rejected for being bad at CS)
Unfortunately the CS trivia is necessary. In a previous job I interviewed people who snuck past the phone screen and would have wasted a ton of interviewer time if some CS-101 questions hadn't exposed near total ignorance of the highlights on their resume.
My favorite was the guy who applied for a job as an air traffic routing researcher and after 20 minutes of computational geometry questions said, "Wow, tough, do you do a lot of math here?" Yeah dude. This is NASA. We do a lot of math here.
Not really, no. I have a better "prize" at my current employer, and I didn't have to go through that hazing ritual to get here. I'm not working on toy webapp garbage for social media, ads or the like, either. Even if that weren't the case my answer would remain the same: encouraging juvenile hazing ritual nonsense is not something I care to do.
Also, it takes a lot of time and effort outside of work to keep that undergrad CS trivia readily available for discussion in an interview. So it's not just "a couple of hours."
I’m not sure what you’re unhappy about. You’re fulfilled at your current job, not looking for a new one where this kind of interviewing happens, so what’s the problem at hand?
What I remember seeing on hacker news is people blogging about spending three to six months of their free time making sure they can answer every single question on leetcode, that's a lot different from a one time, one day interview.
Another possible explanation is that business just don't see much difference between junior work performance and senior work performance.
I have 15 years of experience (both huge companies and own startups), but I keep wondering what if it's really the case: that there's simply no difference for company success? When I hire people myself, I only see value up until mid-seniority. From there what matters is just discipline, readiness to help peers, responsibility and hours candidate can really-work.
> that there's simply no difference for company success
I've found that organizational structure and politics become a limiting factor past a certain level of skill and experience.
That is, for one engineer to be obviously worth the price of three or four others, they'll need more responsibility and resources somehow.
In finance, the responsibility is easy to delegate: it's the size (actual money) of decisions they'll be making. In generic software, how do you do the same thing? All the code on X servers? Primary responsibility and merge privileges on Y repos? There are interesting experiments and answers in this space, but most shops aren't oriented to think that way.
> I've found that organizational structure and politics become a limiting factor past a certain level of skill and experience.
> That is, for one engineer to be obviously worth the price of three or four others, they'll need more responsibility and resources somehow.
That is actually an excellent point. As a senior developer you need to be able to leverage your experience. That is, being able to make decisions, being able to teach and mentor, etc.
Answering from my position. I didn't get responsibility for more systems, or bigger projects, or things like that. They made me responsible for the technical side of production. All of it, zero wiggle room.
Overall, I would not consider myself a manager. I don't have disciplinary rights, even in my team. I guess if I want someone gone, they will leave the company, but I'm no disciplinary superior.
And in my space, technical considerations still dominate. My decisions just cost more or less, affect availability, maintainability, support of our software, alow teams to go faster.
I code less chef and terraform, yeah. I'd like to do so more. But fuck me, it's better for my team to tell people to do as my team wants. It's better for me to keep my head above single resources and servers, so we keep a tactical view.
There is a huge difference between high performing senior engineers, and high performing junior engineers.
But lots and lots of senior engineers aren’t high performing. They’re still moderately more valuable than junior engineers, but not immensely so.
People calling themselves “senior engineer” are usually referring to years of experience, not to whether their management chain consisently sees them as high performing.
Also that senior engineer can be high performing in one situation and not in another. And it is not always about the job. Some trouble at home and can't sleep well? Not going to be a top performer for long.
What I mean is that it is hard to give a number to a person. Sometimes they shine, sometimes they don't.
Sure. By "really-work" I mean thinking of work and doing it, not just being at work.
I, personally, rarely can do really-work more than 4 hours a day -- only if task is very interesting and challenging. Then I can do it for 12 hours a day straight, but I stop myself if I work more than 6 hours, because I know I would burn out, happened a few times.
4 hours a day of really-work sounds not a lot, but my performance is pretty good comparing to my teammates. Never heard managers complain on my performance. The other 4 hours I spend on meetings/lunch/hacker news/socializing etc. So I would look for a candidate who can do it for at least 4 hours a day.
I heard rumors of people who can really-work for 8 hours a day (like John Carmack). Those people are called "100x engineers", I really want to work with some of them one day.
Well, I feel better for only doing ~4 hours of real work then. I take breaks often for socializing/HN/car forums. Plus meetings and interruptions.
But I can produce just as much as some other developers, so I really see no incentive to do more work unless it's clear I will get more recognition for it, rather than just more work to do.
I can definitely really work for 8 hours a day if it's on my own project and I'm in the flow but no way I can ever get in they mindset to do it for an employer, especially that I have a less than spectacular salary, I'm guessing many people are the same way.
I can easily work 8 hours per day straight, however throw two or three interruptions into my day (meetings or the like) and I'm lucky if I can get back in a solid flow. Put me in three hours of meetings and I'm completely toast from that point on.
One point of anecdata: I've typically found that recruiting sites like Hired and Triplebyte lean low on the comp scale when it comes to senior engineers.
This may be less of a gap in salaries, and more a gap in the kinds of companies using your service.
The last time I used Hired, for example, it asked me to name a salary expectation - I put in ~my base salary at the time, and got an email soon after asking me to lower my expectations since nobody using Hired in NYC was willing to bite.
Someone else brought up the fact that the data for major established companies look very different - AppAmaGooFaceSoft comp for seniors is overwhelmingly higher than this.
But even within the realm of startups, I've interviewed at, and negotiated offers with startups in my area that are in a range that major recruiting sites (and their clients) seem unwilling to contemplate.
Wow, that's pretty horrible that that's a requirement. It's the equivalent of them asking "what's the least salary you will accept?" It's never in your best interest to answer this up for especially to a company playing both side like Tripplebyte and Hired.
This is a question that is best avoided until a company is interested in making you an offer.
This is definitely an artifact of your data focusing on startups. These numbers are shockingly low for the larger or established companies.
I also think focusing on base salary may have been an easier choice but it is really doesn't paint an accurate picture. Between bonuses and stock I've had years where my base salary was roughly half of my overall compensation.
Yep. I don't know why anyone would even get out of bed for these numbers. Between base, bonus, and stock a senior engineer at a large, profitable company (Apple, Facebook, Google, Amazon, Microsoft, etc) in the Bay Area will be grossing over $400k. The startups are offering similar base salaries, no bonuses, and 1/1000th or less share of a company that in all likelihood is worthless or, at best, illiquid. That's really backwards. If a startup wanted me to trade my shares that are as good as cash for shares that are essentially lottery tickets, they need to bring a _higher_ base salary, not a lower one.
Different people also I different expectations of senior. I know people a year or two out of bootcamp that have senior engineer titles. Likewise I recently interviewed with Riot games and was told I wasn't a senior engineer and was a good mid level candidate with 10 years game industry experience, and with my title being senior software engineer at time.
Granted the responsibilities of this role sounded more like lead or principal engineer role, but its a good example of senior meaning wildly different things at different companies.
Maybe the person out of boot camp just performed better or were in a role that was better suited? Years of experience is not everything (I wish it were at my age :P)
I tried to word my post to make the point that titles are inconsistent to the point of being random, especially across organizations. Using years of experience as a proxy for seniority always brings up the argument that years of experience and seniority are not the same thing, especially on HN. I agree with this to some extent, but as long as you aren't stagnant as a developer (which might not be entirely your fault) you will gain wisdom that people with less experience lack. That might not make up for a younger persons ability to crunch, or hunger, which could lead to gains in productivity, but I'd argue that people that stagnate later in their career probably weren't great at what they did to begin with.
I'd be curious how you deal with engineers that are well past "Senior". Title inflation has devalued "Senior" to the point that people not having that title after 5 years start to think they should look around. Back in my day... (snow, hills, etc)
I'm guessing you probably just don't see that many of them. It's rare that I look around and meet people with over 20 years of experience.
Anyway, at least partly due to experience and partly due to not saddling myself with crappy startup salaries, my base compensation isn't even an option on your distribution!
I'd be interested in more detailed breakdown in years of experience. For example, over/under 20 years experience. Do you have enough data for that? 7+ covers a lot of ground...
Was there any statistically significant changes in compensation at each level based on more unique skills or more granular classifications of engineers?
In particular I'm curious about Machine Learning/Data Science, Robotics, Distributed Systems etc, but I would imagine Web vs Mobile vs DevOps vs Data may look different too.
Can you share some details about the companies that these offers came from? For salary data like this, I feel that if a handful of specific companies are not included in the data then it can easily give off a skewed perspective since many companies have different compensation structures.
The reason you're surprised is that you're only seeing the salary they get when they start at the company. It's not unusual for a senior engineer to double comp in 12 months. I suppose that sucks for recruiters like triplebyte who get paid a % of first year's comp ;)
I was surprised to learn that the median senior engineer earns only $36K more than the median junior engineer (base salary only). The gap does get wider on the right tail of the distribution: The 90th-percentile senior makes $47K more than the 90th-percentile junior.
One possible explanation is that our data is dominated by startups, which lean toward equity-heavy compensation. The range in equity is so big we had to plot it on a logarithmic scale.