#415: On Copiloting

Galley view of porches, pastel pink and blue stucco.
Virginia Park, Detroit, MI (August 2023)

I’ve been working on a simple iOS app in my spare time, partly for fun, and to try out Github Copilot. I’m a passable front-end developer, and if the code’s already there I can generally figure out what it does even if I’m new to the language. That makes me, I’d guess, a relatively common use case for an AI-assisted pair programmer (I picture this as a literal parrot on my shoulder, squawking at me about Bindings and State variables).

But I have to say, my biggest realization after a couple of weeks, and one I haven’t yet heard others talk or write much about, is this: Feature-creep is going to run rampant.

I don’t mean in my own app (hopefully) but in software across the board. When AI makes it so much quicker to add stuff, and when every development team seems to be adding stuff a breakneck pace, the scarcity isn’t in the technology but in the clarity of its purpose, and the ability to ruthlessly edit.

I also find it interesting that different companies are starting to adopt the “Copilot” term. And I ask you: Who’s the Copilot here? I’m not saying it’s quite a HAL 9000 situation, but it feels more in that direction than I’d assumed. You’re guiding this thing, preventing it from going off the rails, but without being clear on where its headed and when it’s off course, you might not notice it flying you into the sun.

That might be a bit extreme, but when I have autocomplete switched on, I certainly feel more like an editor than a writer (I turned it off after a week).

Maybe I’m wrong here. Maybe it’s just my own (in)experience. I do find myself forced to think through, beforehand and verbally, what I want code to do and how I want to do it – if only to be able to communicate it to the AI.

Maybe what we’ll actually end up with is a bunch more smaller apps tailored to small groups of people – sometimes a single person – with idiosyncratic ways of doing things. They’ll be as easy to spin up as to wind down, and we’ll be to do so without touching a line of code, with only a throughly articulated prompt.

But what’s the fun in that?