George R. R. Martin has a quote in which he divides novelists into architects and gardeners. Architects like their blueprints — they make plans and work hard to deliver. Gardeners plant a seed and water it. They let nature take its course and skilfully shape whatever grows out. Some people gravitate towards the architect mindset; others prefer the gardening approach (GRRM says he's more of a gardener himself).
I'm a big fan of this framework. Like many other analogies from the novel-writing world, it applies really well to building software. Except when you're working on a product, you need to be both.
Most founders begin as architects. You start with an insight and build a solution to a problem. In the pre-launch phase, what you can do depends primarily on yourself — you’re in control. Things are moving fast. You’re feeling motivated, looking forward to the grand reveal.
Then one day, you stay up late to post your app on Product Hunt. The ‘R’ key on your laptop stops working because of the rate at which you're refreshing the page. Stressful times.
A few weeks later, you'll be wondering why you had to damage your laptop over what in retrospect seems such an insignificant event. Welcome to life in the trough of sorrow.
It’s tempting to focus on building new features after launch. That's what you've been doing all along. It feels familiar, and you're good at it too. You have a long list of ideas that didn’t make it into the first release. Time to get to backlog-zero!
‘It'd be sick if the product did this or that.’ Indeed. But are those missing features what's fundamentally wrong with the product? Or is it more of an avoidance strategy?
One thing about the architect mindset is that you will often really like your own ideas. Who has time for tweaking onboarding emails or talking to customers? I'm working on a vision here, jeez!
When you launch, you’re really planting a seed. To make it survive, you’ll have to be a gardener for a while.
The gardening mindset is about discovery. It's about taking a look around you and listening with an open mind. Gardeners are more comfortable with uncertainty. They're happy to tinker and run experiments to see what works.
The architecture mindset is about being in control. You can power through when you're stuck. You're coming up with a solution and taking credit for it.
As a gardener, you don't have to come up with an elaborate innovation to feel good about yourself. Small tweaks are just as good as major features if they get the job done.
Many of the seeds that you plant may fail, but that's ok. Unlike an architect, you're not all-in on any single one. Trust the process until you find the right thing.
Getting to traction is exactly that. You can't make up an accurate blueprint for how your startup will grow. You don't know what channels will work, and when they'll stop working. Seemingly insignificant things can have a disproportionate impact. Often, you have no idea what those will be ahead of time. You have to look for them, not spend your days building the next killer feature nobody asked for.
I made all sorts of mistakes when building Writing Analytics. Not gonna lie, I wouldn't complain if the whole 'build it and they will come' wasn't a myth. But hey, at least I get to write a blog post about it once in a while.
I'm doing a lot more gardening these days.
Enjoyed the post? Sign up for my newsletter and be the first one to know when I publish the next one.