These are financial firms griping about the lack of developers. They're some of the highest paid developers in the world. But working for these companies is also insanely stressful. Long hours, high pressure.
This speaks to the point in the article "The real problem is that C++ is neither easy nor loved," which they offset with "The language may be hard. But it's also worth it."
The problem is that there's a law of diminishing returns to compensation. If you can work with a tool you like that helps you meet milestones and general expectations for $X00k generally leading to pleasant days, or can work with a tool that makes your life harder and leads to higher stress fewer pleasant days for $2X00k... sure there's going to be people who take the extra money. But there's also going to be people who say to themselves "yeah, it turns out I'm plenty well compensated at $X00k I'll take the extra quality of life."
"Worth it" is a value judgment. How many people managing the financial firms decided it was worth it to invest in C++?
They're focused on the language. The language isn't the problem. Of the people I've met in finance, there are some really strong and offputting trends: they're uniformly dismissive of work/life balance, they're almost uniformly the worst stereotype of tech-bro, and aside from the rampant cocaine use, they're hugely socially conservative, and every single one values profit over ethics.
It's not the language, it's the extremely toxic culture. Any programmer worth their salt can march into a nasty codebase of whatever language, and make it dance. But financial folk don't want to employ humans with all their complexity, they want robots who will run themselves into the ground for cash. So they get young men who burn out quickly and retire ASAP. The problem isn't the language. The problem isn't the pay. The problem is the extractive culture. Finance folks focus on short term profits to the detriment of their future. And now they're wondering "where can we find programmers" after they've been burning them like so many trees. Go figure.
> Any programmer worth their salt can march into a nasty codebase of whatever language,
Correct, I wonder why people both technical and non-technical focus on this aspect a lot. ( my guess is that they are incompetent themselves).
Agreed, if you want someone for two or three months you probably want someone who knows the language and it's ecosystem pretty well. Any work that is more than six months should be nearly language independent.
> Any work that is more than six months should be nearly language independent.
I'm not sure this is true in finance. Speed matters. A lot. It's called high frequency trading for a reason. These firms will spend a million bucks just to make their fiber optic cables 1 foot shorter.
Just the kind of short-sighted idiocy that keeps good people out of the industry. How long does it take to get that network upgrade installed? It doesn't happen overnight. It takes me a week to get decent at a new language, a month to get good. That's, what, $10-20k on "training" assuming an output of zero in that first month? That's peanuts.
It really makes me wonder. I see so many job ads where specific-language mastery is a top-line requirement. And I know people who know that this is not justified, but keep doing it...
To further the idea, C++ can be loved if the firms invest dollars, invest marketing (open source, other ways) of it. They should support/invest in the community they want to hire from.
just a side note: long before a small part of the programming world took over this acronym, it used to mean the sound engineer (and sometimes other staff) that were in the venue, embedded in the crowd, working on live sound while the talent was up on stage. "back of house" was behind the stage, "front of house" was the room/venue itself, and the people working in it.
I’m not sure the programming world took over the acronym, I think OP just confused them. In finance at least, the terms Front Office and Back Office are used. I’ve never heard anyone use the restaurant/entertainment variants used.
I wonder (with no supporting data) if they are griping because in C++ they've created horrid technical debt that they have a hard time hiring people to maintain.
Last time I looked at the finance industry, which was admittedly a while ago, I saw a C++ job that listed the salary as being around $100k. Sounds reasonable.
In New York City. Oh.
Compare to Google salaries, on levels.fyi for example. I know they're not theoretical or inaccurate because I worked at Google for a while. If you really want to do C++ professionally, that and maybe other FAANG companies seem like they'd give you much higher quality of life.
But the truth is, if you're a C++ developer, you may as well just take up another programming language and get paid more. The data doesn't lie:
C++ was basically the first programming language I really learned, but I seldom use it in the industry, because I don't know why I would intentionally pick a pay cut to do harder work. (I consider C++ to be "harder" than many of the languages above it in pay grade even when doing the same work, for most tasks.)
Salary at an HFT doesnt tell an accurate story. I'd be shocked to learn any quality c++ dev at an HFT pulled down less than 500k last year, and I'd expect most to be well above that.
Hiring C++ isnt especially hard because our pay is opaque. Recruiters will tell you immediately what total comp you can expect and they'll let you know what you can contractually guarantee year 1.
Hiring for C++ is hard because C++ is hard and most people are quite bad at writing even somewhat reasonable code.
I was told $300K about a decade ago and I told them no. I was already making more than that at a big tech company with a much easier pace of work. $500K would have peaked my interest, why didn’t they tell me $500K if that was an option?
A quick google search is suggesting that $200K for the top end of experience, when I was told $300K they said it was as high as they go. Where is the rest of this compensation coming from? Maybe they could give stats for bonuses but when enquired it seemed that the bonus pool was being eaten up elsewhere and the C++ devs were in the back of the line for that.
200k for the salary part might be the highest salary they offer.
Often bonuses can be >100% of the salary. Bonuses vary based on firm performance. The advice is typically "Live within your salary, don't let your lifestyle creep up to demand your full total compensation". HR typically emphasizes that the bonus is not guaranteed (unless you negotiate a guaranteed bonus for some number of years [1-2] after hiring).
Also, salaries/TC have gone up in the last 10 years.
To get the aforementioned $500K it would need to be an average of 150% bonus. And that’s just to equal the FANG equivalent plus some extra for the added intensity. The firm should be able to give historical averages. And I was given the distinct impression that the developers were last in line for the bonus pool, which may have changed in the intervening 10 years, but they should advertise that.
This. I think these firms would have an easier time hiring engineers away from FAANGs, if they realised that FAANG engineers don't precisely understand how the bonus system works. (I think the vagueness is actually seen as a feature of the bonus system!)
They were quite explicit that management, traders and quants take the initial passes at the bonus pool and not to expect much out of it. 100% seemed to be the max not the minimum. They made it clear that C++ devs are support staff and hence second class citizens. And as a second class citizen in a support role it would be hard to make the case for a personal performance bonus.
I think any experienced c++ dev knows there is good money in HFT. Hiring for HFT is also hard, I imagine, because the industry is parasitical. Id like to look at my work and feel that it is contributing something net positive to society.
Same with the poker machines. Recruiters gotta recruit, but I’d just make my own meth if all I cared about was the money.
HFT can cover a wide range of diff types of firms/latencies. Bonus structure also makes it so the salary might not be as high, and bonuses can be contingent on performance. This might be true at some of the larger firms on successful desks, but I don't think it is true across the board.
I don't think I know of many buy side firms that pay any less than Google, Microsoft or Meta. Salary just tends to be relatively small compared to the bonus or return on invested capital in the fund.
That's probably why finance is having problems. I know plenty of great C++ devs out here in flyover country. A lot of shops that hire them go bust, or outsource, and they move on to something else because finance is clueless about how to scoop them up (pay a lot, do remote, or establish a branch office).
Google has basically thrown the towel in the ring when it comes to C++ considering they're building a replacement like Carbon and also using rust in and more places so they're likely pivoting to those two instead
I mean no, if you're happy at Google doing C++ then by all means you can probably keep doing it for a while. I don't think pivoting is particularly hard for experienced devs, so it's probably fine to hold it off, though I could be wrong.
The glue code is C++ still. It's also a much less glamorous job than when the C++ programmers were the "hot shit" instead of the people who specialized in accelerators.
So they are complaining that they can't find people who want to be second class citizens while still dealing with the pressure and hours using language skills they acknowledge are in high demand...
Yeah, kinda, CUDA is c++ that I can't run cppcheck or clang tidy on, and the important bits are either calls into the cu* libraries which are c style, or kernels, which are really their own thing.
Yes, kernel code is GPU style rather than CPU style.
But the CPU-drivers of CUDA are all C++. Albeit a C-like API (cudaMalloc, lol), but its a clang compiler for the CPU code nonetheless. If you have complex GPU + CPU interactions, you'll need to be a C++ expert.
Even if you aren't doing GPU work and sticking "only" with CPU-side CUDA, its all C++.
HFT, prop trading, market makers and the like are also finance firms right? They are still pretty coveted by those who are aware of their existence. Jump Trading, Citadel, Jane Street, DE Shaw etc are considered highly prestigious and competitive.
There are certainly financial firms that people are less interested in though, namely banks.
Lol, couldn't be further from the truth. Ive gotten multiple offers at FAANG and Trading firms (thinkCitadel Jump, Optiver, HRT, IMC, etc.). Trading comp blew my FAANG offers out of the water. And if you went to MIT, CMU, or Berkeley right now I would guarantee you the top students are gunning for an internship at one of those firms.
Perhaps "prestige" may be lower from an external perspective (Your parents will brag about you being at Google, but probably not Jane Street), and Id also agree with the fact that the top 0.01% probably either make their own startup or join as a founding engineer at a startup, but the top 0.1% of students are definitely going for Prop trading/hedge fund jobs.
I'd say HFT/prop trading/market making/hedge funds, since those are the only places that are hiring right now and pay good money.
The usual destinations for smart and motivated new grads are (not counting very early startups/making your own company):
1. Top tier HFT/prop firm (Jane Street, HRT, Jump, etc.)
2. Meta, larger unicorns like Stripe, Databricks, etc.
3. Google
4. Amazon, Microsoft, etc.
Obviously im leaving out a lot of places but this is generally what I've seen.
Id say for most people FAANG is still the top option, and for people that want to shoot beyond FAANG, trading firms are probably the next target.
If you were including very early startups in this list, I've noticed that the smartest people often join promising startups as an early engineer, or make their own company. I'd put them above trading firms, but the risk is way higher.
The best thing they could do to attract talent would be to offer a choice of 3, 4 or 5 days for 60%, 80% or 100% salary. Many people would probably choose 3 days at a high paying finance job over 5 days somewhere else and 60% of the money they tend to offer at those companies would still be really good money.
The key to being a developer in finance is to work in a software shop.
Working at a bank / prop firm is going to be extremely stressful. Working at the shop that all the big banks buy their trading software from is like 80-90% of the pay but none of the stress.
I love it. I get to do real, hard engineering for big pay without working on ad tech or javascript.
C++ quant jobs were already some of the highest-paying jobs in the technology market. A step above FAANG in many cases.
There's more to the story than just comp. Even increasing comp wouldn't immediately generate new developers, as it takes a very long time for the increased comp to incentivize new students and junior engineers to move in that direction in their career.
High performance C++ takes a lot of time and effort to learn, and even longer to master. Maybe the real issue is that there has been a surplus of high-paying jobs that are much easier and require a lot less effort to master.
"Already" doesn't mean it couldn't be raised further. Have you seen C-suite salaries?
Also you don't have to only incentivize grads. Getting experienced devs to jump ship is the primary goal. Which a $100k+ raise would certainly incentivize.
The company they based the story on appears to be a cryptocurrency firm, too. That'll exclude a lot of otherwise qualified candidates due to ethical or business model concerns — especially since C++ developers tend to be older, they're more likely to understand the risks of jumping into a bubble and have higher expectations for things like work/life balance.
You can't pay me enough to go back to writing c++ code.
I despise the language, 80% of my time is spent figuring out how to beat it into submission to get it to do what I want, which leaves very little brain power left over for designing well architected software.
Modern languages get easy access to a large number of powerful design tools, C++ I have the same tools but it's stuck behind an interface (headers, the build system) originally made in the 70s.
I wish. I've never received an offer that high for C or C++ job. Then again I haven't applied at any trading firms, and I wouldn't be considered Senior.