How One Hacker Quit the Programming Life for Bluer Skies

Some people believe that everyone should be a programmer. But Frank Duff is living proof that this notion should be taken with a large grain of salt. In 2003, Duff quit his job as a software developer and went to work as a bike messenger.
Image may contain Vehicle Transportation Bike Bicycle Human Person Wheel and Machine
Frank Duff quit the programming life -- and became a bike messenger.Photo: Mike Linkovich

Some people believe that everyone should be a programmer. But Frank Duff is living proof this notion should be taken with a large grain of salt. In 2003, Duff quit his job as a software developer and went to work as a bike messenger.

Two years later, he published an online memoir detailing his exit from the software world, and it became an instant internet classic, reflecting the desire of many developers and other white-collar workers to somehow escape their office cubicles and do something "real."

"Even before Office Space, white collar workers peered out the window (if they were so lucky) and imagined a more romantic life doing real work out under the sun," he wrote.

Since Duff published his memoir, we've seen a mini-movement across the tech world that seeks to turn just about everyone into a programmer. A startup called Codecademy is offering online programming lessons designed for the average person. Google is pushing visual programming tools such as a Blockly and App Inventor that let you code without even a single keystroke. And a Facebook engineer named Carlos Bueno recently published a book that seeks to bring the programming ethos to children as young as five. Duff sees some value in the idea of universal "code literacy," but he also urges moderation.

"Should everyone learn to code? I certainly wouldn't make it mandatory," he says. "[But] I encourage people to learn to code, just as I would encourage them to learn to drive, knit, and shoot."

Nine years after quitting his full-time programming job back in 2003, Duff tells Wired that he still codes from time to time, but he has no regrets. Leaving the programming world freed him to do so many other things. "I think it's unlikely that I'll ever need to rely on my ability to write code to feed myself again," Duff says. "But it's a skill set I'm grateful to have."

Though some say that Duff was never a "real coder" if he was willing to give up the life, he says he always loved programming -- and still does. He seemed destined to become a programmer from a young age. His father bought the family a Commodore 64 in the early '80s, before Duff knew anyone else who had a home computer, and in 1992, they were the first family that Duff knew to get an internet connection.

"I remember I'd been using the internet for a year or so -- on Gopher, and searching FTP sites using Archie -- before ever seeing a webpage," he says. After studying artificial intelligence in college, Duff had dreams of becoming a "headhunted star programmer at a startup."

But after a couple years of working for a non-profit organization that developed technology for people with disabilities, Duff realized that he was just a average, competent programmer, not the superstar coder he'd dreamed of being as a kid. The pay was decent, and he was doing good for the world, but he realized that programming just wasn't his calling. At the time, Duff was trying to write science fiction, but found it hard to write after spending eight or more hours a day typing out code. "The last thing I wanted to do was sit down in front of a keyboard and type some more," he says.

When a friend offered him a job as a bike messenger, he took it -- in part because couriers had been glamorized in cyberpunk novels like William Gibson's Virtual Light and Neal Stephenson's Snow Crash, but also because it would ease his mind. "Also very important to me was that I be able to have time to think, and I always found the bike very meditative," he says.

The move was indeed rejuvenating. He was outdoors much the day, and a few months into his new job, after his body adjusted to the physical rigors of being a courier, he was able to get back to writing. He finished his first novel, Lysergically Yours, and it was published by the small publishing house Insurgent Productions/No Media Kings, selling out two print runs. But the urge to program never quite left him, and soon, he was coding again.

In his spare time, he built an open source chess engine with a friend. Then about a year after he started couriering, Duff accepted a part-time job at his former employer, doing more interesting work -- for a higher pay rate than before. He then spent the next two years programming two days a week and couriering three days a week. "That mix was perfect," he says. "I was in fantastic shape."

Then he met a woman and followed her to Amsterdam, where she was attending graduate school. When he couldn't find part-time work as a messenger, he went back to programming full-time. But this wasn't ideal. "It was sapping my mental and creative energy, but I was with the woman I love, and I was in Europe so I didn't get too down in the dumps about it," he says.

Eventually, he got married and moved back across the Atlantic to Philadelphia, and he left the programming game once again. He started to work as a freelance writer and co-founded the online science fiction magazine AE, where he serves as the primary fiction editor. "I find editing other people's fiction even more rewarding than writing my own," he says. "I was really sort of destined to play the mid-wife role."

Now, he and his wife and their kids are back in Toronto. He gave the bike messenger gig one more shot, but that only lasted for a month or so. It's not a career, but neither was programming, and being a courier helped him realized that. "I really shudder to think what I'd be doing now, if I had stayed with programming for the last seven years," he says.

Yes, he still programs. But only when he feels like it. "Programming's not something I do every day," Duff says. "But it's something that I'll probably never stop doing." He occasionally programs interactive stories, some of which he publishes on Usenet. "It scratches both the programming itch and the writing itch."

He doesn't believe the programming life is for everyone. But he sees the value in being a programmer. "Will I be teaching my children how to code?" he says. "You can bet on it."