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.

More posts

Recent posts

  • What is PotassiumES?

    This is a post about PotassiumES, an ECMAScript library that enables browser-side development for the wider web. If you're not sure about the wider web, click that link because otherwise the rest of this post won't make a lick of sense.

  • Wider Web Lingo

    People sling around a lot of lingo when talking about the wider web, and even the term "wider web" is lingo!

    So, I wrote a series of short posts defining words and phrases ...

  • Wider Web Lingo: Voice

    There's a lot of lingo around the wider web so this is one of a series of short definition posts.

    Voice: Phrases or other vocal noises that can be recognized and used as input

    Computers are getting pretty good at understanding ...

  • Wider Web Lingo: Gesture

    There's a lot of lingo around the wider web so this is one of a series of short definition posts.

    Gesture: A body motion that can be recognized and used as input

    Computers are getting better at watching how we position ...

  • Wider Web Lingo: More Hugs, Fewer Thugs

    There's a lot of lingo around the wider web so this is one of a series of short definition posts.

    More hugs, fewer thugs

    The wider web is inherently more intimate than the flat web that you hold in your hand ...

  • Wider Web Lingo: Spatial Controls

    There's a lot of lingo around the wider web so this is one of a series of short definition posts.

    Spatial controls: Interactive visual elements that are placed in the real or virtual environment

    Unlike page controls or overlay controls (the ...

  • Wider Web Lingo: Overlay Controls

    There's a lot of lingo around the wider web so this is one of a series of short definition posts.

    Overlay controls: Visual elements that seem to sit on top of a portal display

    Overlay controls on the wider web float ...

  • Wider Web Lingo: Page Controls

    There's a lot of lingo around the wider web so this is one of a series of short definition posts.

    Page controls: Visual elements that you're used to on the web like buttons, images, text fields, and blocks of text ...

  • Wider Web Lingo: Wand

    There's a lot of lingo around the wider web (which is itself lingo) so this is one of a series of short definition posts.

    Wand: A handheld device with tracked orientation and position, often with touchpads, thumbsticks, buttons, or other controls ...

  • Wider Web Lingo: Immersive Display

    There's a lot of lingo around the wider web (which is itself lingo) so this is one of a series of short definition posts.

    Immersive display: A display into a real or virtual environment that covers most of your field of ...