How does AI impact my job as a programmer?
Four ginever glasses sit on a mirrored table at Distilleerderij’t Nieuwe Diep in Fevopark, Amsterdam. Only one manufacturer makes these glasses, and it’s closing. The distillery stockpi…
Popular narratives focus, not on what big-crunch machine learning models can do now, but what they theoretically could do in the future.
Reading, understanding, and fixing code written by others consumes 90+% of the time a programmer spends in an integrated development environment, command line, or observability interface.
If we use LLMs all the time, the amount of “fix someone else’s code” we’re doing goes from 90% of the time to 100% of the time.
Large language model purveyors and enthusiasts purport to use the tools to help understand code. I’ve tested this claim pretty thoroughly at this point, and my conclusion on the matter is this: much like perusing answers on StackOverflow, this approach saves you time relative to whether you’re already skilled enough to know when to be suspicious, because a large proportion of the answers won’t help you.
But like an IDE, or a framework, or a test harness, utility here requires skill on the part of the operator—and not just ChatGPT jockeying skill: programming skill. Existing subject matter expertise.
That’s not entirely the fault of the model design. It has a lot to do with the fact that the training data, the Common Crawl, feeds it the code debugging and demystification advice of The Internet. How good is the advice about this topic on The Internet? Not that good, because by and large, developers suck at this skill.
Models trained on human data can’t outperform the base error rate in that data.