Live data from Hacker News

The pool of talented C++ developers is running dry

efinancialcareers.com

251–260 of 595 posts

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

#251

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…

Tip: Amazon Games pays above game industry standard, hires for Unreal skill, and has options for good work/life balance. (Like any large company, it can depend on the particular game team. Moving to other teams is generally supported, if the needs and skills match up.) And answering one of the other sibling replies: if you apply for one of the games reqs, you'll be interviewed by members of the game team that posted the req. If it's a C++ role, you'll be interviewed by someone who uses C++ on the job.

You will benefit from doing your interview homework first. Make sure you know the Amazon Leadership Principles by heart, try to have 2-3 solid examples at the ready of how you exemplified each one (some matter more than others), and be comfortable solving little programming challenges (I'm sure it's happened but I've never seen some of these Google-esque obscure tree challenges get asked). Lots of good Amazon interview material out there, I recommend reviewing it. Also, I hear some recruiters can help you prep.

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

#252
post #75

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.

> Writing new C++ code with all the modern approaches and tooling doesn't sound so bad. Uh, but it still kinda sucks, if only because the nice way that looks idiomatic is usually the incorrect way for either performance (anything newly added like std::variant or std::optional) or safety (operator[]). The correct way is usual the ugly way, because it seems like the committee puts C++ arcanum knowledge above all else,…

C++ puts you don't pay for [at runtime!] what you don't use above all use. However that often means you have to know the arcanum bits to decide if need to pay for something. You can save a bit of CPU time if you don't check if a pointer is null - which is a great thing to do if you have knowledge that the pointer cannot be null - and also something that is very easy to screw up so most languages don't give you the option. (which is the right thing for them to do - a lot of people are writing C++ where they could write something else)

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

#253

Earlier quoted context omitted.

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…

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.

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

#254
I see some comments comparing C++ to COBOL, given similar articles in the past. However, this is where I think COBOL is much better than C++!

Most developers could jump into a 40 year old COBOL codebase and safely make changes. This is probably less true for even a 20 year old C++ codebase. Sure COBOL looks old but its complexity is so much lower.

Similarly, I haven't written COBOL in 25 years but I suspect the language hasn't changed much, unlike C++.

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

#255

Earlier quoted context omitted.

Google, Amazon, & Microsoft are nearly always hiring talented C++ engineers. So you're not limited to finance. Quite the opposite. I'd be surprised if the majority of C++ jobs had anything to do with finance.

Yeah but then you go in to interview at these places and someone who only programs javascript or python will ask you to answer a contrived whiteboard question by hand that involves manually writing out verbose C++-isms like "std::unordered_map hashmap;". I went through a day of interviews at Facebook once where not even a single person interviewing me worked in C++. A lot of the interview cycle consisted of me answer…

Google interviewers sign up for particular languages and are expected to have proficiency in the language. As an interviewer, I also allow a lot of abbreviations (so long as we agree during the interview what they are) and I expand them in the digital writeup. That makes large generic types in Java/C++ a lot easier to interview with.

"Can I use AL for ArrayList?" "Go for it"

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

#256

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…

   Basically, they were so worried about secrecy of their trading algorithms and people sharing them with other companies
Which means if you took the job they probably would have had you sign some obscene non-complete/non-solicit/non-disparage/non-roll-your-eyes-at-them agreement. Despite the dubious enforceability of these, especially in some jurisdictions, you would still likely experience a lot of stress and expense (i.e. lawyer-up) if your departure rubbed someone the wrong way. Your exit from the trading world could involve:

  - demands to keep them informed of what you were doing
  - private investigators checking in on what you are doing
  - threatening legal letters
  - or actually being sued
And that's if you did your very best to follow the non-compete agreement. If you were actually taking employment in a field remotely related to finance, you could have the DOJ/FBI knocking on your door to investigate trade-secrete theft.

EDIT: And another point about "double the comp". The comp structured so that 75% is a discretionary annual bonus payout (with claw backs), and your base salary is 25%. So you could actually end up making less money, depending on the whims of the markets and/or internal politics.

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

#257
post #111

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.

Speaking as a professional C++ developer for the past 20 years, I think this sums it up well. A modern project should be able to use most of C++17 at least. Even if you still need to target some ancient garbage like Windows XP, you can use an MSVC toolchain that supports C++17. That's a good basis to work from. So your real concern is the moldy old code that's written for C++03, that's still not using std::unique_ptr…

I have license to any one C++03 area to C++14 (and I have my own implementation of optional that I'm allowed to use when until C++17 is available). However I can only do a few of them so I need to target where. If C++03 code has been working great for years and isn't broke, why would I break it?

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

#258
post #128

Earlier quoted context omitted.

Anecdotal evidence to support what you're saying. I had a large group of devs I used to hang out with. It was about 50/50 front-end and C, C++ guys. Over the last decade or so, every single C developer either transitioned to PHP like yourself, or went the full-stack JS route and have never looked back. And it was all over the issues around dealing with legacy systems and the poor pay. One guy told me flat out he can…

That’s also my experience in Europe. I used to work for an industrial company in the defense sector. We were working on very complex problems with difficult requirements in term of resilience and performance. It was extremely interesting: complex algorithms, redondant architecture, hard real time development, most of it in C++ or Ada. Deadlines were tight. It was quite stressful and the pay was miserable. I left the…

Knowing people who work in the defense/military sector, this is what I gather as well. Pay is lower, sometimes much lower, compared to other jobs. I know some people stay in it out of ideology, or because they're natural lifers, drifted there, it was ok, and they stayed, not bothered by the low pay very much (no hard feelings, I'm a natural born lifer too!). It can be stressful but I gather that those companies slowly start to realize they're losing their old workforce and try to attract younger crowds by making the work environment "modern, young and dynamic" like startups (except for the actual pay, of course). I don't know if it works. Probably not.

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

#259
post #97

Earlier quoted context omitted.

Could be refactored if someone bothered to write unit tests

I rarely refactor an implementation in a "unit." Refactors tend to be bigger and non-trivial, so they break unit tests.

At least you know what got broken

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

#260

Heh. I'm pretty proficient in modern C++, and it is my favorite tool for a lot of things, but my PHP job pays way more than any C++ position available. Did an interview once for Senior C++ Engineer, embedded software in the medical device space. All went good, until the offer: $100k. Articles like this are nothing more than a desperate attempt at getting younger generations to learn said topic, so companies can pay t…

I'm curious about why. It seems like the economics of supply and demand should make it so that C++ roles pay higher. There's less C++ devs, C++ is harder, demand is still high. Why are the salaries low?

It goes to show that the demand for C++ is not actually that high.
Post reply on HN