Thomas turned me on to a great article from Tim O’Reilly about things he’d do differently had he the chance to do it over. I sent the response below to Thomas, and forwarded a copy to Tim — who encouraged me to share them with the world. So, here we are:
Really great article. Obviously a lot of parallels there.
That said, I’m always leery of putting too much trust in people saying what road they should have taken — I’m more fond of understanding what roads were actually followed and worked in practice. It’s too easy to look back and say “I totally should have gone left at that fork in the road; I went right and it was horrible” not knowing that the other direction might have been even worse for reasons you can’t possibly know since you didn’t take it.
So most of it I feel is spot on — especially the parts on cultural management (as evidenced by us being here in Croatia). And that part about becoming cashflow positive strikes close to home: choosing to go profitable has definitely tested our mettle, and it’s easy to say how crazy it is that we didn’t do it before. But we forget that we are only able to do this now because we didn’t do it then. Had we tried to jumpstart this car any earlier, it’s very probable that we’d have just come to a screeching halt.
Similarly, while I really love how he compares the whole company to a handyman versus an engineer, I think he’s not adequately emphasizing that there is a role (or a time) for both. Engineering is fantastic when you are engineering — applying reusable techniques to solve defined problems with dedicated resources and adequate time. But so much of what a startup does is not engineering: the requirements are unclear, the techniques are evolving, and resources and time are reliably unreliable.
Similarly, engineering presumes a certain scale of the team working on it. As one simple example: engineers don’t build things. They design, they manage, but someone else actually swings the hammer. Handymen swing their own hammers. So if you can only have one person, pick the person who can design it and do it, all in a single package. Handymen have far worse best cases, but far better worse cases.
Finally, engineering presumes access to, obviously, engineers. But engineers (for the reasons given above) don’t join startups. That means startups are built by handymen — and handymen can’t suddenly transmute into engineers when it becomes convenient. It’s a gradual process that needs to be handled correctly at every stage, as asking handymen to engineer is as bad as the reverse.
So yes, engineering is great. And every company should strive to get to a point where they can support it. But premature engineering would be the death to most startups, and I think O’Reilly has the luxury of engineering precisely because they didn’t do it for so long.