Please describe in more specific terms. Are we talking non-technical, intern, junior, or senior experienced humans?
Literally just yesterday I was diverted to help someone who is a senior developer, but a novice in Python itself, figure out why code that AI helped them write was completely busted. They were extra perplexed because most of the code was identical to a block of logic we use today (and works), but in this new context didn’t work at all. Turns out whatever the AI did, it didn’t have a concept of method overloads, so the types being passed around were suddenly wrong.
AI works well for people who know nothing (it can do things for them that work well enough), or people who know ‘everything’ (it can get them 95% of the way, they can use their experience to find and fill the remaining 5%). It’s absolutely terrible for people with middling experience.
For context, my experience is colored by the kind of work I do: building codebases from scratch that tackle ‘niche’ (read: not readily available as FOSS or described online) problems, usually in small teams or solo.
For a completely inexperienced dev, they may delegate to having AI draft the entire project for them. If a part doesn’t work, they just keep repeating the prompt until it does. They’re not tweaking and twiddling, so the mindset is ‘if it works then I’m done’.
For an experienced dev, usually they will define a structure and have a clear understanding of what the inputs and outputs of each component are. They’ll also write what are known to be critical code sections themselves. AI is usually used here as they might take advantage of an intern—to do the busy work—and because they have adequate experience it’s fairly trivial to review the code and manually fix problems before adding it to the codebase.
For people in the middle ground, they end up with hybrid of these qualities, and it generally doesn’t turn out well. They might define a structure, but not well enough to know exactly what components to create from an LLM, nor knowledge of which sections need to be done by hand, nor be adept at finding deficiencies in the code they’re given. Because they have the ability to debug, they spend time debugging failures instead of just promoting again, and because they let bad code slip into the codebase failures happen just as often as if done by hand, but with the disadvantage of not having authored the code in the first place.
Please describe in more specific terms. Are we talking non-technical, intern, junior, or senior experienced humans?
Literally just yesterday I was diverted to help someone who is a senior developer, but a novice in Python itself, figure out why code that AI helped them write was completely busted. They were extra perplexed because most of the code was identical to a block of logic we use today (and works), but in this new context didn’t work at all. Turns out whatever the AI did, it didn’t have a concept of method overloads, so the types being passed around were suddenly wrong.
AI works well for people who know nothing (it can do things for them that work well enough), or people who know ‘everything’ (it can get them 95% of the way, they can use their experience to find and fill the remaining 5%). It’s absolutely terrible for people with middling experience.