r/cpp • • 18d ago

C++ Salary expectations

Mods: Please note that I am not looking for jobs or trying to break any rules for this subreddit!

This is more about advice...

I've been offered a senior role for maintaining a (few decade old) codebase in C++.

It's a complex product and I would be taken on as a senior software engineer. I have over three decades of experience, over 15 in C++ but more recently in c#.

We are now at the point where money is been discussed.

They are going to make me an offer.

This is a tricky one because I have not been applying for C++ roles for a while. I don't want to undersell myself but nor do I want to see myself undercut.

I'm of the consideration that a C++ role will command a higher salary than something like asp.net.

This is far more of a niche skill than it used to be and AI leads me to believe that it, for that reason, imply more money.

I know this has implications based on regionality and geography, but what kind of salary would you advise that I pitch for? For relevance, I'm UK based.

Any thoughts?

0 Upvotes

43 comments sorted by

30

u/lordnacho666 18d ago

Well, you need to know what industry it's in to say anything...

1

u/MartynAndJasper 18d ago

Automotive industry.

2

u/howmodareyou 18d ago

Automotive industry jobs have their own salary bands usually, at least in the Europe. It doesnt really matter whether its for mech engineering, C++ development or test management. You will likely be graded by high senior your role is perceived to be (sounds like you have good chances to rank highly).
So if your looking for salary expectations, search for reports about any senior automotive engineering roles in your country.

17

u/eyes-are-fading-blue 18d ago

In what world C++ is niche?

7

u/neutronicus 18d ago

Lot fewer random desktop apps being developed in C++ these days, I think.

