Live data from Hacker News

The pool of talented C++ developers is running dry

efinancialcareers.com

191–200 of 869 posts

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

#191

Earlier quoted context omitted.

I heard it quite frequently, but not from people that worked there. I believe that there was a published style guide. My experience is years old, but I remember seeing that it was basically “C++ without objects.” It’s a great language, and the 20 additions bring it right on par with other languages, in terms of type and memory safety.

The style guide is publicly available: https://google.github.io/styleguide/cppguide.html I've never heard anything remotely similar to "avoid objects" here.

Well, this was back in the C++ 11 days.

No biggie. Won't get in a fight about it.

Have a great day!

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

#192

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…

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

I certainly fall into this category. At one point I could have almost been considered a C++ language lawyer.

But then two things happened:

(1) I got stuck working on codebases that assumed C++11. Even now, I'm using Python3 and C++ (mostly 11, with a little 14/17 sprinkled in).

(2) The C++ language spec got significantly more complex after C++11. Without writing C++14/17 code on a regular basis, I just couldn't justify the time spent trying to keep up with it.

So for me, the cost/benefit ratio of trying to stay "current" with C++ is no longer worth it. I expect to prefer Rust over C++ for new projects.

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

#193
post #27

> People are seemingly scared away from the language by a terrible stigma: the notion that it is a legacy program. My personal experience: Universities (in Germany) simply stopped teaching C++. Most of it is now Python or C#.

Having recently learned C++/C.. I don't see why it would be taught as a first language outside of specializations. The gains from C/C++ coding are vastly outweighed by the costs. The reality is that there is no good, agreed upon standard in C++ for how to manage memory... how would you teach this to junior engineers at university?

I definitely would not advocate teaching students C++.

C on the other hand is a relatively compact language and is the lingua franca of operating systems and shared libraries.

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

#194
post #64

Earlier quoted context omitted.

> All of this to say: if you want C++ programmers, you need to pay competitive enough rates to pull them away from there. I'd modify this to say "All of this to say: if you want programmers, you need to pay competitive rates." I worked in real estate for a while (as a software dev) and my boss, who was a realtor, always said "there's no house problem that price can't solve". The labor analogy for me is "there's no la…

Although the pound has recently crashed, the general rule for comparing UK salaries to US ones is to 1.5x it to dollars. A £150k salary in London is equiv to a ~$200-250k salary in the US. Not bad, I'd say.

>~$200-250k salary in the US. Not bad, I'd say.

In SF or NYC? For a junior dev who can maybe write a for loop without supervision sure.

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

#195
the west repeated the same mistakes as when they decided to let china become the factory of the world

now they pay the price

they thought they could outsource embedded/system devs too, if you go check in Indonesia and Taiwan, the amount of people who dab with embedded/robotic stuff is insane

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

#196
I'd love to get into low level programming, game development or somewhere where C++ has to be used (I'd rather use another language probably but not gonna get picky); however, in my experience (and this might differ vastly since I'm in South America):

1. There are really few jobs doing this here compared to web development; there are maybe less than ten new openings in LinkedIn a month.

2. Most if not all of these ask for Sr positions with +5 years of experience, there are no jr jobs to get this experience from (except maybe from university or public research entities, which just don't pay enough to cover rent).

3. Most of these are just maintaining old legacy software written in C++, the jobs in games, embedded, low-latency, etc. are REALLY far and between or nonexistent.

4. Many don't allow for remote work, whereas in web development it's the norm.

5. You can say goodbye to part-time work, it's not the norm in web development either, but since there are so many jobs there you eventually will find one that'll allow you to work less hours.

6. Even if you get the perfect job, it might still pay less than a Sr React position or whatever; I'd personally rather work in something interesting for myself, but someone with a family might not.

I haven't been investing time in looking for remote work in the US or EU yet, in my little experience, they usually do not allow for remote work, or only for Sr positions. However I'm sure it's possible since there are much more openings outside.

So personally I believe there's a lot for these companies to improve so this pool of talents grow, and it doesn't even imply higher wages; they can focus on hiring from another countries and/or more jr candidates. There won't be more "talented C++ developers" if these people can't learn or grown anywhere. There's a lot of talented people right out of college they just don't have the work experience yet.

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

#197

Earlier quoted context omitted.

You may also look into Kernel Programming for a lucrative systems programming career. It is more C and low-level oriented though.

> You may also look into Kernel Programming for a lucrative systems programming career. This is the road I have taken since I started to work professionally, but I yet have to find a lucrative job. I know that I am paid more than microcontroller devs, but less than web devs. The market for kernel developers is not that big either.

I did Linux kernel work for a decade at my old company. Left due to low pay.

Also worried about my employability. Not much call for C programmers in 2022. You’ll always fear losing your job.

I love low level though, I do embedded projects for fun! I can probably sling back-end Python for 1.5x the salary. I wish embedded payed better, but it doesn’t and therefore I won’t help alleviate this “shortage”.

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

#198

I actually just tried to play around with what seems to be a "modern c++" boilerplate project. It uses CMake, conan for packaging, clang-tidy and cpp-check, and has templates for fuzz and unit testing[1]. I found it because qtcreator and kdevelop were weirdly clunky and created partly broken qt projects and I figured I wanted to add a package manager and qt to the mix. The template looks really fancy, but it's so inc…

That is the most bloated boilerplate project I've ever seen. Does anyone actually use this for their projects? I would hope not. I know Javascript people are used to starting a project with a template/boilerplate, but that's not a good idea in C++ land. You actually need to understand the stack you're using, and all of the tools (unless you're working on a team, in which case that could be someone else's responsibility)

Also, QT projects aren't real C++ since they require an additional preprocessor to compile custom syntax additions for "signals" and "slots". As a consequence, tooling for those projects tend to be more complicated and clunky.

This linked project seems to be trying to stuff as many things as they possibly can into a hello world project. With Conan + CMake you only need like 3 files total in your entire project for something like this:

    * conanfile.txt: for declaring requirements/dependencies
    * CMakeLists.txt: describe how to compile your project
    * main.cpp: source code for the hello world app
Also,

> Yes, I realize CMake isn't modern and there are a bunch of new build tools.

No!! That thinking is a trap. CMake is modern, and using something else is more likely to cause problems for you and anyone who might want to use your project. That boilerplate's is a bad example. A fully functional SDL2 hello world with Conan can be done with a ~4 LoC CMakeLists.txt.

Unless you have a very good reason (there are good reasons, but they're the exception rather than the rule), don't build your C++ project with anything other than CMake.

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

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

> Employees may be leaving the embedded space Embedded opportunities have been slowly shrinking for years. For whatever combination of reasons, a lot of employers think that embedded work is easy or otherwise doesn’t require a large budget. It’s increasingly bizarre to get a well-designed IoT device with a very polished mobile app and web UI, then struggle with hardware factory resets and firmware upgrades because th…

Yeah, I sorta specialize in that whole IoT firmware update/fleet monitoring/make sure everything at the edge runs smoothly end of things, and if you find a company that realizes that this is something that MUST work smoothly if they're going to scale, then it's a very sweet place to be. Even better, that sorta work combines low-level C++ with lots of back-end web service work, so you're never 'just' a C++ programmer.
Post reply on HN