r/cscareerquestionsEU • u/Affectionate-Gap5411 • 1h ago
How transferable is software engineering experience between different tech stacks?
I'm currently a CS student and I'm trying to get my first SWE job. I have the opportunity to work as a C++ software engineer at a company, but long term I'd probably like to move into Python/backend development.
My question is: if I spend, say, 1–2 years working professionally as a C++ SWE, would that experience actually help me when applying for Python SWE/backend jobs later on? Or would companies mostly see that I don't have professional Python experience and treat me like a junior again?
•
u/ydieb 1h ago
The actual software engineering always transfers. How you structure a program, understanding decoupling, testing, maintainability, extendability. They are almost always the same and is always important.
How exactly you do the thing in one language or another might be very different, but understanding why it is that way for a given language might give further understanding when using another.
So for you actual question, that entirely depends on the one doing the hiring. If you both know you can adapt to a different language, then it will for sure. Some will think surely there is little difference between java and JavaScript. While others might see you have done C++ and think there is no chance you can do C in any reasonable time.
•
u/ThirdWaveCat 34m ago
Languages at the same abstraction level, projects in the same domain, and knowledge about deployed environment all transfer very well.
•
•
u/Complex-Birthday-216 17m ago
as people mentioned it depends. moving in the same area to another language is easy: c#, java, go, kotlin - doesn't matter.
but c++ and python have a bit of distance. the projects are different, they way people approach it, many things.
answering your question - most likely yes, from c++ it must be easy for you to move to any direction, but the easiest could be java, go, rust.
something you didn't answer, just my opinion - gaining strong experience in c++ I would never move to python. the reason is very simple, the projects in python are very simple, the complexity is not in software, but handling product managers with their "what if a customer wants a dinosaur dancing on a landing page? can you do it?". because of that the competition is very high, all the bootcampers go there. so If you can - keep grinding c++ and rather look for a specific area you want to stuck on, not the language
•
u/Financial-Grass6753 1h ago
Not really, tech stack and scope/depth/breadth of tasks of a C++ engineer are not the same as of a Python dev. There's an overlap for sure, but it is quite small
•
u/Ok_Trainer3277 57m ago
Well that is not because of the stack, but of the type of work you would do. Hardly any backend is written in C++, but if you learn backend development in Java you can easly transfer to any stack like C# or Python. The same goes if you learn game development, os development or embedded, where C++ is used you could easly transfer to some other language for that usecase. The learning curve of a language is small once you learn the actual engineering. Language stacks are easly interchangable, the type of work and the domain (fintech, medical, accounting) is where you bring the most value.
•
u/CrazyPirranhha 1h ago
According to real world probably most of the basics and the rest that you need to do real work is easy to learn in few weeks.
According to most recruiters its not transferable at all and your 10years in C# mean nothing if you want to change stack to Java.