Live data from Hacker News

The pool of talented C++ developers is running dry

efinancialcareers.com

311–320 of 595 posts

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

#311

Earlier quoted context omitted.

Just to clarify, you used the word "abuse" several times to describe a job where you would have to work in office between 8:30 to 5 and pull (I'm safely assuming) half a million dollars a year?

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.

I've not seen double, but I've seen a 50% increase, at assuredly a much lower comp level than Netflix, so, far higher marginal-utility for that income, and still wished I hadn't done it about 2 months in.

Like, if you'd put a button in front of me and pressing it would undo it like it'd never happened, I'd have pressed it without hesitation. And they weren't even working me long hours or being outright mean to me or anything, the place and the work were just dreary as fuck and it was making me feel like shit even in my off hours.

I had another job by month 4, and took a pay hit (though not all the way down to my prior level) to get out fast.

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

#312
post #297

Earlier quoted context omitted.

If you mean "gaming industry" meaning gambling machines, then yes. If you mean "games industry" as in video games then it's just not true that it's "all about exploiting psychological inefficiencies". There are many monetization strategies that are not exploitative that are common and even dominate in the market. Ubisoft, DLC, or Candy Crush freemium models are not representative of the whole industry.

AAA games with one-time payments are still exploiting psychological inefficiencies; there is a reason why we are evolutionarily hard-wired to pay attention to fast-moving visual settings where action is required from us. For those who say "but I like to play video games" - yes, that's the point. Day traders like to speculate, and gamblers like to go to the casino. Your downside is capped with one-time payments, but a…

Unless you're selling me living in a cave foraging for nuts and berries, you're trying to exploit some psychological inefficiencies.

I do get what you're saying, but if you take it this far then literally everything sold is considered exploiting inefficacies, psychological or biological, and it's kind of a useless statement in the context of comparing markets, only useful as part of an overall critique of capitalism.

All I meant was the games industry gets a very bad rap for being dopamine driven skinner box design and it simply isn't true, and being in the industry for 15+ years I have met very few people who are comfortable exploiting psychological effects for gain. If I was in a different part of the industry I probably would have met a lot of people who ARE comfortable with that. It is there. But it is far from "running solely on" that attitude.

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

#313
post #103

Earlier quoted context omitted.

Just spent two years writing a medium size fresh c++ codebase in modern style with all the warnings turned to max and nearly every static analysis tool we could throw at it from day 1. It’s been an utter pleasure with no pain that can be blamed on c++ alone. It can be done :)

Most of the stereotypical pain of C++ lives in legacy codebases where they're passing raw pointers all over the place, doing horrible things with array indexes, and poorly re-implementing the standard library containers. If you start from a base of modern C++, embrace the standard library and newer, safer data structures, it's a pleasure!

> If you start from a base of modern C++, embrace the standard library and newer, safer data structures, it's a pleasure!

I write software in probably a dozen languages, including C++, and using the features/STL in C++17/C++20 in no way makes using C++ a "pleasure", it simply makes using C++ "less painful".

If I want to present information processing applications to users, it's C#/Java (or Kotlin, or Scala, or F#) with some Typescript front-end and likely some form of SQL simply because those are the tools that enable me to accomplish the job the fastest with the highest quality. If I need software to work in or with embedded systems then I grab C simply because it's the tool that enables me to accomplish the job the fastest with the highest quality. If I need some software to bridge those two worlds then I reach for C++ because it's the only tool that efficiently bridges the gap.

And C++ sucks, even with C++17/C++20/STL because I can't tell from the STL documentation which pieces manage memory for me and which I have to remove on my own and when this memory management (sometimes) magically occurs. I know what it is with C, because it's all malloc()/free(), and I know what it is with JVM/C#, because it's managed for me, but with C++ it's an incomprehensible mess. Don't even get me started on the half-assed implementation of lambdas vs. function pointers vs. std::function and which can be used where and where the const/reference operators have to go.

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

#314

Earlier quoted context omitted.

yeah im starting to get into the mindset of "fuck doing what you love, just get hobbies" Ultimately, working in these high paying jobs lets you have a lot of great hobbies and enjoy life. Get a job with a decent work-life balance, and use the rarity of your skillset to make the crazy cash, retire early, make your own game company if you want.

I think both ends of that spectrum are fine. If you really do mostly love your work, and you can afford necessities, then that is just as good as getting paid oodles to do a job you don't hate that gives you time and money to do exactly what you love. The traps are convincing yourself you love your job more than you actually do, or that you don't hate your golden handcuff job and the hours won't always be this crazy.…

