This tweet caught my eye last night:
which led to a post by Antonio Rodriguez summarizing a keynote he gave at PyCon (i.e. a conference about the programming language called “Python”).
Rodriguez made three key points in his presentation, only one of which I’ll address here…he said:
I think every employee in a web startup— or in fact any company which depends on software in any meaningful way— should learn how to code. From the slickest sales guy to the most obstinate operations guy, from the laziest intern to the most professorial manager, if they don’t have their hands in the code, your startup is much more likely to fail.
I don’t disagree with this idea, although I terrifies me a bit. Rodriguez’ arguments for this are two fold.
First, it breaks down the false dichotomy between “business” and “technology”. I agree, in a web startup—the only type of place I’ve ever worked—the technology is the business.
Second, he argues that if everyone were able write code—even if it is just a marketing person updating the UI of an analytics report—”will tighten the loop and give you massive competitive advantage”.
I would add a third point, based an idea Joe Heitzberg mentioned to me the other day: in a web-based company, there are two types of workers: “work creators” and “work doers”.
A person who writes code is a “work doer”. A person who writes a spec is a “work creator”. (A person who designs web pages is a little bit of both.)
That’s not to say a person who writes a spec isn’t important…they play a crucial role in making the person who writes code efficient and effective. However, it takes another person (a work doer) for the value created by the spec writer to be fully realized.
The point isn’t that your company should be all “work doers” and no “work creators”. The point is balance…having an appropriate number of work doers versus work creators.
At a previous place I worked, I’d estimate we had 4 work creators for every 1 work doer. That was not the right balance.
On the other hand, toward the end of last year at Cheezburger we had the opposite problem; we had too many work doers and our ability to write code outpaced our ability to figure out what exactly to write.
Effectively, Rodriguez’ point is that everyone should have some work doing capability, even if it isn’t their primary job role. As a result, startups will have greater flexibility because they will be able to more fluidly maintain the proper work doer-work creator balance that is essential for success.