Live data from Hacker News

The pool of talented C++ developers is running dry

efinancialcareers.com

461–470 of 595 posts

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

#461

Earlier quoted context omitted.

I'm guessing it might be because the years of embedded C experience (even if it's decades) don't necessarily show you're able to put aside what you learned and learn what's a wildly different language that happens to have some superficial similarities. In some respects it might be even harder to get someone with too many years in C to start writing C++-style code (or vice-versa!), given how difficult both languages a…

C'mon. In practice the differences are hugely overblown. The fundamentals are about the same. Also doing "modern" Cpp with dogmatically ugly static and reinterpret_cast and shared or unique_ptr:s everywhere is just annoying. "Best practices" in SWE are usually antipatterns since they are Cargo culted in a dogmatic way. But then again I am a embedded C programmer ...

> C'mon. In practice the differences are hugely overblown. The fundamentals are about the same.

> Also doing "modern" Cpp [...] is just annoying.

You're basically saying "I can totally do what you're asking, but I actually think it's super annoying and I'd very much rather do things my own way, so you should hire me because I'm an excellent candidate." Do you expect this to be a good sell?

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

#462
It doesn’t help that we’ve saturated the pool of programmers with JS and Python developers who are trained primarily to glue libraries together instead of actually writing code that isn’t third party library glue. That’s not a common job for C++ developers (and when it is, the gluing process is a bit more involved). This makes it pretty hard to satisfy our hiring needs with a huge number of the people who entered programming seeking fame and fortune with the data science and web dev waves. A lot of people aren’t good enough to pick up more complex and involved systems.

I’ve noticed that it’s not so bad to get someone proficient in Java or C# or Fortran to pick up C++, so hiring people from those backgrounds helps us fill the C++ developer roles. The python and JS devs: not so much.

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

#463
post #452

Earlier quoted context omitted.

> And those C++ automotive jobs in Germany? Sorry, I'm not even going to interview for 70k€ annually. I'd take that job in a heartbeat. Working on cars? Check. Nice European country? Check. Work-life balance? Double-check. What's not to like? Maybe it's because I'm looking for fresh graduate jobs, and 70000€ looks very attractive to me, even with a 35% tax.

> Nice European country? The grass is always greener on the other side. :) If you don’t like the idea of living in San Francisco or Chicago, you’ll hate it at most of the large European cities. Small towns are a different manner.

Cities are not all alike. I enjoy living in my current city, but would never move back to San Francisco.

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

#464

Earlier quoted context omitted.

Fully agree. I've also seen my fair share of very restrictive no-remote work offers, but they didn't even offer exceptional pay in exchange. And those C++ automotive jobs in Germany? Sorry, I'm not even going to interview for 70k€ annually.

> And those C++ automotive jobs in Germany? Sorry, I'm not even going to interview for 70k€ annually. I'd take that job in a heartbeat. Working on cars? Check. Nice European country? Check. Work-life balance? Double-check. What's not to like? Maybe it's because I'm looking for fresh graduate jobs, and 70000€ looks very attractive to me, even with a 35% tax.

> What's not to like?

The pay & the taxes, mainly. It is more fun owning one of those German cars than helping write their software.

> Maybe it's because I'm looking for fresh graduate jobs...

If you are just starting out, observe that the point of a job is to make money. Give serious thought to finding a job that pays well. Most people you see are working solely because that makes them money, although optimising $/hr is usually not something people regret.

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

#465
post #309

Earlier quoted context omitted.

Not sure about GP, but money isn't everything. If I feel like I'm being treated badly, under stress, and lonely, no money can compensate that.

It depends on what your original amount of money is. I'd rather work my ass off and be abused than be broke and afraid I can't provide for my family. I'd go from 30k to 100k regardless of work conditions, but not from 350k to 700k.

Avoiding more bad is more heavily weighted than seeking more good in the brain generally but this heavily differs between people. For many, adding more bad is only offset by an rougly an order of magnitude more good.

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

#466
post #343

Earlier quoted context omitted.

cross-platform is no longer a bonus of a language or a toolchain. it is a must to have feature in any modern language. to give you some example - using the exact same toolchain on amd64/macos, I can build my golang code to run natively on risc-v/linux or arm64/windows. everything happens within seconds as I just need to override two environmental variables. there is no "haven't had the time yet" problem in such moder…

