Artisans vs. Armies

There are moments in the history of software, when a product created by a tiny team has invented or transformed entire markets.  I was struck by evidence for a similar model in evolutionary biology: the theory of punctuated equilibrium, where there are long periods of relatively little change followed by short and dramatic periods of upheaval.

This kind of rapid change, brought on by an insightful act of creation, has happened repeatedly.  Afterwards, the market leaders usually settle into a period of stability and incremental refinement, backed by large teams.  For example:

UNIX: Ken Thompson and Dennis Ritchie were working at Bell Labs, and became disenchanted with a large-scale project to design a novel operating system, called Multics.  In reaction to its complexity, they created a much simpler alternative and impishly called it “Unics” (later renamed to Unix).  Thompson described Multics as “overdesigned and overbuilt and over everything” (a common complain about systems built by armies!).  Unix went on to become one of the two dominant server operating systems; it is now enhanced and maintained by an army of its own – thousands of developers around the world.

Visicalc: while a student at Harvard Business School, Dan Bricklin got tired of doing spreadsheets on paper.  He thought that he could use a personal computer to help, so he wrote Visicalc for the Apple II and transformed the role of the personal computer in business.  The spreadsheet has long since moved to the other model – Microsoft Excel has dominated the market for many years.

Electronic Arts: The company was originally created by Trip Hawkins in 1982 with a vision: find the brilliant programmers who could create amazing games for small computers, and celebrate those artists and their creations just as we do with great musicians.  One of my friends from junior high school wrote an early EA game (called Axis Assassin).  It was a very impressive homage to his favorite arcade game, Tempest, and he was the sole programmer who built it.  I still have the packaging with his picture and bio in it (at the ripe age of 18).  But that notion of the individual artist was abandoned by EA many years ago.  Now they make games like Madden NFL, which is built by 30 developers and has more than 10 million lines of source code.  The big PC and console games involve massive multi-year investments.  The artisans have moved to mobile, a disruptive domain where very popular games with millions of users are still being created by tiny teams of people.

American culture, I think, has always been caught between a celebration of the small (the lone inventor in a workshop building a better mousetrap, the small farmer setting forth in a Conestoga wagon on the Oregon trail, the “small is beautiful” philosophy of the 70s) and a celebration of the large (the great skyscrapers – “cathedrals of the machine age”, the massive industrial output that powered our economy and made us victorious in the world wars, the space program that landed astronauts on the moon).  Like the technology industry, our culture is tugged back and forth between these two extremes.

The Model

Across all of these examples, I find that there is a somewhat consistent pattern.  Typically, a new opportunity opens up due to some key technology transformation (like the advent of the PC or the Internet), which is not yet dominated by large established organizations.  Some ground-breaking programmers dream up a new kind of product and create it, often as an act of passion rather than of calculation. The new idea gathers popularity, and over time it either grows a large company around it or (occasionally) is taken over by some existing player that wakes up quickly enough and buys or builds their way into a dominant position.

Once a kind of software has become well-established, it usually stops being the realm of the artisan and becomes dominated by large, well-financed teams.  Division of labor was one of the foundational ideas of the machine age, allowing our society to generate massively more output than it ever could have from the labors of loosely organized artisans in their guilds.  The artisans in most industries were washed to the sea by mega-giants.

But division of labor has a great flaw in times of turbulence – it is extremely hard to rapidly re-architect large products or large teams.  At scale, nobody knows the full story of how either one functions.  In software, the products may be millions of lines of code.  The working relationships among hundreds of specialized experts on an engineering team is a tremendously complex system of its own – redesigning it can be even harder than redesigning the software.  Clayton Christenson and others have eloquently written about how hard it is for established players to reinvent themselves.

It’s Not Just Software

This alternation between artisan and army is not restricted to software.  I was fascinated to learn what happened in the 1800’s in manufacturing, elegantly described in the book The Tycoons (which I highly recommend).

During the Industrial Revolution, British industry was transformed by machine-based manufacturing.  Individual artisans were unable to compete and were largely supplanted.  That part I knew.  What I didn’t know, is that there were some key inventions in manufacturing that had the side-effect of making the roles within a factory require far less individual skill and judgment.  The British were slow to adopt them, and most British plant workers were artisans – in the 1890s, three-quarters of them were highly trained crafts-people with a lifetime of expertise.  By contrast, American plants had virtually none – somebody could be trained for almost any role in the plant relatively quickly.

