Live data from Hacker News

The pool of talented C++ developers is running dry

efinancialcareers.com

211–220 of 595 posts

Re: The pool of talented C++ developers is running dry

#211

There are plenty of talented C++ programmers. They just don't want to be abused by trading firms or work in that culture. Even paying them more won't work, because no amount of money is worth that abuse. I interviewed at a trading firm once, while I was working at Netflix (because Netflix encouraged us to interview for outside jobs at least once a year). The comp would have been double my Netflix salary. But I would…

Not sure how that typical that is. Maybe if you're interviewing at a hedge fund to work on their trading algorithms then it's possible.

If you're doing general quant library or low latency stuff at an IB I wouldn't say this wouldn't happen but I'd say it's definitely not common.

Re: The pool of talented C++ developers is running dry

#212

Earlier quoted context omitted.

> Chances are you're writing this message on a C/C++ OS running a C/C++ browser engine. NodeJS and v8 are C++ applications. That's because there was hardly any mainstream alternatives (sans C, I guess) within its domains (ie systems programming and related field) until recently. That's not to say people haven't wished for alternatives. God knows I have

There have been a million things hyped as alternatives, and even though it is very easy to argue retrospectively that they were not really alternatives, they definitely were hyped as much or even more than e.g. Rust is hyped these days. think Java and Go. I have already _lived_ an era where I thought C++ would eventually be replaced with Java and I would have to learn Java (this was so long ago). The effect was so pe…

Look, I'm not saying C++ will go away. I agree with you the whole "X will be the Y killer" arguments are nonsense.

I used to like C++, and just don't care about it any more. It can stay, and I'm sure it makes people happy to use it if that's all they know. It's just that it mostly made me miserable—even though I reached for it for years.

Right now people have more choices, some of which you mentioned. Is Go a better choice than C++ for some projects? Absolutely! Can it be worse? Absolutely! Theses things depend on so many things.

Same goes for Java, and Rust, and TypeScript, Haskell.

The whole "C++ can do everything those languages can do" is just a nonsensical argument. C can do everything C++ can, so what? I can come up with more ludicrous examples of that statement too.

Tl;Dr if C++ tickles someone the right way: I'm happy for them to use it. But shunning any conversation about PL advancements because alternatives have them and C++ doesn't is immature and unproductive.

Re: The pool of talented C++ developers is running dry

#213

Earlier quoted context omitted.

> It was the fact that I would not be allowed to share my work internally. I would not even be allowed to brainstorm with people doing the same job in other areas of the business. This is what Apple does as well. So not all FAANGs are equal here.

My understanding is that Apple will let you collaborate after what you're working on is public. They just don't want people accidentally sharing unreleased stuff with people who aren't cleared to know about it.

I've been told by folks who work on infra there that they need to file requests to even talk to the previous owners of code if that person has moved to a diff role. So I don't think it's just for unannounced products.

Re: The pool of talented C++ developers is running dry

#214

Writing new C++ code with all the modern approaches and tooling doesn't sound so bad. Troubleshooting a big legacy C++ codebase is probably something that Dante would have included in his Inferno as a punishment for pride and hubris.

Totally describes what I do.

Last couple jobs have been heavily legacy C++ in the energy sector.

Lots of maintenance, but also opportunities to overhaul and build new objects.

Funnest project right now is porting some supercool Science code to cuda and getting about a 30x speed up.

Re: The pool of talented C++ developers is running dry

#215
I used to be a die-hard C++ dev. Started learning when I was 13, loved it. Later I ran my gamedev company [0] for 10 years, released 18 titles across Linux, Mac, Windows, iOS and Android - which required writing my own STL-like library, because when I started this the S in STL was aspirational (in particular, VS6 was terrible). I later wrote some C++ at Google.

But now... I don't even recognize the language anymore. The syntax looks alien and clunky. I've also gotten used to writing Java and Python with IntelliJ and PyCharm respectively, to the point that writing C++ feels painful now.

I don't like this. I wish I could find the joy of C++ again (I also like high-paying jobs). Any suggestions of books / courses / tutorials to learn modern C++?

[0] http://www.mysterystudio.com

Re: The pool of talented C++ developers is running dry

#216
When you write C++ you have to know that you don't know the language.

If you think you know the language - you are aiming that shotgun right at your foot.

C++'s attempts to modernize usually mean adding features with maintaining backwards compatibility. It's like adding new paint to a bucket of brown paint - things never really get better.

I think the percent of programmers who can keep the language in their head all the time is very low.

There are minefields everywhere.

https://en.cppreference.com/w/cpp/container/map/operator_at If you try to search for something in a map - and its not there - it adds it for you. If you want it to error you have to use at https://en.cppreference.com/w/cpp/container/map/at

That is just in the very well engineered standard library. What kind of code is in your company's repos? What do programmers need to keep in their heads?

Writing good C++ requires good testing, good tools, good education, good colleagues and a quasi green-field because legacy C++ is segfault...

https://www.youtube.com/watch?v=s7wLYzRJt3s

Re: The pool of talented C++ developers is running dry

#217

I feel like I am in a decently unique situation where I learned C++ throughout my preteens and teens, and got a job straight out of high school writing C++ for Unreal Engine applications. Most of the C++ jobs I see when I look are things that I just honestly do not want to do. I don't really mind working with the language and wouldn't mind sticking with it. But I don't want to work on financial software, as I don't w…

FWIW most of the folks who work with C++ in the financial industry are not really "messing with people's money" except in the sense of trying to exploit market inefficiencies to take it. In a typical quant hedge fund no actual money changes hands; instead, the C++ parts are there to perform analytics extremely quickly, which then feeds into an execution engine (usually also in C++, or sometimes Rust or assembly) that's sending trades to the exchange. And they're usually trading their own capital or a small set of very wealthy limited partners.

The retail financial industry, the folks like Fidelity and Vanguard that manage money for ordinary people or folks like Bloomberg that supply data for this, largely runs on Java. There are fewer foot-guns here, and you really don't want a security vulnerability that loses your customer's funds or creates an inaccurate statement.

Re: The pool of talented C++ developers is running dry

#219
post #87

Writing new C++ code with all the modern approaches and tooling doesn't sound so bad. Troubleshooting a big legacy C++ codebase is probably something that Dante would have included in his Inferno as a punishment for pride and hubris.

C++ is legacy. You can't just ignore the fundamentals.

"Legacy" is meaningless in the contect you've used it.

C++ has wide use, and will continue to have huge use, for both old, current, and new codebases, in tons of areas, from systems, finance, and OS, to scientific and games.

Re: The pool of talented C++ developers is running dry

#220
post #96

Earlier quoted context omitted.

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…

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.

Post reply on HN