I highly recommend you read this classic post from Patrick McKenzie: https://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-pr...
> You are not defined by your chosen software stack: I recently asked via Twitter what young engineers wanted to know about careers. Many asked how to know what programming language or stack to study. It doesn’t matter. There you go.
This is especially true now, since coding agents make it possible to work with any stack.
Unfortunately, in the real world, if you try go for a c# job with java experience you'll run into roadblocks.
While this is true that the stack and domain does not matter for any capable software engineer, most jobs are for hiring particular narrow specialists, requiring the years of experience in a particular framework, and even experience working on an exact same product but in a different company.
I dunno I find it almost more important than ever to have deep domain experience. You need to be able to scan output and spot any problems/improvements instantly. If I am just auditing AI output around an area I don’t have mastery of I am basically useless.
A stack is still not a domain. You could have domain expertise in building highly scaled distributed systems and still not call yourself a ____ programmer. The point is that your value lies more in knowing how to build for performance, consistency, reliability at scale and not in knowing where the semicolon goes.
I dunno even isolated to language specific aspects someone with no experience could hang themeselves. I use a ton of Go & Javascript, if you take a fundamental part of both languages, async operations and compare them they have radically different approaches. Even if I was skilled at distributed systems with deep JS knowledge I would lack the skills to audit Go code effectively. goroutines and channels require a bit different mental model than promises and callbacks. You could easily let the AI architect a mess that works.
That is why I would be hesitant to review complex Rust or some other code I have no experience in, sure the language has ways to handle things like async, garbage collection, etc. but I would just be assuming the AI is doing it right or even worse trying to steer it to handle it in a Javascript or Go manner.