Senior dev: We’re building a sandwich. It needs a roasted tomato, thin sliced, X mm in thickness. Add some bacon. I want mayonnaise but it needs to be feature gated.
I noticed that. If I don't write the code myself I only develop a very shallow mental model of what's doing. But I guess that always has been the product managers perspective.
I don't think you need to write the code to develop a deep mental model of what's going on, but you do need to think about it a lot and intensely to develop that model and coding forces you to slow down, spend a lot of time thinking about the problem, and generally trying out different ways of looking at it.
Coding in this way is like having a personal Socrates to help walk you through the problem and achieve enlightenment.
Junior dev: Make me a sandwich.
Senior dev: We’re building a sandwich. It needs a roasted tomato, thin sliced, X mm in thickness. Add some bacon. I want mayonnaise but it needs to be feature gated.
One sandwich later. . .
Senior dev: where’s my bread man?
Coding in this way is like having a personal Socrates to help walk you through the problem and achieve enlightenment.