Moving Between Tech Stacks
How difficult is it?
When it comes to software engineering roles, experience in the tech stack you’re going to be working in is valuable but not specifically required. A good engineer can ramp up and learn new stacks. However, someone experienced in the tech stack can contribute quickly to key development initiatives, while also bringing outside experience using the stack.
But which tech stacks are easier to move between, and which ones are the hardest? In my experience, when I’ve transitioned from one stack to another, it took a little while to get my footing. But if you already have experience, you can share that experience to up-level the team.
Additionally, some shops roll their own software and only use native libraries, while others use a lot of third-party libraries and open-source software (OSS). Moving from a closed-source shop using .NET to an OOS shop using Java (think Java Spring Boot) might actually be really difficult if you’ve never seen that paradigm.
Add in type hints in Python, or TypeScript in JS, and you have another ball of wax.
So, which tech stacks are easiest to move between? I like to think that the more OSS-friendly, weakly-typed languages are easier to move between. If you get any good at one of these stacks, you typically have to learn a bunch of other concepts (how OSS works, SemVer, modules, duck-typing, etc.).
However, it really depends on your company’s mentorship abilities and your ability to be patient as their manager. I think it’s hardest to make the migration from a closed-source shop that uses a strongly-typed language to almost anything else. For example, if you’re used to working at a bank or for the government on a .NET platform where you’re only allowed to use the baked-in MS libraries, then moving to a startup using Python and Django and 100+ other OSS modules might be very challenging.
What they’re doing in the stack might impact how quickly they ramp up as well. For example, a person coming from a web dev background in Ruby might find moving to web dev in Python/JS pretty easy. A data engineer moving from Python to Python web dev might really struggle outside of the language