AI and Actually Thinking Through Problems

AI and Actually Thinking Through Problems


AI has accidentally made me a better software engineer—just not in a way I’d expected. It doesn’t write perfect code, not even close. Instead, it’s forcing me to articulate my problems clearly and scrutinize every line of code it generates.

I’ve always known that articulating problems clearly makes them easier to solve. But getting myself to actually sit down and think through a problem systematically before diving into code? That’s always been difficult, even though I knew it would help. The allure of getting an LLM to generate a solution, though? That’s powerful enough motivation to make me actually write out the problem, refine my explanation, and iterate until both I and the bot understand what we’re trying to accomplish.

I haven’t measured this precisely, but I’ve felt my knowledge and familiarity with a large project deepen as I’ve worked harder at articulating problems clearly.

The second part of this is code review. I know the code AI generates needs careful scrutiny—it will make mistakes, it will go overboard, and it needs supervision. These reviews, if done as carefully as if I were reviewing code for a colleague, also help improve my familiarity with the codebase itself, as well as help me iterate much faster over versions of code that I might have written myself at a fraction of the speed of an LLM.

I know this perspective won’t resonate with everyone. Some developers naturally think through problems systematically without needing external motivation. Others worry that AI is making us lazy or eroding fundamental skills. Both are valid concerns. I still don’t know if this makes me more productive in terms of lines of code shipped or features delivered. What I do know is that I understand my codebase better, and I’m doing more of the kind of systematic thinking I always knew I should be doing. For me, in this moment, it’s working. It’s gotten me to do more of something everyone should be doing more of, focusing on the things that make us irreplaceable. Sometimes the win isn’t in the output, it’s in the process.