I don’t think there’s such people.
Either you’re writing a software for the first time and so the premise is not true. Or you’re writing it a second time and what would be the point? Just reuse the code you already have.
Personally, I love "philosophy of software" questions like these, especially in the AI era. I write quite a bit about this on Medium:
The technical aspect can be learned although you can stop at the top of the abstraction tower (the programming language and its ecosystem). The domain aspect encompasses the whole world pretty much. Contributing to Blender does not qualify you to review a Krita patch. You have to learn the latter’s code first.
[0] https://medium.com/gitconnected/you-are-bugs-improving-your-...