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…
I would guess Microsoft's push for C#/.Net is affecting this as well.
The pool of talented C++ developers is running dry
471–480 of 869 posts
Re: The pool of talented C++ developers is running dry
#472Why doesn't c++ offer a language version that's trimmed down to "modern" rules? Meaning all things that were deprecated, or not recommended, are cut out of the language. What I find difficult is that there's several ways to do the same thing but each option has some nuance or gotcha with it. This is said as a beginner who did half of learncpp
>> Why doesn't c++ offer a language version that's trimmed down to "modern" rules? What part could be removed without breaking backward compatibility? Depending on what is removed and how, it creates a subset that is not fully C++.
There can still be the standard updates every 3 years for backwards compatibility, but Id assume version upgrades don't happen very frequently. Meaning, if a project is started on c++11 then it's probably going to stay on c++11 indefinitely, never making it to c++17 or some other later version.
If that's true then that would imply in general the projects using c++17 or later are created from scratch using that standard and therefore wouldn't suffer from backwards compatibility.
This is all said as someone who works with Java where I don't see folks migrating from Java 8 -> 11 or later.
Re: The pool of talented C++ developers is running dry
#473I was a C++ programmer for 25 years. Last 3 years, I'm using Rust language in my daily job and for all my hobby projects. I will not return to work in C++ again. No money can make me to change my decision. Nowadays, programming is a pure joy for me again. This was not the case when I had to work with C++.
I agree. No matter gray beards bashing Rust on HN every time it comes up, programming in Rust brings me joy and I will never use C++ again if I have a choice.
Re: The pool of talented C++ developers is running dry
#474There are also "cpp lawyers" that you'll see in cpp conventions and are really "part" of the language.
But...
From my knowledge of the ones I admire as software engineers. It's not the language. It can be Haskell, cpp, python. I doesn't matter.
A real engineer should understand at least basic concepts of how a CPU works, memory concepts including manual alloc/dealloc. So languge is a fraction of your time.
I've "learned" Java in my university and did a C course. I've started without knowing any C++. But since working at my current place, I write only CPP.
There's infinite learning curve but that's with any language (or knowledge in any field)
Re: The pool of talented C++ developers is running dry
#475I really don't get this language thing. I do understand that having experience with a language is important as any developer trying out a new language has a learning curve between months to years depends of the needed scope. There are also "cpp lawyers" that you'll see in cpp conventions and are really "part" of the language. But... From my knowledge of the ones I admire as software engineers. It's not the language.…
Re: The pool of talented C++ developers is running dry
#476Earlier quoted context omitted.
...which is ridiculous because of what it takes to become an EE VS what it takes to become a "web developer". Basically anyone who can handle basic logic can be a web developer if they just put in a bit of effort. Degree or not! To become an EE you need a 4-year degree and a whole heck of a lot of knowledge about things that are a real pain in the ass for laypeople like calculating inductance, capacitance, and impeda…
> You don't need much knowledge to make a circuit board Not quite. For most modern high speed designs PCB's are very far from being simple. Signal and power integrity are critical. It doesn't help that these can be "voodoo" fields where, a bit like RF, years of experience as well as the theoretical foundation are really important. That said, I think I know where you are coming from. A ton of low-performance embedded…
I've even designed an analog hall effect keyboard PCB with integrated IR sensor, dual power regulators (to handle 95 ultra bright RGB LEDs), invented-by-me analog hall effect rotary encoders (incremental and absolute), and more. It wasn't rocket science.
Re: The pool of talented C++ developers is running dry
#477Earlier quoted context omitted.
Many hardware companies still see software as just another line item on the BOM: Like a screw or a gasket. It's something you build cheaply or buy from a supplier and sprinkle it on the product somewhere on the assembly line. These hardware companies have no concept of typical measures of software quality, building an ecosystem, release management, sometimes even no concept of source control. They tell an overworked…
At a previous company our firmware was literally called by a part number. So I would regularly work on the repos 5400-520, 5400-521, 5400-524, 5400-526, etc.
Re: The pool of talented C++ developers is running dry
#478These companies are more selective about who they hire than FB, Netflix, or Google, and almost universally, the talent they want is having them bid against very high-paying tech companies.
The last few times I spoke to a recruiter, I asked for salaries over $500k because that would make it worth it to go there instead of staying at Google - I was making more than half that at G, and working 20-30 hours a week. Most of them said that they would not offer near that. The ones that would wanted me to be the next coming of Bjarne (in terms of C++ knowledge) to pay that rate. They were hiring a lot of people from defense contractors at the time.
Anecdotally, a lot of developers who enter one of those firms early and stay tend to get to the $500k-1M range pretty easily, but they seem to be a lot less willing to hire in that range. Comparatively, Google and Meta are happy to make $400k+ offers.
Re: The pool of talented C++ developers is running dry
#479Earlier quoted context omitted.
Yes, the embedded space pays terrible, and the employers don't seem great on the whole. When I was at Google I got to work on embedded stuff and really liked it; but I was getting a Google salary. When I left Google I pursued IoT and embedded jobs a bit and while I was not expecting Google level compensation at all, I was astounded at what was going on there, pay wise. General software eng back end jobs pay better. T…
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…
Re: The pool of talented C++ developers is running dry
#480Earlier quoted context omitted.
> typical measures of software quality To play devil's advocate - are there any (useful) measures of software quality? Even this place is mostly programmers and we can't even agree whether we should be writing unit tests or not.
Sort of. There are accurate measures with verifiable predictive power. But useful depends on cost/benefit, which in turn depends on ability to implement and market forces. There's a company that looked at reducing critical defects from a sort of actuarial perspective. They have a few decades of cross-industry data. I've used their model, and it works. If you don't need a numerical result, you can just read the white…