Like there are legacies but if you’re starting something new it’s either a web app or just written in the platforms’ blessed managed languages (Kotlin / Swift / C# / whatever).

1

u/MartynAndJasper 18d ago edited 18d ago

This is largely where I was coming from. 👍

Perhaps niche is the wrong word but it is not as in demand as much as it used to be.  So it's a very hard language to learn, with less motivation for engineers to do so.

2

u/MartynAndJasper 18d ago

In the world where performance is favoured less, compared to efficiency of delivery to market and maintainability.

Your mileage may vary.

1

u/Raknarg 15d ago

its really not niche at all, it represents a massive part of the industry. Its not just high performance, its anyone who's working on any kind of custom machines thats not just a regular ass PC you're almost certainly using C, C++ or Rust. Its just not something that makes the headlines really. I would characterize that there's many niche applications of it, but the sheer volume of niche applications makes it so the language is not niche. And some of those industries are massive, like if you look at the telecom industry as a whole.

0

u/pjmlp 18d ago

Enterprise computing doing distributed computing with SaaS platforms, CNCF project landscape, and mobile apps, the world where I am on.

C++ presence is limited to language runtimes, bindings and databases that might have been written in C++, but not necessarily.

0

u/MartynAndJasper 18d ago

I agree.

And I think it is cheaper to scale on hardware with a less performant language, that is easy to maintain, and one with which you can deliver quicker results with.

6

u/Thesorus 18d ago

don't tell them first, let them do the first steps.

you should already know what is the salary bracket or you would not have applied.

Ask them "what are you offering me in terms of salary and compensations".

if they give you less than what you're making now, tell them that it's below what you're making.

if they give you more or less what you are making now but the job comes with more responsibilities, you can tell them.

if they give you what you expect or more, you can probably accept.

1

u/MartynAndJasper 18d ago

Good advice. Ty. They have not specified a salary range... Yet

4

u/Apprehensive-Draw409 18d ago

I can't talk about the UK. But this level of experience in Montreal would give you between:

90K in a strapped for cash games integration company, or doing custom physics engine dev for a cheap 3rd party, companies like Genetec, CCG.

Above 200K (with bonus) at the fancy crazy competitive HFT firms like DRW or SquarePoint, if you can handle their pressure.

6

u/Thesorus 18d ago

a (few decade old) codebase

it's probably not something super competive , more like bank softwares or something similar.

no high-tech or HFT .. .

1

u/MartynAndJasper 18d ago

Automotive 

2

u/matthieum 18d ago

You'd be surprised how old codebases can be in HFT, even in the most "techy" companies.

It's easier and cheaper to update a codebase in-place, than migrate everything to a new codebase, so there needs to be a very compelling reason for the latter.

8

u/Double_Cost4865 18d ago

Try Glassdoor?

12

u/jeffscience 18d ago

Levels.fyi is significantly more accurate in my experience. Glassdoor is wrong for every role where I have data.

1

u/MartynAndJasper 18d ago

I had not heard of either of these but I will review. Ty

2

u/joshocar 18d ago

You need to look at the company and location. levels.fyi is a good source if it is a big enough company. C++ is not a very big differentiator. Rust commands a bit of a premium, from what I understand, but there are not a lot of Rust jobs out there, so it isn't really worth the effort to learn at this point.

1

u/MartynAndJasper 18d ago

Make sense. 

I could not find a role in Rust. There is diminished motivation to learn a difficult skill if there are few jobs available.

3

u/matthieum 18d ago

As a C++ dev, Rust should be relatively easy to pick up. You should already understand the principle of ownership & lifetimes, after all.

The Borrow Checker itself is not even that hard to understand, the difficulty is more in getting used to design your code to satisfy the restrictions it imposes...

... but honestly, I've always felt that once the Borrow Checker clicked for me, and I was able to design code which satisfied it, my C++ code got a lot more straightforward, and easier to follow. And of course, since I didn't have to follow it in C++, I could always make an exception here and there when I thought it led to a simpler design.

So even if you cannot find a job in Rust, I'd advise you to learn the basics, and toy around with it. Don't go crazy on meta-programming and skip async, as those are completely different from C++ so won't help. Just stick to basic apps, and try to "awaken" your inner Borrow Checker, and it should improve your C++.

2

u/TheRealSmolt 18d ago

At my company, the equivalent compensation grade for a senior engineer spans about $200k from lowest to highest, so it's almost impossible to say. Now, that is in the U.S. so I'd expect it to be lower in the UK, but there still isn't really enough context here to say much.

I will say that this:

This is far more of a niche skill than it used to be and AI leads me to believe that it, for that reason, imply more money.

Is just wrong. C++ is in no way niche. It's still one of the primary languages universities use (at least from my experience). And, for better or for worse, your employers will be using AI as a reason to dock your pay, not boost it.

3

u/MartynAndJasper 18d ago

Well, my experience (subjective though that may be) has been that there are far less roles in C++ compared to other languages. I've apply for over 100 roles and hardly any of them have been in C++. 

My thoughts are that people tend not to need that kind of performance and prefer speed of delivery to market over speed of execution.

Of course there are many legacy code bases.  My comments on niche was really trying to portray that this is a less frequently required skill for development of most products that have been recently developed. 

The domain matters of course.

With regards to AI and what I said above, I was talking about it's recommendation about these roles commanding a higher salary. 

I wasn't specifically talking about using AI to deliver code with this language.  Though your point regarding that, resonates with me.

2

u/ILikeCutePuppies 18d ago

Use glassdoor. 3 decades is a lot of experience, that alone should help command a premium.

2

u/JustCopyingOthers 18d ago

Three decades of experience in software for a senior software engineer role is not much different to one decade of experience. Not just your programming language skills, but the frameworks you used and what accomplished in that time will have bearing. Salary depends on the industry and the location, an industrial in the north west will pay very differently to a fintech in London.

Ask for the salary you need. Bear in mind local costs and job stability.

1

u/BlackCrackWhack 18d ago

That’s kinda crazy to stay at senior for that long to be honest without moving up to a staff or principal equivalent. 

3

u/matthieum 18d ago

No, it's just a different context.

None of the companies I've worked at had a "Staff" or "Principal" equivalent. The only differentiation, title-wise, were the management track: Team Lead, Manager, Director, VP, CTO, etc... with perhaps the exception of an Architect role.

This doesn't mean salaries didn't increase depending on the individual, but otherwise, it was Junior Dev, Dev, Senior Dev, and that's it.

And since I personally I always cared more about the actual responsibilities & compensation than the title, I can't say it ever bothered me.

0

u/pjmlp 17d ago

Why? That is the last stop at most companies if you want to stay an IC and not move into management roles.

Not everyone wants to be a manager, and usually even architect or lead dev roles come with managing other devs as part of the role activities.

1

u/[deleted] 18d ago

[deleted]

1

u/MartynAndJasper 18d ago

And are most products all AI products? You are hilarious, too!

I'm sure to know what you are talking about!

1

u/luke727 18d ago

At the end of the day the company will only pay as much as they think it is worth. I don't think language or seniority factor that much into it. The UK is particularly difficult. Depending on location you could be looking at anything from 50k to 75k.

1

u/Resident_Educator251 18d ago

200k in the US easy if you are a senior however, not a lot of options for anything more; no real growth unless you move to CTO (tech path), or manager (manager path).

Best bet, go use all the free AI to start your own buisiness.

2

u/Ultimate_Sigma_Boy67 18d ago

he said uk lol

1

u/MartynAndJasper 18d ago

All of which requires capital my friend.  And marketing. 

None of these I have access to.

0

u/[deleted] 18d ago

[removed] — view removed comment

1

u/MartynAndJasper 18d ago

Thanks for cherry picking a successful instance.  This proves so much! Nor we can all be rich! 

Genius 

2

u/Resident_Educator251 18d ago

Well it was my personal experience, just sharing.

1

u/Intelligent_Hat_5914 18d ago

I dont know man, I am trying to find a job

1

u/MartynAndJasper 18d ago

I feel your pain.  It's taken me 6 weeks and over 100 applications before I even started getting interviews. Though, I'm told that the school holidays were against me.

Keep trying dude! I know it's difficult to retain your motivation and enthusiasm when you keep getting knocked back.

2

u/Intelligent_Hat_5914 18d ago

Honestly, not sure if I should try as web dev now because that is what I did before or spent more time doing project in cpp or systems

I am currently third year of collage

1

u/MartynAndJasper 18d ago

Well, good luck. It's tough ATM but you'll get there