And paying the opportunity costs. "Oh man I love working on this game, surely someone will recognize me" all the while putting major life things on hold, like having a kid, or securing your future.

I know a guy who LOVES his job/company and knows he's underpaid. But he's set. Has zero plans on having kids. Has his own place. 100% secure. So he can afford to do whatever. But many who have bigger goals in this economy have to follow the money.

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

#315

Earlier quoted context omitted.

> It was the fact that I would not be allowed to share my work internally. I would not even be allowed to brainstorm with people doing the same job in other areas of the business. This is what Apple does as well. So not all FAANGs are equal here.

My understanding is that Apple will let you collaborate after what you're working on is public. They just don't want people accidentally sharing unreleased stuff with people who aren't cleared to know about it.

Once something is released, there's general access given for that particular software/hw but it still needs to be requested. In a weird way, it creates some internal excitement on "secret" releases but obviously makes development much more difficult.

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

#316
post #308

Earlier quoted context omitted.

Netflix separated pay and performance. Your performance was evaluated all year, and if you weren't a top performer, you were let go. In the spring we would do 360 reviews, where anyone could write a review of anyone else, to give candid feedback (although giving candid feedback was encouraged all year, but this gave you a formal outlet to do it). In the fall, your pay was evaluated (and kicked in at the new year). Yo…

Did you use that 700K offer for increasing the salary at Netflix? I've heard about the culture of fear at Netflix - was this your experience as well? Who decides whether you are a top performer or not - only the manager, or the peers as well? Do they use stack ranking? How is the performance deduced, e.g. by nbr of commits? Thanks!

I took the offer to them and got a nice raise, but not to $700k. :) In part because the offers weren't comparable. Finance is usually a modest base and a huge bonus, Netflix is straight cash.

> I've heard about the culture of fear at Netflix - was this your experience as well?

At first yes. But you quickly realize that in most cases only the underperformers were let go. In cases where good performers were let go, it was usually by a bad manager, and then that manager would get let go and they would sometimes even offer the other person their job back (but they usually already had another one).

> Who decides whether you are a top performer or not - only the manager, or the peers as well?

You manager has final and single say on both hiring and firing. But they always ask for input from others as a matter of course.

> Do they use stack ranking?

Absolutely not. Stack ranking is the opposite of what Netflix believes. They operate on the assumption that if everyone were stacked ranked, everyone would be in top rank. Stack ranking is evil and a terrible way to run a company if you use it for determining compensation or firing.

> How is the performance deduced, e.g. by nbr of commits? Thanks!

Haha no, no metrics like that. It's much more holistic. Are you getting good work done, are you making a positive difference. Managers are pretty in tune with the work getting done. Most come from engineering backgrounds and at least understand the work being done by those that report to them. They also can see all the feedback in the annual feedback session. It becomes pretty obvious who is not performing.

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

#317
post #111

Earlier quoted context omitted.

Speaking as a professional C++ developer for the past 20 years, I think this sums it up well. A modern project should be able to use most of C++17 at least. Even if you still need to target some ancient garbage like Windows XP, you can use an MSVC toolchain that supports C++17. That's a good basis to work from. So your real concern is the moldy old code that's written for C++03, that's still not using std::unique_ptr…

do you have a good template (pun intended) on how to best learn modern c++? coming from Go and Typescript which have very mature devX tooling, c++ is a landmine to navigate. and that's when I already have professional experience with it (the place just didn't have strong c++ culture)

Modernes C++ & Scott Meyers' 'Effective Modern C++' are excellent.

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

#318

Earlier quoted context omitted.

Most of the stereotypical pain of C++ lives in legacy codebases where they're passing raw pointers all over the place, doing horrible things with array indexes, and poorly re-implementing the standard library containers. If you start from a base of modern C++, embrace the standard library and newer, safer data structures, it's a pleasure!

> If you start from a base of modern C++, embrace the standard library and newer, safer data structures, it's a pleasure! I write software in probably a dozen languages, including C++, and using the features/STL in C++17/C++20 in no way makes using C++ a "pleasure", it simply makes using C++ "less painful". If I want to present information processing applications to users, it's C#/Java (or Kotlin, or Scala, or F#) wi…

It sounds like you simply don't know RAII.

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

#320
post #247

Earlier quoted context omitted.

The entertainment industry is useful to keep people entertained, which is good for their overall well-being. I think you don't have to feel bad about your Netflix subscription. And the sustainable development goals are not only about helping kids in Africa.

Looking forward for explanation why HFT is useless in relation to entertainment to a such substantial degree that people should stop working there.

Simple.

List of benefits of high frequency treading:

.

Post reply on HN