I only have anecdotal evidence to back this up but I do have plenty of anecdotal evidence. I’ve worked across enough platforms and technology stacks to conclude that stacks are irrelevant. Here’s some of the anecdotal evidence.
My first job out of grad school was a company that used windows and microsoft tools. Everything was .net, sql server, hyper-v, visual studio, powershell, team foundation server, etc. The only people that deviated from the stack were the folks working on embedded software. They used a real-time operating system as their platform so their tools were designed around working with that operating system. There might have been a bit of linux and gcc in their toolchain but none of it was inherent to the problem they were solving. I started that job with 0 windows experience and in about 3 months I had put a dent in the development workflow by reducing the cycle time from days to hours. After automating enough of my work I started tackling bigger problems and wrote something that tracked down a bug that had been in production for almost 4 years.
What is the point of this story? The point is I had no experience with the windows stack and I was up to speed in less than 3 months. In case this sounds like bragging it shouldn’t. My experience isn’t special and my favorite quote about how non-special people are is from Feynman
“Right. I don’t believe in the idea that there are a few peculiar people capable of understanding math, and the rest of the world is normal. Math is a human discovery, and it’s no more complicated than humans can understand. I had a calculus book once that said, ‘What one fool can do, another can.’ What we’ve been able to work out about nature may look abstract and threatening to someone who hasn’t studied it, but it was fools who did it, and in the next generation, all the fools will understand it. There’s a tendency to pomposity in all this, to make it deep and profound.”
– Richard Feynman, Omni 1979
As programmers we tend to inflate our own choices in technology as if there was something special in them when the reality is that “fools” made the stack and “fools” work with the stack. That’s actually the magic of technology, it’s accessible.
That experience at my first job has been consistently repeated at every other job I’ve been at. I’ve started with almost no knowledge about the stack and been up to speed in less than 3 months or so. This is why I always tell people to pick up technology and language agnostic problem solving skills because those are the only skills transferable across stacks. Whatever you can do with one stack you can do with another stack and there is no magic that the stack can provide other than what you personally bring to it.