Live data from Hacker News

The pool of talented C++ developers is running dry

efinancialcareers.com

111–120 of 869 posts

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

#111

I've been C++ the majority of my career, doing simply amazing shit... and a recent recruiter did not recognize anything I was discussing and asked if I even wrote code. I worked on the original PSX OS, I've delivered over 40 commercial products, all written in C++ and that meant nothing.

I get this too. I wrote a number of design/game engines, design applications, and frameworks in C++ and I get recruiters that don’t understand that and start asking me basic C++ questions. One time they were reaching out to me about a design engine I wrote and didn’t even realize.

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

#112

As a talented C++ developer... yes there is a dearth of talented C++ developers. I've been to several C++ conferences. Even there, many of the engineers end up learning "new" things that are IMO basic concepts that have been around for years. I recently went through a hiring phase for Senior C++ engineers and most of the applicants were familiar with old tech. It was really disheartening to me to realize how many "se…

I can't help but wonder if developers are simply off-put by the complexity of the language itself.

Way back in 1989 I was fortunate enough to get Borland's C/C++ compiler, the K&R C book, and Stroustrup's C++ book - which, at the time, was about the same size as the K&R C book. The C++ language was relatively simple to learn at that time: no STL, no odd pointer types, no template metaprogramming, etc.

Fast-forward to 1997 and I'm listening to a talk about C++ compilers and hear that templates are now a Turing-complete language, and how the compiler developers used the template language to coerce the compiler into printing out the prime numbers.

Fast forward again to 2022 (with trips to Java, Kotlin, Scala, and Haskell in between) and I've got a project that requires JNI and Python bindings to a core C engine. Great, I'll use C++! I proceed to start searching for containers/constructs and realize that at least 50% of the C++ language and standard library is unreadable to me. I only have a guess as to what a `shared_ptr` or `unique_ptr` type is, and I certainly don't know when to use them, and concepts/traits outlined in the STL documentation seem to be some sort of generalizations that the STL might provide default implementations for, but might not? What exactly is the syntax and/or type of a lambda function and how do they interact with C function pointers? etc., etc.

I get the sense that C++'s evolution has been driven by esoteric corner cases that a handful of developers have encountered and the language & STL design has been driven by those cases. I'm still surprised by how many problems I can easily address in something like Scala or Haskell that C++ simply does not provide the facilities to express easily.

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

#113
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…

I would guess Microsoft's push for C#/.Net is affecting this as well.

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

#114

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,…

All sane C++ codebases must use a defined subset of the language. Google's is one that works for them, with some pretty strong standardization. It's a good set of compromises. But you won't get far programming in it if you don't know the broader semantics of the language. I didn't do C++ from about 2003 to 2013. When I came back I was delighted . It's so much better.

If only unique_ptr makes the whole experience so much better

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

#115

As a talented C++ developer... yes there is a dearth of talented C++ developers. I've been to several C++ conferences. Even there, many of the engineers end up learning "new" things that are IMO basic concepts that have been around for years. I recently went through a hiring phase for Senior C++ engineers and most of the applicants were familiar with old tech. It was really disheartening to me to realize how many "se…

To be fair and assume competence: A lot of C++ programmers have been burned by adopting the latest and greatest bling, then having to port it to some backwards platform that doesn't have a recent compiler. Many of us use the legacy stuff when possible, because we know it works, there are already robust third party libraries that interoperate with the legacy stuff, and it is more likely to be portable than std::omfgbbq.

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

#117
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…

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

#118
post #65
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…

a few issues here - c++ is not used that widely in embedded (most prefer c or a small c++ subset). and ruby? i can't remember the last time i saw a post about ruby here. and finance is huge.

Ruby still has relevance as it was the lingua franca of the 2010s ish startup scene. These days those startups have become veritable big tech companies in their own right - Stripe, Uber, AirBnB, and so forth. While many of those companies have started integrating other languages they still have massive legacy ruby codebases and demand then for ruby engineers.

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

#119
post #47
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…

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…

Probably less related to C++ as a language and more so an "embedded" issue or down to the specific industry that your friend is in.

E.g., there are hundreds of C++ devs at my company that have the same work from home options and flexible hours as their frontend peers. So these jobs exist.

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

#120
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…

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'm really hoping the salaries for EE type roles start to match software as the grey beards start to retire and talent becomes scarce. We've got a legion of grads going into CS, but EE classes are a fraction of that. Despite that, software roles are often more than double the salary. Any role I go into as an EE/Embedded Systems engineer, I'm more often than not the youngest by 20-30 years. I wonder how the industry in the West is going to survive it, beyond hiring contractors from India/South Asia.
Post reply on HN