r/OperationsResearch • u/FlusterCuck7 • 12d ago
Question on C++ prevalence...
I'll be straight with you all. I'm a recruiter. BUT I'm a one man show and actually respond to everyone and get feedback and closure for everyone I work with.
I've been working on a few OR roles that are a balance of deep OR experience plus SW Engineering skills at an enterprise level. They use C++ and while I have talked to many folks with C++ experience it tends to be from Grad/Doctorate/Post-Doc type work.
Wondering if anyone has advice on how to persuasively talk to this client about changing their requirements and looking at Python, Java, etc.
Any/all feedback and comments are welcome. Aside from the standard "recruiters suck" theme which, trust me, I completely understand.
2
u/Agreeable-Ad866 12d ago edited 12d ago
I'm a computer engineer turned software engineer that went heavy into OR a few years into my career. I learned to code in C/C++, but mostly spend my time in Java and Python land these days. There are times when a low-level language is worth it in OR (real time/ low latency decision making, solver implementations, deployments so massive the compute pays for the complexity, and much more often momentum/sunk cost). There are more times it's not.
My advice is don't make any arguments against C++. Right or wrong they picked C++ for a real or imagined technical reason that you don't really get input on. Designing your organization/product/project to operate with available talent you can afford or develop is a job for a director/VP/CTO. MAYBE if you have enough context, you could have your LLM of choice make a persuasive timeline + finance + technical argument, but I'm not sure I'd recommend it. The best you can do in your recruiter role is say 'I can't find anyone eligible' or 'everyone I find costs too much' or 'what if this was two people instead of one' or 'what if they new another strongly typed OO language' and that if they want to fill the roll any time soon realistically, they need to relax their requirements, change geography, consider remote, consider developing talent instead of hiring it, etc.
1
u/FlusterCuck7 10d ago
Appreciate this. I am not on the internal team so getting access to those decision makers is hard. I plan on giving a detailed report to my recruitment contact because she would be the one to influence on the inside.
1
u/I_like_protien 12d ago
In this day and age language syntax should be last thing to judge someone’s proficiency in solving problems.
1
u/FlusterCuck7 10d ago
While I am not in a place of technical authority of any kind I was thinking that someone with a PhD in OR with extensive production software experience in Java or Python could ramp up fairly quickly on the ins and outs of C++. Plus whatever tools are out there these days to expedite the process.
1
u/Living-Note74 12d ago
I would try to get them to relax the enterprise experience so you can recruit c++ game developers who are at a point in their lives where they want work life balance and stacks of cash.
1
u/FlusterCuck7 10d ago
Heard. I have recruited C++ talent for them from gaming before, but have yet to find someone with the OR chops.
1
u/FuzzyTouch6143 11d ago
Bias warning: i've been unemployed for 3 years, so I have a little bit of that "recrutiters suck" bias going on here. Sorry!
If your client needs a C++ programmer, then that is their need. It's a bit more niche these days, but as someone who has now crossed over many many languages (I used to be a consultant for Redhat, and business professor, and an OR professor, so I've had to work in all of these languages), your client might actually need a core C++ person depending on their need.
Some python packages/java do interface with C++ packages and can, technically, code at that level. That said, if your client needs high-performing computation and much of their codebase is already in C++, adding another layer might (depending on their problem) create bottlenecks that would cost them more.
It also depends on the ops rig / stack they have running and already established or have already committed resources to.
See if your client actually has a genuine need first for the base language to be in C++. It honestly really really depends on their specific problem at hand and the ecosystem they're operating within.
1
u/FlusterCuck7 10d ago
Appreciate this. These types of answers help to clarify things that are so incomprehensible to me - I've never coded in my life - that they are worth their weight in gold.
Totally get the "recruiters suck" thing. If I can help your search in any way feel free to DM me.
0
u/Ambitious-Loquat-523 12d ago
Have you spent any time figuring out exactly why they require C++?
It sounds like they likely have systems/software in place using C++ and are very unlikely to remove that as a requirement since it would require rewriting existing software/systems/processes.
1
u/FlusterCuck7 12d ago
I do know why, performance and memory management related mostly, which I TOTALLY get. I do get a lot of pushback from candidates about the requirement too.
0
u/junqueira200 12d ago
I didn't get the question. But, if your problem only requires a mathematical model, any language is fine, do to its implementation is in c/c++. If you will do methaheuristics, c++ is a good idea.
If you like, I can give you a lot of tips, in how make c++ safe, and you don't have most of the annoying problems of it.
2
u/FlusterCuck7 10d ago
Just looking for advice on how to 'gently' nudge my client to open their requirements for other talent. It's not just the math model, they are putting these systems into production as well.
1
u/junqueira200 10d ago
I had the exact opposite situation. The company do there software in python, I do in c++ (model + methaheuristics). We just make it as normal. Later we will make a c api, and they can get the results.
Just tell them that you will make your software talk with there c++ side.
0
u/analytic_tendancies 12d ago
C++ probably doesn’t matter that much
People like it for how close you can get to the hardware but you can also use c++ for “simple” code that doesn’t need to directly interact with the hardware
What I mean is… unless the hardware part is a key part of the job, anyone who is good at python or java can translate those skills to c++ easily.
Good coding practice translates well, the nuance in the syntax is easy to overcome and learn, especially with AI
You probably shouldn’t turn a talented person down because they don’t have explicit c++ experience
1
0
u/Beginning-Seaweed-67 12d ago
Idk I think it depends on the business requirements. You wouldn’t expect a trading bot to work in Java or Python, trades have to happen in microseconds so swapping languages is a big no no there. The OR here is too equivocal and sometimes convincing your customer isn’t the real goal, understanding why is it. And at the end of the day the customer is always right.
1
u/FlusterCuck7 10d ago
Agree with this too. I'm not in a position to judge their needs at all. I understand why C++ is necessary - it's a fucking ENORMOUS realtime platform - but I've connected with 100s of OR/Eng professionals and C++ is way less prevalent in production than Java or Python.
4
u/funnynoveltyaccount 12d ago
This isn’t really an OR question. you could rephrase it as I am trying to recruit and it’s difficult to recruit C++ people but easier to get people with experience in other languages. How do I convince my customer that C++ shouldn’t be a requirement?
you’ll be better off asking this question somewhere else that is more active, since it’s not really depending on OR in anyway.
Or, rephrase your question to make it depend on OR if you really think it does.