WTF are you talking about. first of all, audio plugins come in a variety of formats, some of which are 100% platform specific (AudioUnits, Apple, I'm looking at you). You can be using the same toolchain across N platforms, but that won't make any difference to the fact that you're having to generate code that integrates with multiple syntactically and semantically distinct APIs. secondly, in the audio plugin space, S…

> You can be using the same toolchain across N platforms, but that won't make any difference to the fact that you're having to generate code that integrates with multiple syntactically and semantically distinct APIs.

you also need to worry about which stdlib to use in C++ - too bad!

> SIMD is often a vitally important tool. no cross-compiler or cross-architectural tools there, unless you opt for a common denominator so low it's not really worth anything. You want SIMD? You can't use anything that crosses compiler and/or architecture boundaries to any meaningful extent.

please stop such nonsense. AVX512 was extensively used in our golang codebase, the support was added to golang like 6 years ago.

> the process of creating a packaged audio plugin will vary by plugin format, and by platform, and is often one of the most critical tasks that is so often slightly screwed up. once again, golang and rust are never going to contain builtin tools for this process

why this is even related to the ongoing C++ discussion? once you have the package, you need to somehow distribute it, app store, http service, bittorrent you name it. but why it is even relate to any programming language since you brought it up here?

you can probably argue that golang's stw isn't going to help when building audio stuff, but there is just no reason how anything that can be done by a legacy language known as C++ that can't be fully handled in a more efficient way by rust. audio plugin or not, I don't care, in the end it is just the same machine code.

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

#467

When you write C++ you have to know that you don't know the language. If you think you know the language - you are aiming that shotgun right at your foot. C++'s attempts to modernize usually mean adding features with maintaining backwards compatibility. It's like adding new paint to a bucket of brown paint - things never really get better. I think the percent of programmers who can keep the language in their head all…

To be honest, I'm a C++ programmer and I hate than in C# if I do Dictionary[x] that it doesn't add a default if possible.

And python. There's a reason I often reach for defaultdict!

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

#468

There are plenty of talented C++ programmers. They just don't want to be abused by trading firms or work in that culture. Even paying them more won't work, because no amount of money is worth that abuse. I interviewed at a trading firm once, while I was working at Netflix (because Netflix encouraged us to interview for outside jobs at least once a year). The comp would have been double my Netflix salary. But I would…

It's a bit melodramatic.I work on a trading floor in Hong Kong from 9 to 7 which is less than most colleagues and allows me to take my kid to school in the morning and see her plenty in the evening (my dad had a small store and he'd do 8 to 8... 8:30 to 5 is really not normal neither in France or Hong Kong where I worked).

I can remote work, or remote connect to solve a hard problem, there's ofc a way to change these. As for sharing code internally, yeah, I fight for it and I get it (I m a Java dev and we need to reverse a lot of old C++ that the OGs gatekeep, takes lots of escalation to breach the "need to know" BS).

I think you can largely lower your salary to get a more junior position with no stress: I was a team lead working 6 to 11 in a startup jungling with timezone between mexico and Indonesia, and I joined the investment bank as a junior idiot for a cool 20% increase. And I refuse promotion, why do you think you d be forced to take the money and the pressure ?

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

#469

Earlier quoted context omitted.

I'm guessing it might be because the years of embedded C experience (even if it's decades) don't necessarily show you're able to put aside what you learned and learn what's a wildly different language that happens to have some superficial similarities. In some respects it might be even harder to get someone with too many years in C to start writing C++-style code (or vice-versa!), given how difficult both languages a…

Yeah, this. One of C++’s biggest problems has always been the number of people who have spent years writing C and think that qualifies them to write C++.

This attitude is one of the main reasons of the C++ shortage though. You are dismissing anyone else's potential to learn and become a C++ developer. I didn't say that I'm a qualified C++ dev, just that I wanted to start learning to be one and get a foot in the door.

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

#470
post #326

Lots of comments here debating what’s legacy, what’s modern. Here’s my take: Never use objects with behavior. (Ban OOP.) Prefer monadic types. Functions should only take or return moved values or const references. (These form linear types when you need state and ensure immutable values for stateless types.) Never use a template without a concept. Prefer the stack and ban mutable memory. You end up with a functional l…

Sepples doesn't even have monadic operation for its optional type. It's just utterly destitute
Post reply on HN