I think this is a really important idea. Good problem solvers, in general, are people who are prepared to go in and poke around, to see what happens when you disable this or add that.
The only way I've found to make juniors develop that instinct is to make them do it until it comes naturally--to continually demand they verify their assumptions, test out theories while debugging. If you don't practice being comfortable with the unfamiliar, you lose the knack.
It's fine, of course, to lose the knack to AI, as long as you'll never need to solve a problem the AI can't (or can't access). I don't think that's a good assumption for everyone to make.
Good problem solvers, in general, are people who are prepared to go in and poke around, to see what happens when you disable this or add that.
you have to do all this when dealing with AI too. The syntax is a conversation vs a strict grammar but you still have to do all the exploration, verification, and evaluation you always had to do as a developer. You have to know how to explain what you want and know when you have it, that's not always an easy skill to learn though.
The truly wild situation for me is when I have something self contained enough that I can let the bot manage the entire loop unsupervised. Like, here's the patches from the old version, here's the new version, here's the test suite that's got to pass. I'm going to bed now, see you in the morning.
And in the morning, I have patches for the new version that pass the test suite.
Comments
I think this is a really important idea. Good problem solvers, in general, are people who are prepared to go in and poke around, to see what happens when you disable this or add that.
The only way I've found to make juniors develop that instinct is to make them do it until it comes naturally--to continually demand they verify their assumptions, test out theories while debugging. If you don't practice being comfortable with the unfamiliar, you lose the knack.
It's fine, of course, to lose the knack to AI, as long as you'll never need to solve a problem the AI can't (or can't access). I don't think that's a good assumption for everyone to make.
you have to do all this when dealing with AI too. The syntax is a conversation vs a strict grammar but you still have to do all the exploration, verification, and evaluation you always had to do as a developer. You have to know how to explain what you want and know when you have it, that's not always an easy skill to learn though.
Nah, you really just need to tell it "the program broke: <stack trace>". It'll go and poke around for you just fine.
Try it sometime.
The truly wild situation for me is when I have something self contained enough that I can let the bot manage the entire loop unsupervised. Like, here's the patches from the old version, here's the new version, here's the test suite that's got to pass. I'm going to bed now, see you in the morning.
And in the morning, I have patches for the new version that pass the test suite.