Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

There's lots of C++ programmers out there. But they're bottled up in FAANG, I think. So you have to be able to compete with that.

Working at Google is on the whole a lot of C++. Major parts are moving to Go, certainly. But there's absolutely giant code-bases of pretty cleanly written C++ services, and most Googlers are quite proficient in it and there's whole teams at Google that work on improving C++ standards and techniques etc etc etc. Not to mention the Chromium codebase as well, which I also worked in. I get the impression this is also a thing at Facebook.

All of this to say: if you want C++ programmers, you need to pay competitive enough rates to pull them away from there.

(That said, if you're hiring for C++, I'm looking.. and I don't expect a Google salary, just a fair one. I'm not the most elite C++ programmer in the world, but I can write good code and understand your system...)



> 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 labor shortage that salary can't solve". It may take some time (as people get trained up) but employers complaining about talent pool issues but paying get little sympathy from me.

For example, from a link in the article, consider this job https://www.efinancialcareers.co.uk/jobs-UK-London-C_Develop...

150k pounds for a job in London that is a tech lead position seem low to me.


> The labor analogy for me is "there's no labor shortage that salary can't solve".

Perhaps not in SW, but there are plenty of labor shortages that salary can't solve. Some positions are simply not economically viable in certain markets - the pay required to get people to do them is more than a given business can afford. And I don't mean in the "cutting into the compensation of the business owner" type, but "not enough revenue to pay such salaries".

Try living in countries with very different economies (1st world, 3rd world, etc) and this becomes obvious. You'll see jobs in one country that simply cannot exist in another.


> labor shortages that salary can't solve. Some positions are simply not economically viable in certain markets

Your two sentences are opposite of each other? If someone can't afford to pay employees market rate, they need to rethink viability of the business not say that they can't find someone.


> If someone can't afford to pay employees market rate, they need to rethink viability of the business not say that they can't find someone.

Your statement is pretty much what I'm saying, with the added "in certain markets" clause. That a market can't support such jobs doesn't preclude it from being a labor shortage.

Think of it this way: A given business has a certain job that was economically viable, and they could find the labor to do it. Then over a few years the economy changes significantly (feds raise rates, cost of living changes, etc), and slowly that job no longer is viable in that market. The change will not be sudden, so there will be a period of a few years where businesses still find people to do the work, but the pool of such employees keeps shrinking before it hits zero. It's fair to call that a labor shortage in the transition period.


> It's fair to call that a labor shortage in the transition period.

I don't know about fair, but I find it misleading. When I hear "labor shortage", my intuition is that just having more people around (Advertise job offers better? Give more work permits?) would solve it, not that the market is such that this type of work doesn't make financial sense anymore.

"Labor shortage" sounds like some macroeconomic temporary situation to which businesses shouldn't need to adapt to beyond temporary measures, while what you're describing seems like a failure from a business to adapt to a new stable situation.


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.


While it's of course good by local UK standards, I still think sometimes London needs to recalibrate to pay closer to US norms. Cost of living in London is often just as bad as major US coastal cities. At my work, they recently introduced a London office paying eng roles in similar salary range, and lots of opportunities to move there with help provided for relocation fees. For many the interest evaporates when they see typical dev pay package and CoL in London.


>While it's of course good by local UK standards

understatement, £150k is outstanding, london or otherwise


That's fair, I was using 1:1, even though London is surprisingly cheaper than Denver, CO (according to the cost of living website I found).


London can be as expensive or cheap as you want it to be. I worked for a startup on 23k when I first started working and my now wife was an undergrad, we still had a studio in Central London (zone 1). On the other hand you can have a town house in Belgravia for prices similar to Atherton.


>~$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.


> The labor analogy for me is "there's no labor shortage that salary can't solve".

Assuming the labor you need is fungible.

For a sandwich shop, raising pay will probably solve a labor shortage. But even salaries of $10,000,000 a year won't produce more surgeons. It might inspire more people to get into the pipeline, but that's a 10-15 year lag.


It will solve the shortage by allocating labor to the most economically valuable uses.

If you can't find developers at the price you can afford to pay, then make do with fewer devs, raise your prices or go out of business. The market doesn't owe it to you to make your business model profitable.


There might be a 10 year lag creating more surgeons from scratch, but you'll have existing surgeons suddenly working for your company today.

Your 10-15 year lag assumes untrained workers. You'll have a stream of people transitioning from other medical professions or surgical specialisations to your $10mm job category, many of whom require much less than 10 years of additional training (1-2 years? on the job?).


