Quit Your Job Now, Before It's Too Late
Photo by Aran Burton.
This was originally posted on 4/7/2013.
Six weeks ago I handed my employer my formal resignation. Two weeks ago I waved goodbye and left the office to begin work on my second startup.
At this stage in my life I have no children, no mortgage, a small passive income from my first startup, two rock solid technical cofounders, a working prototype for our idea, a monetization strategy, and enough cash saved up to bankroll some small business expenses. In short, there was very little risk to quitting. Yet I still struggled with the decision and on that Thursday as I walked into the chilly North Carolina air, I couldn't help but wonder if I was making the right decision.
Quitting is hard for social reasons. I worked at a small Django consultancy with an excellent group of folks who I respect and admire. But even there, among independent-minded, intelligent, professional, driven peers, most were confused why I would want to quit an excellent job. One coworker was frustrated that I was helping perpetuate the Silicon Valley brain drain, "don't move out there and be one of those guys," he told me during my last week. But by far the most common reaction to my news was "why?" accompanied by what I perceived to be quiet pity. "Oh dear, he thinks he's going to start the next Facebook."
To everyone yearning to quit their job and pursue their startup dreams, do your homework, then quit now. I'm not sure I would be capable of quitting my job with $100k in a home loan, 2 children, and a car payment. Quitting gets more difficult the longer you wait, so brace yourself and jump soon.
This is Why You Don't Want Nice Things
The future is now. You can rent this $100,000 car for $300 right now. Photo by Jason Phillips.
A while back I wrote about how I think renting is a superior form of ownership. As I keep reading and trying new secondary markets, from Uber to Getaround to AirBnb, I am even more convinced that owning things is ill-advised. Right now every internet user can rent cars, tools, bikes, and dozens of other products and services which used to be enjoyable only by the people who ponied up the cash to purchase them [1]. Distributed economies have changed the value of owning things, but most people are still paying too much to own too many things and it makes us unhappy - I call this over-ownership.
A classic example of over-ownership would be buying a home when early in life.
According to Bureau of Labor Statistics, 50% of people between the ages of 20 and 24 have been with their current employer for less than 2 years [2]. The only age group in which people have worked for their current employer longer than 8 years is 55+. An 18 year old person can expect to move 9.1 more times in their life. By age 45, people can expect to move another 2.7 times [4]. That's approximately 1 move every 4.2 years for people between the ages of 18 and 45.
Using the New York Time's "Is it better to rent or own?", I calculated that if you live in Raleigh (my previous city of residence), pay less than $1,000 in rent, and want to purchase a $200,000 home [5] on a favorable 2.8% mortgage and 1% property tax rate, it only makes sense to purchase if you expect to stay put for more than 6 years. If you live somewhere like San Francisco (where I currently live), and want to buy the average $1M home, and you currently pay $3,000 per month in rent, it will take 18 years before it makes sense to buy.
So most young people shouldn't buy houses, yet according to Calculated Risk and The Atlantic [6], more than 38% of people between the ages of 25 and 29 do own their houses. This says that me that a fair number of those buyers are going to lose time, money, and sleep on their housing purchases.
Now, think about all the items in your home and think about how much you use them. Think especially of expensive items; KitchenAids, belt sanders, laptops, etc. I would be willing to wager that it would be cheaper for you to rent items you use infrequently instead of owning them. I would go even one step farther: renting would not just be cheaper, it would solve a myriad of other lifestyle problems. If you had 50% fewer objects in your house, think about how much easier it would be to clean, how much less time you would have to spend maintaining possessions, and how much easier it would be to move to the next home/apartment.
There aren't currently enough online services and they are still too inconvenient for my vision of utopian rentals to be practical tomorrow, next month, or perhaps even next year [7]. But in the near future, renting will make our lives universally better by allowing us to own less stuff.
[1] Car rentals, boat rentals, parking space rentals, and especially service rentals like Taskrabbit. And these are just a few examples in each category.
[2] http://www.bls.gov/news.release/tenure.t01.htm">http://www.bls.gov/news.release/tenure.t01.htm
[3] Surprisingly, the old adage about 7 career changes in a lifetime is also bunk: Seven Careers in a Lifetime? Think Twice, Researchers Say.
[4] Calculating Migration Expectancy Using ACS Data
[5] Trulia housing demographics for Raleigh puts the median value of a house in Raleigh NC at $200,000.
[6] http://www.calculatedriskblog.com/2009/04/us-homeownership-by-age-group.html, The end of ownership: why aren't young people buying more houses?"
[7] One comment I received on the original version of this post was that in making my recommendation for renting, I forgot to include time costs. The basic argument is that there is too much friction in renting, which makes renting a $300 Kitchenaid, for instance, a bad deal. Existing services would require you to find a nearby person renting the item, perhaps drive to their home, sign a paper, drive back to your home, use the mixer, and repeat the process when returning it. But I'm not thinking about existing services. When I first wrote this post, Getaround didn't offer instant rentals, but now they do. The same is true for AirBnb and a host of other services. The instant acceptance peer to peer rental markets are already thriving, we just haven't hit saturation with all the stuff we could possibly rent.
Special thanks to my good friend Ben for checking my numbers on this post and keeping me honest.
Knowing How to Code Isn't Valuable
Silicon valley would have you believe that learning how to program is an extremely valuable skill set that unlocks untold career and personal possibilities. All you have to do, dear reader, is learn enough to sling some Ruby on Rails, deploy your own website, and the world will be your oyster.
Back in 2012, I believed this line of reasoning and began teaching myself to program. I tried everything from Codecademy to traditional textbooks, but couldn't make anything stick. I am extraordinarily motivated, but I found it It difficult to make forward progress. Even after exhausting hours learning the basics, my goal of building products and turbocharging my career seemed just as unattainable as when I started.
This frustration motivated my cofounders and I to start building Code Combat in early 2013. Our goal was to teach the world to code and bring that silicon valley prosperity to everyone. It seemed obvious to us that if we created a product that was fun to play and at least slightly educational, people like me (motivated 20 somethings) would find it easier to continue learning CS and become valuable software developers.
Over the course of two years, I learned the hard truth that knowing how to program computers isn't actually that valuable. The skill that is valuable is wanting to program computers. And that distinction is troublesome for motivated 20-somethings.
Young adults have an incredible ability to teach themselves anything, but they are especially motivated to learn things that improve their quality of life. Often that means earning more money or finding a job with better work/life balance. And so for many people who graduated college with useless liberal arts degrees (like myself), it is tempting to teach ourselves skills that actually make us valuable members of the economy. As in, paid well and sought after by employers.
Programming is a particularly attractive skill to learn because it's very well compensated, in extraordinarily high demand, and doesn't require as many unpleasant work/life compromises as other industries [1].
To many people, then, programming looks like a ticket out of their humdrum career trajectory. All you need to do is learn a bit of obscure syntax, and you'll be raking in the dough while being endlessly pursued by recruiters offering ever-higher salaries.
The reality is more disappointing.
Like most valuable skills, programming is difficult to master. Unlike other skills, however, the barrier to entry is very low and the rate of change is very high. This means that you, newbie programmer, can learn one or two frameworks and languages and be unemployable in a year or two if you aren't constantly learning and improving your craft. To make matters worse, thousands of new programmers and tinkerers are constantly entering the labor market out of inherent interest. Because they want to program and can learn for free, they will outcompete and outbuild you.
This is why coding boot camps heavily screen for people who want to program. And it's why, even with 1-5% acceptance rates, they still have an image problem with their graduates [2]. Companies don't want to entrust their mission-critical backend infrastructure to a philosophy major who is dabbling in programming. They want someone whose desire to program has given them years of experience wrangling complex systems and making them work.
Our initial business model at Code Combat was to educate players enough to be employable. When that failed, we turned to simply discovering players with enough skills to be employable. When that didn't scale, we turned to the real hard work: introducing programming to kids who might otherwise have never learned about it.
That turns out to be an extraordinarily difficult niche to monetize, but it's what adds the most value. Because of Code Combat, millions of kids who otherwise may have never heard about programming have written hundreds of lines of Python and JavaScript.
It's my profound hope that in 10 years I'll meet a child that was introduced to programming on Code Combat. I imagine that child much like myself: a sort of nerdy kid who fell in love with computers and developed a real passion for tinkering with them. For her, all the silicon valley promises of prosperity and opportunity will be true because she doesn't just know how to program, she will want to program, which is the skill that's actually in demand.
[1] I'm looking at you management consultants.
[2] When we started Code Combat in 2013, most bootcamps were earning money by charging recruiting fees for their students. Today, they have almost all stopped doing that and fund their operations the good old fashioned way: charging tuition. Companies hiring boot camp graduates simply don't value them enough to pay placement fees.
Know Thy Platform
This post was originally published on 5/5/2011.
Four months ago my two co-founders and I went to visit one of our investors for a quarterly check-in. Our investor runs an iOS development company from a renovated turn-of-the-century office atop a 28 story building. It would be an understatement to call his experience and surroundings impressive.
While sitting in front of a 9 foot window that looked out on most of downtown, we were discussing plans for our upcoming iOS app. Specifically, we were discussing how many features should be included in version 1. We had just started to translate our codebase to Objective C, and we were trying to define the scope of the project. Our development approach to date had been to build a quick and dirty v1 and use it to gauge user interest. The process had served us very well.
Like an all-knowing Buddha, our investor grabbed a nearby white board and drew a graph similar to the one at the top of this post.
"What does this graph tell you about the features you need in version 1?" he asked, pushing the graph towards us.
We all three thought for a moment. None of us liked the implications, but Nick eventually replied "I guess we can't build a minimum viable product then."
Our investor just nodded and gave us a smirk that seemed to say "sucks, doesn't it?"
What he knew was that the window of opportunity for a hot app on the App Store was measured in days, and especially for the kind of app we were building, a Hollywood Launch was the way to go.
When we actually starting building the app, we had our product scope waiting: it needed to be full-featured and polished. Prior to that meeting, we didn't know anything about the App Store as a platform. What our investor let us know was that building an MVP iPhone app would have been as stupid and useless for my co-founders and I as trying to iterate our way through FDA drug approvals for a new medicine.
Knowing your platform makes you a more effective entrepreneur. It means you have a better grasp of how your product will be shared and used. This means you can cut out unproductive iterations and get to pay dirt faster. Whether your entrepreneurial ambitions are to make enterprise software or fluffy mobile apps, qualified knowledge of your platform will significantly reduce the number of times you have to pivot strategies. And in some cases (like ours), platform knowledge can save the project completely. Had we made an iOS app that wasn't polished on day one, we would have thrown away our best chance to test the market and make money on our creation.
Even going between two similar platforms (web apps to mobile versions of web apps) requires entrepreneurs to have a firm grasp of the differences of the platforms. Most of the time you won't have a kindly investor at your shoulder to reiterate this point, which means you have to know thy platform without being told. Sucks, doesn't it?
You Can't Use Customer Discovery for B2C Products
Image by Frits Ahlfeldt-Laurvig.
This post is a simple reminder to everyone out there starting a B2C web startup: it's risky and no framework or theory is going to change that.
Steve Blank’s Customer Discovery framework has helped an entire generation of entrepreneurs focus on the most important aspect of their business from day one: finding paying customers. But Steve Blank focuses on B2B products, and even more specifically, B2B enterprise products. These are products for which the number of potential customers is relatively small and each account is relatively large.
But what if you are building a B2C product? This business model aims to build something that a large number of customers will use, and any one customers will have a tiny impact on your bottom line. I’m talking about consumer web products, Netflix, Prezzi, and Instagram all fall into this category.
If that is what you are trying to build, the Customer Development process really only has three steps:
- Build a minimum viable product (MVP).
- Show it to people and see if they use it.
- Rinse, repeat, or pivot.
The only input the Customer Discovery process has for this type of product is to build as little as possible in step #1. But this is hardly new information. Building a minimum viable product has become de facto industry advice for entrepreneurs and was good advice before the 4 Steps to Epiphany was published.
The takeaway here isn’t that Steve Blank’s advice is flawed or that the Customer Discovery process is useless. The takeaway is that unlike B2B startups, there are no straight-forward steps you can take to validate your B2C startup idea quickly without writing code.
So if you are starting a B2C web product, remember there’s no magic bullet when getting started. The best thing you can do is just start building a stripped down minimum viable product and get people using it. Which is essentially what it’s always meant to build B2C consumer web products. The best thing you can do is get started!