The manual labor of code

One day soon a robot will replace me. I'll be focused on some gnarly coding problem, happily munching on green grapes and slouching like the meatbag I am, when the interaction designer, call her Alice, will walk by and ask me if I want to go look at the neat new system she just installed. She'll say, "It's going to make our job much, much easier!"

The system will be matte grey and smooth like a river stone. We'll feed it a description of what we want and it will ask us some questions about what we're trying to accomplish. It will show us mock-ups and system diagrams and we'll give them the thumbs up or down. And then, after about three minutes of waiting and listening to the best hold music I've ever heard, out will pop a really good program. We'll tell the robot to give it a few more tweaks but really it will be fine to begin with. I'll try to look at the code but it won't be human readable.

The next week, the rest of the dev team and I will be let go. Alice will look bashful but relieved that she still has a job. I will move to the desert and start a business fabbing artful robot bodies.

Consider all of the startup people who have already been mostly replaced by robots: the IT team has been replaced by the cloud, the visual designer has been replaced by Twitter Bootstrap, the JS framework hacker by Dart, the DB guy by ORMs...

I can hear all of my literally minded peers screaming about the exceptions to that last paragraph. You're right, except that you're wrong. During the dot.com boom at i-drive we shipped a web site which could support a few million active users and we needed a team of 20 devs burning themselves out to make it happen. This year, two kids with fresh CS degrees and I shipped a site which can not only support a few million active users but also uses machine vision and crowdsourcing in a computationally intensive and complex manner.

All of that has happened in the time before engineers really put their minds to replacing themselves.

Like sectors on disks, checksums in packets, and registers on CPUs, we'll abstract away the manual labor of startup coding until most projects need only an interaction designer and the occasional consultation from a freelance computer scientist. It's what we do until we aren't needed to do it.

Hitchcock was awake. Starlight filtered through the forest canopy and dappled the walls of the cabin he shared with Lester. A trio of Clytemnestra’s beetle bots was resting in Lester's sleep-crumpled dreads, occasionally flicking their wings in response to dreams. Sometimes he forgot ...

Clytemnestra was in fragments. Her programs were spread across her stolen space ship, the station she just stole it from, and the small bots that she used to steal it. As each program relayed its experiences to the other, an avalanche of memory effects like ...

Lester was obsessed. It had been a year since the massive beam of light printed the white sphere that invited humanity to a distant star, and he still spent most of his time inspecting the sensor logs in his office. Pictures of the beam and ...

Elizabeth Stinton was frustrated. Her simulations for turbulence in her theoretical air sinter were a mess and if she didn't have something to show at the next board meeting she was pretty certain that they'd sell her startup for parts.

The pounding in my head is in sync with the ticking of the escalator steps as they rise from the netherworld of the convention center's floor. I pull a smile from memory and ignore the sweat in my eyebrows. So many happy attendees, clipping ...

Last weekend I had coffee at the wonderful Uptown Espresso with a friend from a nearby Amazon office. I write "a" nearby office because he's working on a multi-year project so secret that he can't even tell people which building he's in ...

I am a software engineering newbie. I thought that I knew a lot about it after I coded my first BASIC program on a TRS-100 way back in the before time, but now I see that the creation of software is a vast landscape of ...