UK salaries on the whole are shockingly poor. That's actually a really decent salary here. Devs can start anywhere from £20k to £35k depending on background/where in the country you are.


150k plus bonus. It's at a quant firm, so the bonus is likely to be ~50% of base salary if you do okay, and multiples of that if you do great.


Maybe, but C++ developers who haven't worked at hedge funds before wouldn't know it from this advert, and probably won't apply.


Perhaps. I note that position is being advertised by Oxford Knight, a high-touch recruitment firm. Their main modus operandi is to make contact with someone looking for a job, find out what they are looking for, and then suggest particular openings on their books to them; they would have plenty of opportunity to explain about the compensation. I think these public job listings are a bit of a cheap additional thing, and aren't that important to them.


As a C++ developer hoping to move back to London, this side of the market is still very opaque.


I would recommend joining with some recruiters from Durlston Partners. They are fairly upfront about the compensation on offer and for C++ in London it is significantly better than the numbers I've seen in this HN thread. For example, I've seen roles with base salaries of £250k and generally large (or even uncapped) bonuses on top of this...

For example: https://www.linkedin.com/posts/rahnpreet-sandhu-2b84a515a_co...


Amen to that!


Thanks, that's fair. I've never worked in the finance space, so didn't know that. TIL!


What are hours like at HFs and quant firms? I’ve heard they can be bad.


In my very limited experience (n = 1), hours per week is the same as anywhere else i've worked.

One quirk is that the trading day starts at seven in the morning, so at least one dev in the team has to be awake(-ish) and logged on to handle any technical issues. Before the pandemic, that meant being in the office, so an 05:45 alarm clock for me, but these days we do it from home. Another quirk is that trading winds down after six in the evening (exact time varies), and some releases have to wait until after that, so sometimes you've finished a piece of work but have to loiter to actually release it. Again, these days we can do that from home, so less of an impact, but still can be annoying.

Also, my team does its own out of hours support on a very unstructured basis, so you could get an alert in the middle of the night (but not weekends) you need to respond to, although this is rare (and is mostly in our hands to keep rare!).

I expect that better-organised teams have better ways with dealing with all this!


That's another load of BS spread by people not in the industry. They equate HFT's and quantitative hedge funds the same as investment banks. At most HFT's, mine included, devs are mostly doing 40-45 hours a week. Some places like Citadel, Headlands, the work hours are terrible (still not IB level bad), but the rest of the places it varies between 40-50.


What IBs have bad hours for devs? I worked in the markets team at a BB IB and did similar hours to you. I wasn't sitting with traders, to be fair.


160k puts you in the top 1% of UK earners. With bonus that job is comfortably in that bracket. UK salaries are no where near US levels.

Edit: my point is that a top 1% salary seems about right relatively for a tech lead position.


But sheiks and oligarchs are buying all the real estate, so the cost of living is pretty similar.


In central London perhaps. But it's by no means important to live actually in London and work in London. Commuter culture is (or at least was) big. Many people commute from the surrounding 100+ miles by train each morning and pocket those London salaries while living in low cost of living areas.


And some part of them slowly dies each morning when they have to wake up extra early just to waste time on train delays.

Commutes over 30 minutes extremely sucks, unless they are taken from your work day time.


if you live in the fucking shard, maybe. london is expensive but let's not exaggerate: a £150k earner is not worried about the cost of living.


Bigger demand for higher-level housing creates price pressure on all levels.


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, many moons ago, and one of the speakers was this wonderful woman that had recently moved to Adobe (a C++ shop).

She was supposed to speak about Swift, but ended up speaking about C++, and the wonderful, supportive community of older, experienced developers she found, around the language.

I loved it, but I'll bet a lot of the folks around me, were squirming.


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.


I liken C++ (and other "industrial" languages, like PHP), to "advanced" tools, like the specialty tools and brands, that only professional mechanics know, like OTC. You won't get them at Home Depot.

The language definitely has its niche, and I am glad to see it not being used for standard GUI programming, anymore.

But for that niche, there's nothing better, and it's a big niche.


What can PHP do that other less vilified languages can't? What is its "niche"?


Please, everyone is supposed to be slagging C++ (and me), here. I'm sure there will be rich opportunities to dis PHP, in other threads.


You are right, my apologies. It was just so surprising a mention I couldn't stop myself.


My experience from 1990 was it was the perfect language to add a bit of server-side logic to some raw HTML.

So the niche (for me) was a nice transition from something I understood (HTML) to something new (dynamic webpages).