For this and other reasons, American industry production sky-rocketed past the British.  In 1860, US output was one-third of Britain’s.  Fifty years later, it was 2.3 times larger (!).  Manufacturing has remained dominated by mass scale ever since, though there are interesting early signs of another major shift.  The rise of 3D printing technology makes it cost effective to do very small runs – we may see a new renaissance for the artisan manufacturer.

Another example is movie-making.  United Artists was founded in 1919 by four directors and actors, including Charlie Chaplin and Mary Pickford (two of the most popular actors of the day).  The vision, embodied in its name, was to create a place where the artists dominated, not what today we might call the “suits”.  The company struggled because the industry was moving to longer movies with high production values that required large teams and big investments (sound familiar?).

The company, and the broader industry, seesawed back and forth.  In the 1960s, United Artists created the Bond blockbuster franchise.  In the 1970s, they were involved in the shift towards small “auteur” movies that represented the singular vision of a one person (like Midnight Cowboy).  Then back to blockbusters in the 1980s.  Lately, “indie” pictures are all the rage.  The dynamics of the movie industry have interesting similarities to software, shifting back and forth across the spectrum between creation by artisan or by army.

We’re In a Time of Radical Change

As I’ve written elsewhere, because of the cloud and devices, technology is in a time of radical transformation – a lot of equilibriums are being punctured right now.  It’s a hard time to be an established leader – a threat can develop out of nowhere from a couple of passionate developers with a new idea, and it can grow to massive size in the relative blink of an eye.

But it’s a magical time for the artisans – they can challenge the dominions of the giants, tweaking the noses of the biggest companies in the industry.  And if they are right and they have a winning idea, they can have a tremendous impact.  You don’t need an army to change the shape of an industry – you can build a program and, with no capital investment at all, make it available to a billion people in an hour.  If you crack the code and build something that has real demand, there are ready accelerants poised to support you.  Investment capital is abundantly available to companies that have gotten traction, and people with every kind of specialized skill are ready to jump on the train once it has begun gathering speed.  I call it “scale fast or fail fast”.

I believe that during the next several years, many domains of human endeavor will be radically reshaped by small teams of scrappy challengers.  They will seize this period of transformation to forge and pursue new visions that will change the dynamics of whole industries.  It will be fascinating to see what they come up with.

The Magic Tomato

A new productivity idea has been making the rounds lately, called the “Pomodoro” technique.  I’ve been using it quite a bit at our startup, and it’s been a great help, so I thought I’d share it on the blog.  The name comes from the Italian word for “tomato”, because the inventor (Francesco Cirillo) had a kitchen timer in the shape of a tomato that he used when he was coming up with it.

Pomodoro is really helpful for doing focused work on important projects, especially when they require creative or deep thinking.  It’s so easy to get distracted by easier work or email or interesting discussions with co-workers.

I use Pomodoro for projects that

  • Don’t have clear short-term milestones.  For example, I spent a number of weeks diving into the latest techniques in machine learning and figuring out how to apply them to our product.  This project took hundreds of hours and I just had to chew away at it day after day, working through the algorithms and how we can use them most effectively in our application.
  • Are hard.  In most jobs, there are a myriad of useful and productive things to work on.  A few of them are really important … but the others are often a lot easier.  It takes very little intellectual effort to update the feature spreadsheet, or answer some emails, or do a QA pass over the website – all fine and useful things to do.  But they aren’t the projects that are going to yield huge amounts of value.  Often, a project is “hard” because you don’t know what to do.  You just have to bash away at it until you figure out how to get traction (possibly using some of the ideas from the “crack the nut” post).  Or, it might be hard because you are trying to create something new, and that can be scary.

So How Does It Work?

There is a detailed online guide, which is well worth looking through.  I do find that it can be overly prescriptive about how you are supposed to use the technique, and my approach is somewhat simpler.

