Don’t Learn to Code
“So what are you going to do?” My friend asked.
“Not sure. I’m exploring opportunities and investing in myself.” I replied.
“Have you thought about joining a dev bootcamp to learn to code?”
Since I announced I was leaving my product role at a successful startup, several friends and followers asked me this question.
I considered joining a dev bootcamp. Yes, I would like to be more technical. Yes, it would be great if I could create my own RoR app. Yes, I might gain more respect from engineers if I could better speak their language.
But as with any decision in life and in startups, there’s an opportunity cost. Learning to code would be valuable but is it the most valuable use of my time? I don’t think so. And this is probably true for many others that join the coding bandwagon. They too would be better off investing elsewhere.
There’s never been a better time to learn to code. It’s more accessible than ever thanks to the open source movement, free resources, development frameworks, engineering bootcamps, and the helpful, generous coding community. It’s more lucrative than ever - it seems every tech company is hiring engineers, many of which gladly offer six-figure salaries for entry-level coders. It’s more glorified than ever as legendary investors like Paul Graham and films like The Social Network celebrate geeks.
As a result, everyone is learning to code. But should they?
Of course, companies rely on more than just 1’s and 0’s. Technology by itself isn’t enough - much more is involved in crafting a successful product and business. Software may be eating the world but that doesn’t mean technical talent is the sole driving force.
Flour Without Yeast Makes a Shitty Baguette
The two primary ingredients of a baguette are flour and yeast. Combining the two converts the fermentable sugars, present in the dough, into carbon dioxide and ethanol, turning the sticky, flat substance into a plump, airy treat. Without yeast, the dough will not rise.
Startups are no different. Most teams have flour - they’re technically savvy and know how to GSD. But what’s often missing is the yeast, the “non-technical” ingredient to grow their business. Products are built with technology, but companies need traction - the metaphorical yeast - to rise.
Great Products Fail
Metaphors aside, let’s take a look at the recent, unfortunate downfall of Everpix. As described in a postmortem, the photo-storing service was beautiful, awarded with over 500 reviews averaging 4.5 stars in the U.S. App Store. Its users loved the free service so much that an impressive 12.4% of them paid for premium upgrades. But it failed.
While the team obsessed about perfecting the service, the founders paid less attention to the subject investors care about most: growth.
Everpix built a good product, acquiring 55,000 users over the course of two years, but its modest traction didn’t reach the scale needed for continued VC backing. After burning through its cash reserves, the team was unable to raise another round to keep the lights on. Although armed with the technical talent to build a solid product, the team lacked growth focus.
Andrew Chen further described Everpix’s situation, commenting on the importance of traction talent:
The problem with hyper product-oriented entrepreneurs is that they often have one tool in their pocket: Making a great product. That’s both admirable, and dangerous. Once the initial product is working, the team has to quickly transition into marketing and user growth, which requires a different set of skills. It has to be more about metrics rather than product design: running experiments, optimizing signup flows, arbitraging LTVs and CACs, etc.[…] [A]n entrepreneur that’s too product oriented will just continue polishing features or possibly introducing “big new ideas” that ultimately screw the product up. Or keep doing the same thing unaware of the milestone cliff in front of them. Scary.
“I just want to code”
It’s not that technical people don’t recognize the importance of traction - most do. But coders want to code. That’s why they got into startups.
I recently spoke with a technical solo-founder. He described his challenges growing his social product:
I built the product in just a few weeks. It wasn’t hard. But getting users is tough! It’s been four months and I haven’t figured it out yet. I don’t enjoy marketing. I just want to code.
I hear this often. Coders tend to gravitate toward their craft because it’s what they enjoy doing. That’s what fuels late night commits and bug squashing. The passion to code often pulls them away from doing the important “shitty” work - the essential things they don’t want to do. Paul Graham describes this common mistake:
Most programmers wish they could start a startup by just writing some brilliant code, pushing it to a server, and having users pay them lots of money. They’d prefer not to deal with tedious problems or get involved in messy ways with the real world.
We want to work on our craft - the things we love and are good at - at the cost of ignoring more important things. We fool ourselves into thinking we’re making progress with each code commit. In reality we’re spinning. It’s fake progress. Of course this isn’t a characteristic of just technical folks. We all succumb to this, myself included.
Technology Startups vs. Tech-Enabled Startups
“Technology startup” is often a misnomer. Many startups might be better described as “technology-enabled.” Several of today’s most prominent startups - Airbnb, Groupon, Birchbox, and Fab - reach their consumers through the web or mobile apps, but innovate in business and logistics more-so than technology. For these startups and many others, traction risk - ability to acquire and retain users - far outweighs technical risks, especially early on. Traction talent that can meaningfully contribute to the former, are in high demand as much as a coveted engineer.
Traction is Talent Underserved
Technology risk has been heavily de-risked because of the technical community. They got their shit together.
But you can’t build a successful tech company without technology and traction. Most of today’s startups don’t fail because they can’t build the product. They fail because they can’t get traction for their product. Founders continue to trust in the build it and they will come fallacy, launching with little thought in go-to-market strategy. They ignore the importance of sales, data-driven iterative design, and distribution.
These are “non-technical” responsibilities.
If it’s the technical community’s responsibility to build the product and the “non-technical” community’s responsibility to get traction, why aren’t more people in the latter investing in their craft to solve startups’ biggest weakness?
Don’t Take My Advice
I’m in no position to judge other peoples’ decisions. I don’t know your background, context, or motivations. Joining a dev bootcamp to improve your technical skills may be the BEST thing for you… or it might not. Before jumping on the coding bandwagon, ask yourself:
- What do I want to do?
- What am I good at?
- What does my company need?
If coding fits all three checkboxes, DO IT! If not, reconsider where you invest your time.
“So what are you going to do?”
Back to my friend’s question. As you might have guessed, I’m not joining a dev bootcamp.
I’m incredibly excited to be working with the team at Tradecraft, an SF-based incubator for traction talent, teaching kickass people the art of UX, Growth, and Sales/BD with top Silicon Valley practitioners and startups. Tradecraft is a fantastic opportunity to work with bright people to hone my traction skills and become a better marketer, leader, and product person. And teaching is one of the best ways to learn.
As announced Friday on TechCrunch, we’re accepting students primarily by referral. If you know of hungry, talented individuals looking to accelerate their learning and career, email me at email@example.com.
: Although not everyone working in tech needs to know how to code, it is incredibly important for non-engineers to have at least a broad understanding of technology.
: Several others have weighed in on the importance of learning to code. Here are a few:
LinkedIn’s Reid Hoffman On Two Realistic Outcomes Of Teaching Everyone To Code - Gregory Ferenstein
If You Aren’t Technical, Get Technical - Fred Wilson
Why I’m NOT learning to code - Nick Marsh
Tech Tuesday: Build It And They Will Come? - Albert Wenger
Learn to code. Or don’t! - Jonathan Libov
Please Don’t Learn to Code - Jeff Atwood
Subscribe to my blog to follow my writing on product design and growth or say hello on Twitter (@rrhoover).
Thank to Russ Klusas and Misha Chellam for inspiring this piece.
Photo credit: Butaris