The title itself is a recipe for disaster. Also this is a semi rant.
Yesterday I was informed that I will have the honour to implement the core functionality - which is an interface layer to use the driver of a very expensive hardware shit - of the software I’ve been working on as a frontend dev.
There are two possibilities for the language: C++ or C#. The one that was proposed/imposed is C#, which I know nothing of, while at least I have some hobbyist experience with C++; when asked if I could take some time to familiarise myself with C# I was basically laughed in the face, saying I will learn on the field and at least some of them have some experience with it.
Should I insist to go with C++, or is that an even worse idea in an already fucked up situation?
I’ve had a few years experience in both C++ and C#. The learning curve is a lot steeper for C++ with many more opportunities to shoot yourself in the foot or create horrible hidden memory leaks. It sounds like the person making the recommendation is talking out of their arse.
If you have any experience in Java or any OO language, then the transition to C# is not so large. The language itself is not difficult - it will probably a couple of weeks to be comfortable. Its the frameworks and libraries that takes time, and there are a lot.
Here’s my view… it takes 10 or more years (IMHO) for a sharp person to become a senior developer. It takes a few weeks to learn a language. If I have to choose for a big project, I prefer to focus on choosing the right person, rather than just focusing on the language, because a good senior will just learn whatever they need at the start. They will also bring their years of experience in good design, methodologies, communication, mentoring, testing etc to the party.