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…
The pool of talented C++ developers is running dry
351–360 of 869 posts
Re: The pool of talented C++ developers is running dry
#352Earlier 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.
[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
#353Actually 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.
Re: The pool of talented C++ developers is running dry
#354Looks 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…
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
#355Earlier 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.
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
#356Earlier 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…
Re: The pool of talented C++ developers is running dry
#357Earlier 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..
Re: The pool of talented C++ developers is running dry
#358Earlier 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.
Re: The pool of talented C++ developers is running dry
#359Because 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 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
#360Earlier 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.
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.