Today, a software engineer's time is split between writing code and reviewing code. There is only so much code a software engineer can meaningfully review in a day, without going numb and starting to skip mistakes. Taking away the "writing code" part does not increase the amount of time they can spend on reviewing the code: it's hard-bound by their human nature. So if your software engineers were already operating at the optimal level of writing/reviewing split — then they were limited by their ability to review code, not to write it. So they will stay at this frontier even if you make AI write the code.
I have found plenty of other ways to improve my productivity as a software engineer without having LLMs write a single line of production code:
- Understanding code: I can dump thousands of lines of undocumented code into a large context model and get back architectural outlines, API usage examples or even full documentation. I can also ask questions directly of the codebase.
- Debugging. The newer reasoning models are extremely good at deciphering a test failure or stack trace and pinpointing the potential causes of the bug, sending me right to the relevant code.
- Suggesting where to make edits. I've started asking models for a high level implementation plan based on the codebase and dumping in an issue thread - they frequently spot parts of the code I forgot I would need to update.
- "What should I test?" - dump in a diff and get back a checklist of branches I need to add test coverage for
At this point, if you can't find ways to make yourself more productive as a programmer with LLMs I have to conclude that you just aren't trying very hard.