Say you have a project that you want to focus on.  The basic idea is that you tackle it in blocks of time, choosing the block size that works for you.  The guides recommend numbers like 25 minutes; I have found that 50 minutes tends to work best for me.  You commit to working for that long without stopping – no answering the phone, no getting up, no checking email, no distractionsYou just work.  If anything comes up that you need to attend to, write it down and get right back to work – don’t do anything else about it.  At the end of the block of time, you stop and get a rest period, where you can deal with things that came up, check email, etc.  The rest period might be 10 or 15 minutes, or whatever works for you.  Check off the Pomodoro when you finish it, and it doesn’t count if you didn’t spend the entire time on your project without stopping.

At the start of the day, I might decide that my goal is to do (let’s say) four 50-minute Pomodoros.  Maybe I’ll spend two of them on machine learning, one designing our user profile system, and one on learning about business metrics for SaaS companies.  I find this approach works really well, because it makes it pretty easy to line up my time against the really important priorities.  The chunks of time are big enough that you can make decisions about them pretty easily.

At the end of the day, I’ll look at how I did.  If I didn’t get very many Pomodoros checked off that day, I know that I wasn’t able to focus on the projects that I wanted to.  I got interrupted, or other things came up.  That’s ok .. the point is not to beat yourself up, but it is important to be honest with yourself about whether you are really moving ahead on the things that matter, and if not, figure out what to do about it.  You’ll also be surprised at how few Pomodoros you can really get done.  In a multi-tasking environment with meetings and so forth, you might get zero significant blocks of utterly focused, undistracted time.  In a startup with virtually no meetings, I’m able to get several 50 minute Pomodoros done on a really amazing day, which is an incredibly good feeling.

Why It Works

One of the things I really like about this technique is that it makes an open-ended project quantifiable.  A multi-week or month project that doesn’t have a lot of interim milestones suddenly has a countable milestone every 50 minutes of work.  You can plan in terms of these chunks of time, you can check them off, and you get a feeling of progress even if there isn’t anything else you can really point to.  I think most people find it much easier to work on a project when there are tangible results along the way – I know that I definitely do!

It also makes it much easier to psyche myself up for a big hard task, because I know that I can stop in 50 minutes – it’s a real comfort to know that no matter how bad things get, I only have to push for that long and then I get to stop.  What almost always happens in practice, of course, is that once I get going, the project sucks me in and I pound happily along, annoyed when I’m “forced” to stop at the end of the work period.  But there is a lot of research that you are most productive if you do sustained bursts of work with breaks in between.  It’s also healthy to get up and stretch regularly.

Another good thing is that it gives you permission/”coerces” you into ignoring potential interruptions.  When you are doing something intense or creative or hard, it’s death to be constantly starting and stopping – you don’t get into that flow that is so magical.   When you are in the midst of a Pomodoro and you know that you won’t get to count it if you let yourself get pulled away, you actively resist interruptions.

Tools

You can do a fine job of using the Pomodoro technique with nothing but a piece of paper and a watch or a kitchen timer.  I do use two pieces of software that I find helpful:

  • My Little Pomodoro – a cute little app for the Mac that will time your Pomodoro interval and chime at the end.  There are several apps like this, or you can also use a kitchen timer, or just your watch/smartphone.
  • Omnifocus – a great productivity tool I’ll write about in another post; the key thing for Pomodoro is that any time I want to note something, I just hit a quick key combination, type in a phrase, and hit return.  The window disappears, and I know the note is squirreled away where I can (and will!) deal with it later.  A lower tech solution is a piece of paper that you scribble a note onto.  Anything works if it is a quick and dependable place to jot down an idea or task, so you can forget about it and get back to your Pomodoro work.

Since I work in an open office, I have a bit of a ritual for starting the Pomodoro.  I put on noise cancelling headphones, start up a special playlist of music (my favorites are choral pieces from the 16th and 17th century), start up the Pomodoro app timer, set the program I’m using to full screen so no other software will be visible … and WORK.

When To Use It

Paul Graham wrote a wonderful essay about the difference between a “maker’s” schedule, and a “manager’s” schedule.  When your time is divided up for you, where things are very structured, and you go from meeting to meeting or activity to activity, you don’t need Pomodoro.  But when you are taking on something open-ended and creative, or you have to think really hard about a problem you don’t know how to solve .. give it a try.  Perhaps you will find that it is as magical for you as it has been for me!