Ask HN: Can I get a C++ job with a lot of C# experience?

10 points by londondev45 ↗ HN
I have around 9 yrs experience as a C# developer, I'd really like to try something new and learn C++, ideally in a C++ environment. C# is great but the lower level stuff is starting to attract me.

Does anyone have any experience in crossing technology / language without commercial experience?

15 comments

[ 1.8 ms ] story [ 48.7 ms ] thread
I learn languages best side-by-side. My basis for programming is Visual Basic, PHP, and JavaScript. A little Python in the mix too, but I can get an idea of how a programming language works by seeing what they look like side by side. They are all pretty much the same, with different syntax, and if you know one, you can pretty much grasp them all.

Of course I do stick to my preferences, but seeing how they compare is interesting.

Anyways, try Rosetta code: https://rosetta.alhur.es/

I'm pretty sure with a little training, it will just click for you.

Do companies hire people without experience in a specific language?
It all depends on the hiring manager and if the company is willing to take a chance on you. For example, I got hired by a guy looking for a programmer to work on and fix bugs in his autobody shop software.

I had absolutely no professional experience, but I had taught myself Visual Basic. He took a chance on me, took 3 months to train me, and everything worked out for a while. Although I have moved on and gained a lot of experience since then, it was at his sole discretion to take that chance on me.

I would think if you have some knowledge in something, they could take a few months to get you up to speed. Most companies don't hire you expecting you to know everything immediately. So some training, and if after than, you just "don't get it", than they know they made a mistake. But if you spend a month or two in training... it is likely they will get you up to speed and you will get it.

Why is Rosetta telling me that Go and C++ are probably fake?
Must be something wrong with their server.
I recruited a lot of C++ devs as a hiring manager in London between 1997 and 2010. I never hired a candidate without at least two years real day to day experience in a real commercial environment, shipping real code. The C++ learning curve is much steeper than C#, Java, Python simply because of pointers, memory management, and the greater complexity of compiling and linking. Back in the mid 90s C++ was a mainstream language. But the rise of C#, Java & Python means that C++ has rightly been abandoned for generic enterprise development, and is now only used where performance and low level integration requirements make it necessary: HFT, gaming, embedded, OS dev. Technical standards are high in those areas. There is another area where C++ is still used that may give you an "in": legacy systems. There are still a lot of old mid 90s Windows C++ MFC systems out there, and their owners often find that work hard to resource as it's so unglamorous. So I suggest trawling jobserve.com and indeed.co.uk for "C++ MFC C#", then sell yourself as a C#er keen to learn C++. Good luck!
That's excellent advice! With so much experience, do you think I would be crazy attempting to move. Perhaps I should look into a newer low level language.

I notice there's a lot of finance work in C++. Do you expect this trend to continue?

You're welcome. C++ will continue to be strong in finance for low latency high vol stuff like HFT. Also for quant numerical stuff. If you've got a maths or physics degree that's the way to go. New lang? Wish I had time to learn Rust...
There's a lot of C++ code in the Crypto currency space on Github.

You could try getting some pull requests going to gain some experience.

You'll be able to figure out if it's a direction you really want to head in.

https://github.com/bitcoin/bitcoin/pulls

C++ is the ultimate tech interview stump the chump quiz show language, it's huge old and has lots of gotchas. You say you want to learn, no ones going to hire you to teach you, I'd expect you to have significant side project experience with it, and you'd have to a e the tech interview for me to take a chance on you. There are lots of mediocre c++ devs no one wants another.
Wise words Mark. I'm going to carry on learning. I think it makes me a better developer in general, and I like the complexity and history.
Can you precisely define what do you mean by "lower level stuff"?
Memory management, a closer connection to the compiler, ability to write embedded apps.
Somewhat an opposite here: experienced C++ engineer interested in taking React Native projects/jobs... :)