In that way it is similar to batch files / bash scripts.


If only unique_ptr makes the whole experience so much better


There are only two types of C++ shops: the ones that use a rigorously-enforced subset of it, and the ones where the codebase is an impenetrable hornet's nest. You must decide on a subset of C++ to use or you'll go insane. Google made some opinionated choices and tradeoffs about which subset to use (as did Microsoft and every other company with a huge C++ codebase), and it's possible to disagree with the specific boundaries they chose, but the mere fact that they chose to do this is unimpeachable.


C+- is pretty common. I last read the Google C++ guidelines maybe ten years ago. They were pretty much in line with the decisions that other large C++ projects I've worked on had made, like we all encountered the same footguns and language misfeatures.

Every 5-10 years there's a big shakeup and the C++ culture changes, but it takes a long time for things to filter down into the embedded world (for instance).


Perhaps in the past, but they aren't too terribly far behind C++20 and a bunch of stuff that has been added to the language over time (like stringviews) was made available much earlier via library support. I don't think I've ever heard this "C+-" joke at Google despite working in C++ here for a very long time.


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.


Yeah. If anything the Chromium codebase is bloated with uncomfortably intricate OO patterns. Google3, less so, but that's because that kind of server-stuff doesn't lend itself to the same kind of thing, maybe.

I like the Google style guide overall. I tend to use it on new projects even though I'm not there anymore, and when I get into other people's code often my first instinct is to "clean it up" into that style :-)


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

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

Have a great day!


It is true that the adoption C++11 was later than ideal. Since then, the C++ build and library maintainers have made a priority of not letting that happen again and have done a really really good job (IMO).


Maybe more like C++ without (most) pointers. A coupe of years ago they allowed mutable references in function arguments, so the use cases for passing pointers around were reduced even further.


That's it. Not "without objects," but without pointers. One of the things (back then) that made C++ so powerful, was direct memory access.

However, I really like style guides.

Except the Taligent one: https://root.cern.ch/TaligentDocs/TaligentOnline/DocumentRoo...


"Don't use pointers" was definitely never in the style guide.


Well ... like I said, it was a long time ago (I don't know if Google had even made their first hundred billion, yet). I suffer from CRS. You know how us old "boomers" are...

Not interested in fighting about it. I'm sure that I'm wrong. Being right buys me absolutely nothing. It's not my wheelhouse.


"From what I understand, Google is really about a crippled subset of C++, that people jokingly call "C+-"."

Chrome is pretty good at using modern C++ FWIW.


MSFT was the same (at least the corner of it that I knew). We called it "C, with classes".

I never apply to C++ jobs despite those 6 years of experience because I think my knowledge there is stuck in 1999 and I have no idea about the STL.


Learning the language fundamentals robustly is the hard part, and everyone has incomplete knowledge. The C++ standard library is easy to learn for someone in your position. If you want to, start with something like iterator pairs and few trial problems, it will feel just like pointer arithmetic then the standard algorithms will be easy.

I have tried to focus on C++ during my career and I still haven't even touched ranges or needed about half the std algorithms.


Ranges are a little frustrating, they aren't uniformly implemented across the commonly used compilers.


It's hardly "crippled". I find myself quite productive writing C++ at Google.

Take a look at the style guide yourself. I think it's pragmatic.

https://google.github.io/styleguide/cppguide.html


Ah! "C+-" is what i called Golang when i first tried it around 2014-2015. I guess i can see where some ideas came from.

(Still a very good language if you know what to do with it)


Did they upload the recording to YouTube? I would like to listen to her.


It was try!Swift New York, back in 2017, or so. I don't think they published vids, but maybe. I'll have to go look at my badge, to see which one it is.

https://www.tryswift.co

[UPDATE] It was 2019. They have videos, but hers (and a few others) aren't there.

[UPDATE 2] Found it. It isn't linked from the main site, but is on the YouTube playlist: https://www.youtube.com/watch?v=CZOVnlwWPZk

It's a really good talk. I like her attitude.

This is her: https://www.savinola.com


Thanks. I watched it.

That was a lovely talk and changed my perspective on C++. My impression was that C++ is a ancient language with lots of footgun.

The talk reminds me of its value. C++ is still evolving. Improvements are introduced slower compared to other languages, but still, C++ is making progress and many found it pleasant to work with. It just need more time.


> But they're bottled up in FAANG, I think.

Quite a few of them are locked up by AAA games studios, at least the ones that I personally know.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: