Live data from Hacker News

The pool of talented C++ developers is running dry

efinancialcareers.com

351–360 of 869 posts

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

#351
post #9

Because Python pays more. Or Javascript. Or Ruby. More demand, more salary. Apart from finance, pay is lower than web languages. And finance is small. Embedded systems programming, that also uses the language, pays 30% less than web jobs from my last job hunting period. Employees may be leaving the embedded space (and C++) for web tech because of this. This is the feeling I get from my local job market (western Europ…

This might be true for embedded C++ programmers, but it's not true at FAANG or finance companies, which accounts for a lot of C++ programmers. I'm in San Francisco and I wrote mostly Python/Go at web companies for the first 10 or so years of my career, and write C++ at a FAANG now. I'm getting paid significantly more now than I was before. At my previous job where I was writing C++ I was making $286k in cash ($220k base salary + 30% bonus target) plus generous stock compensation. Most people writing Python, Javascript, or Ruby are not getting paid that much in cash even if they're working at a unicorn startup in SF.

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

#352
post #251

Earlier quoted context omitted.

From what I understand, Google is really about a crippled subset of C++, that people jokingly call "C+-". I ran a C++ shop for 25 years. I used to program in it, but stopped, many moons ago. The new C++ is a huge change from what I knew. I am expecting to see a lot of hate for the language, in this thread. Regardless, it is a very powerful language, and it is not for the faint of heart. I attended a Swift conference,…

Did they upload the recording to YouTube? I would like to listen to her.

It was try!Swift New York, back in 2017, or so. I don't think they published vids, but maybe. I'll have to go look at my badge, to see which one it is.

https://www.tryswift.co

[UPDATE] It was 2019. They have videos, but hers (and a few others) aren't there.

[UPDATE 2] Found it. It isn't linked from the main site, but is on the YouTube playlist: https://www.youtube.com/watch?v=CZOVnlwWPZk

It's a really good talk. I like her attitude.

This is her: https://www.savinola.com

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

#353

Actually I've learned C++ in the past years and want to look into a working in embedded development. Now I'm reading that the industry is in need for C++ developers but paying bad at the same time? I'm confused.

So are the ones hiring, apparently.

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

#354
post #3

Looks like C++ developers / holdouts will be commanding 400-600k salaries in the comming decades, like those arcane COBOL wizards still tinkering on banking mainframes.

But why? Why not be an proficient Python developer and make the same compensation[0] with better docs, better libraries, better codebases, no compilation annoyances[1], easier to read code, and fewer not-defined-by-the-spec weirdness? C++ would have to pay 4x what Python pays for me to even consider doing it again. It literally makes me sad when I write software in it. Especially the libraries. [0] Mid-six digits as…

> Mid-six digits as an IC is very doable in North America.

No, it's not. Some people who read this comment probably do make that, and it's great, but it's not the norm. You have to be exceptional to get there.

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

#355
post #127

Earlier quoted context omitted.

I did a few a few months of contracting at a major voting machine company. They make a significant portion of all US voting machines. They had 4 developer teams Firmware (C++ where I was), UI (web tech on a voting machine), poll book (java), and a web/support team. Before I was hired in a massive influx of contractors each team was something like 3~5 people, except UI which was a new team with the contractor hiring s…

Sadly this sounds like a lot of crappy software shops generally, embedded or not.

Yeah, but in real life scenarios, the difference in actual numbers, as opposed to percentages, matters.

Let's imagine that the split for all software shops is 80/20, with 80% being crappy, and 20% being decent. If there are 10 embedded software shops out there, it means there are only 2 decent embedded shops out there that an engineer can work at. Meanwhile, if there are 1000 non-embedded software shops, it means that there are 200 decent shops an engineer can work at.

This creates a wild disparity, even if the ratio of crappy to decent is exactly the same for all software shops in general.

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

#356

Earlier quoted context omitted.

>EE salaries are sadly lower than they rightfully should be. Profit margins of an EE will almost always be lower than profit margins of a software engineer. A team of software engineers can quickly scale to selling to millions of users (and collect nearly 100% of the resulting revenue as pure profit), whereas a team of EE's cannot a) scale their customer base as quickly, since scaling up manufacturing takes time and…

I understand this but I think the biggest driver for software salaries is the sheer number of companies that are interested in hiring software engineers. Plenty of hardware companies are very profitable but do not raise their salaries because there is no market pressure to do so as the more limited job market means EEs/embedded engineers do not switch companies nearly as frequently and switching companies is generall…

Which hardware companies have SaaS margins? I think 10% margin is very good for a hardware company. A software company would aim for multiple times that.

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

#357
post #117

Earlier quoted context omitted.

Can confirm the interest of workers leaving the embedded space. I am a embedded C++ engineer and it feels like I’m watching all my friends who work building web apps have fun on the other side. - More companies/job openings - Higher salaries - Flexible working - More interesting technology/problems

I don’t know, I guess it depends on location and such. I work as a C++ dev with computer vision related stuff. I have an ok salary and very flexible working conditions. And I haven’t seen any web related jobs in my region which seem technologically more interesting. You are correct about number of job openings though..

I'll second this, I work as a low level C dev on embedded stuff. Good salary for the region, company pays embedded software devs at the same rate as high level app and web devs, and have somewhat flexible working conditions. This is just an anecdote I know, but I am very surprised at the general consensus at how bad the embedded positions are, it hasn't been my experience or my peers at least.

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

#358
post #312

Earlier quoted context omitted.

I've wondered why embedded tends to pay lower. C++ (and C) tend to be 'harder' languages for the average mainstream developer, particularly web developers. I guess I expect embedded jobs to pay more, yet they don't and like you said, pay less. But why is that?

In embedded you sell hardware, with web you sell software. Software scales a lot more than hardware, thus more revenues per employee.

That makes complete sense! I wasn't even thinking about that angle.

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

#359
post #260
post #9

Because Python pays more. Or Javascript. Or Ruby. More demand, more salary. Apart from finance, pay is lower than web languages. And finance is small. Embedded systems programming, that also uses the language, pays 30% less than web jobs from my last job hunting period. Employees may be leaving the embedded space (and C++) for web tech because of this. This is the feeling I get from my local job market (western Europ…

It's a resonant issue: if everyone is taught Python, it's the tool they will reach for. And of course, Python is much more broadly applicable. I don't like to develop in C++ because it's a tiresome mess of issues that don't exist in modern languages. I don't care about the newer variations or whatever, I still can't do basic things or pull in a library to do it 20 years later so no thanks. That said - it's not going…

I'm really surprised at how stable and widely supported Rust's FFI is.

I have several C++ projects that integrate a portion written in Rust, where the Rust project produces a .a file that is ultimately linked with clang into a larger C++ project.

I definitely agree Rust has a long road to adoption in embedded/low level systems, and particularly areas with custom compilers/toolchains that rely heavily on system specific undefined behavior.

But it's a lot closer than I had thought it was a year or so ago.

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

#360
post #47

Earlier quoted context omitted.

Yep. I build glorified CRUD apps in NodeJS + React, my friend works on some embedded C++ stuff. - My working hours are way more flexible. I pretty much only have to attend meetings which are rare, so I can basically work whenever I want during the day. That means that I can go to the dentist and stuff like that without taking the day off. She has pretty strict hours. - I can work from anywhere, only requirement is de…

> glorified CRUD apps Why is API design/backend engineering the only software discipline that gets maligned like this? These are bread-and-butter operations. I don't mean to attack you, just noting that I never hear anyone talk about mobile development in the same way, for example.

A lot of CRUD app development feels like tedious, repetitive busy work. Data entry was a solved problem in COBOL if not earlier, it's not gotten any harder in the decades since, it's just gotten more tedious.

There are generic data entry tools that solve the entire class of problems in that space. In web tooling there are things like Django's Admin app. In "the ancient world" there is Excel for good and bad and ugly. But those aren't "branded" enough. Those aren't "experiences" that some UI designer has sweated and cried over until they were beautiful. Those "don't understand the domain" or "don't support our processes" or "don't know that we are a special snowflake with special snowflake data" hard enough.

So you just rebuild the same types of things over and over again every time the UI designers get bored or the company decides to use a slightly different version of the same data. Sometimes it can feel a bit Sisyphean.

Post reply on HN