AI as pair programmer


Most of my use of LLMs is to help with code, kind of like a pair programmer. I know enough to be dangerous here already, particularly SQL. I'm proficient, but I'm also pretty slow at writing anything complex. Usually, I know what I want to do and conceptually how I want to get there, but I often find myself stalling out at a frustrating point or a problem I just don’t know how to work around.  That’s where AI has been impactful for me - as it often helps me push past these frustrating bits entirely and get to a solution. 

Case in point, if I add a new block of SQL to a query that's causing a bunch of errors downstream, I can plug it into an LLM and workshop with it on the solution step-by-step and probably get to a solution the same day, whereas in the past, I think it probably would've taken me hours to sort out.

There’s a real advantage of these tools in the element of fearlessness they can instill in you on the projects you take on. You still have to keep your wits about you, as your AI companions will still screw and routinely hallucinate (an issue that doesn’t seem like it’s close to being solved). But I won’t deny I am much more productive with an AI pair programmer than without. 

💡
As an aside - What I’m not doing here is vibe coding. That’s always struck me as reckless - the programming version of “Jesus take the wheel”. I think to create something of value and reliability, you need to have some clue of what you want to get done, and an opinion on how to get it done (even if your path changes along the way). The role of AI, at least with today’s models, I still believe is firmly in the assistant category.