top | item 30583041

(no title)

intricatedetail | 4 years ago

Probably semi related, but when I was looking at C/C++ job offers, why are they paid so little in comparison to Python or JavaScript? It seems like C/C++ is much more complex. I was mainly looking at embedded stuff vs Web. For example senior C++ role was paying £45k pa on average and over £60k for JS.

discuss

order

Kranar|4 years ago

Difficulty of a job isn't a great metric to evaluate pay/salary, if that were the case then miners or gravediggers would be among the wealthiest people in the world. Salaries often have to do with marginal revenue productivity and from that metric, C++ is not a particularly productive programming language compared to its cost.

C++ is a very error prone, complex and risky language and even when used in industry, it's used in such a way that companies significantly restrict its feature set to a mostly sane subset of the language that in many cases looks like a dialect of C with classes. The benefit of using it is your product has the potential to outperform software written in other languages, but this benefit often comes at the cost of software that is more limited in features compared to competitors.

For some domains, like HFT, audio and graphics, where performance is the primary feature C++ does pay well, but for most other domains the sheer complexity of the language outweighs any benefit to productivity.

So ultimately the reason Python developers get paid more than C++ developers is because products developed in Python are more productive than products developed in C++. The reason for that difference in productivity is that given two developers who are both investing X units of time working a product, the Python developer is far more likely to spend that time adding new features to their product while the C++ developer is likely to spend that time trying to find the cause of some random bug due to undefined behavior, or trying to figure out some arcane and complex language quirk.

ncmncm|4 years ago

If it says "C/C++", it means they don't even know what they want, and might even be satisfied with a cave-dwelling C coder.

The highest-paid programming jobs are mainly held by C++ programmers, many of them in service of financial gambling. That work shades over into FPGA and HPC programming at the high end. A skilled C++ programmer at these shops can get a half $million, some more.

flomo|4 years ago

Yeah, job adverts (and resumes) with "C/C++" usually seem like they are reading off MS VisualStudio marketing and imo a clown indicator. I've seen this with jobs which were really C# or Java (or maybe even VB). Top C++ programmers are highly compensated and only unemployed when they want to be.

gpderetta|4 years ago

This is more a function of the sector. Embedded just does not pay as much as web ATM.

FAANG and FAANG-adjacent companies will pay way more than that for a senior C++ developer in London (they will also pay more for a web developer).

And of course there is the City.

The actual salaries are unfortunately usually not advertised.