Building a product of your own is hard work. In my experience, you can go months without bringing in any revenue. It can be demoralizing, especially if you don't particularly care about the thing you are building.
I am not alone in this sentiment. Steve Jobs once said you need to love what you do, because entrepreneurship is so hard your passion is often the only thing that can push you to the finish line.
Nobody is going to pat you on the back, and the money might not even come.
It is almost by accident that I even got into software. For years and years, I lived in the mountains, pursuing an endless winter both in the United States and in New Zealand.
I worked all kinds of jobs, from dining room server to ski rentals, all so I could spend a few hours a day doing what I really love—snowboarding.
As a lifestyle choice, it was unbelievably fun. I highly recommend postponing your career for a few years (or nearly a decade) just to enjoy your 20s in this way.
As an actual career choice, however, it was unfulfilling.
I didn't want to spend the rest of my life tied to the local economy of a small town ski resort. I wanted to do high paying work that mattered. Eventually, I wanted to retire so I would never have to work those kinds of jobs again.
The question was how. I had some programming skills, but I didn’t know what to build. At the time, I was making a pittance as a freelance writer, and I knew there had to better things to do with my time.
But what?
How I built and launched an app for the sport I love
On a crisp December day, in a gondola with my friends, we came up with an idea.
We had seen videos of kids creating their own sets of dice with different snowboarding tricks on them. They were called “Snow Dice.” My friend had a set with him on the gondola, and we were rolling different tricks to see what we should try on the next lap through the terrain park.
I didn't even own a smartphone at the time, but it became clear to me that if I did, I would want some sort of app version of that game.
You have to realize that this was way back in 2010 when smartphones weren't really a thing yet. Most people on the slopes used flip phones. I wondered if such an idea would ever catch on.
Then again, it was pretty silly for all these kids to be playing Snow Dice with a set of physical dice.
You can lose dice. Your hands get cold when you de-glove to roll them. Dice are limited in terms of how many tricks you can fit on them.
So despite my initial reservations, I shrugged my shoulders and built the thing. After all, I wanted the product for myself. I didn’t really care if many people bought it. I thought I might make a few grand and call it a day.
It wasn’t quite like that. Not even close.
A year later, pretty much everyone in the terrain park had a copy of my app on their phone. Professional skiers were using it. People across the world in France were holding contests using our app to come up with tricks for each competition.
Me and my business partners had achieved a sort of fame.
Why? Not because I'm really passionate about programming.
I built the first version of the app while living in a freezing cold rundown gym on the south island of New Zealand (true story for a later date). That place was so filthy, I was embarrassed to invite people over to work on the product.
I had about two weeks to learn Objective-C and get the app into the App Store. To be totally honest, I was half drunk when I wrote the first build we shipped. Let’s just say it was a rather festive household, full to the brim with ski bums.
But none of that mattered. The product was good enough.
Forget that I knew next to nothing about how to properly architect an iOS app. Forget that there was code duplication everywhere, and I didn't have time to learn what a View Controller is. (By the way, I do know now, and I make a point not to drink while working.)
None of that mattered.
What mattered were the pretty graphics and the nice animations. What mattered were the pro skiers posting videos of themselves skiing through the terrain park, using our product. Those things mattered way more than anything I did in the code.
We launched a rickety product out to market in the middle of September, and people were so hungry for it that we got over 500 downloads on the first day.
I’ll never forget the next morning. I checked our numbers and spit out my coffee.
Programming is a means to an end, not an end in itself.
When I created “Snow Dice,” I didn't do it because I wanted to get a job as a programmer. It wasn't some “portfolio piece.” I didn’t even know I was supposed to have a portfolio. I was super naive at the time, and had no idea that a programmer could easily pull down $100K in a year.
I built my product for a couple simple reasons: I wanted a game to play while snowboarding with my friends, and I wanted to challenge myself on the mountain. We had been doing the same tricks over and over again. It was fun to mix things up.
Okay, you got me, I kinda wanted to be known for doing something cool as well.
Anyway, I never saw programming as an end in itself. Even to this day, I have that attitude. It’s my mantra.
What we do, we do in the service of design. We get better so we can make better products.
That's not to say I don't really enjoy programming. I do. You could say I am passionate about it. But I always think back to the thing that spurred me into action, the desire to build something that I would want to use.
But I don't know where to start. What do I do?
The last thing I am telling you to do is go out, buy a guitar, and learn how to play it so ten years down the road you can create the best ever guitar app.
I am simply suggesting you take an inventory. What do you do in your spare time? If you were to look at all of your weekends in the last year, how were they spent?
Tim Ferriss has a novel approach. He looks at what he has spent his money on lately. In particular, he looks for expensive purchases where it seems like he wasn’t all that sensitive to the price of the product.
Those are the products he’s really passionate about. They are the kinds of things he wants so much that price doesn’t stop him.
A new product idea almost always comes out of those kinds of purchases.
If you look at my finances, you will definitely see a pattern. Whenever I don’t care about the price, I am probably buying one of these three things:
- Snowboarding gear
- Apple products
- Video games
So it’s no surprise that I ended up making an app for people who snowboard. It’s exactly the kind of thing I would be willing to spend a lot of money on. If I—average guy that I am—regularly spend big on snowboarding products, there’s a good chance other people will too.
But it gets better than that.
Your hobby is only the beginning.
I’ll let you in on a little secret. “Snow Dice” isn’t our most successful product. Not by a long shot.
Skate Dice, an app for skateboarders, is.
Yes you should. But once you’ve already put in the work, you’re just a hop, a skip, and a jump away from another product that could easily make ten times as much money as your first.
Over the years, my business partners and I have come to the realization that we didn’t just invent the world’s best random snowboard trick app.
We invented the world’s best random “extreme sports” trick app.
Skiing, Skateboarding, Snowboarding, and BMX. The software we wrote does it all.
We took the same code for the snowboarding version and used it to build the same app for as many sports as we could. All we needed to do was talk to some expert athletes, swap out the different tricks, and throw in some new graphics. Everything else stayed the same.
Right now, you might be thinking you’ll make an app for some hobby you’re really passionate about. I am here to tell you it’s just the beginning. Once the first version of your product hits the market, you can quickly expand to other niches. That’s where you are more likely to get a bigger payout.
In our case, skateboarding happened to have ten times the audience of snowboarding. With relatively little effort, we made ten times the revenue.
Whatever you do, don’t be a short order cook.
I have never fully considered myself a programmer. I am a snowboarder who makes apps for his sport. I am a designer who uses code to create a beautiful and functional product. Until something better comes along, I write code because that’s what I need to do to make the things I want to make.
Code is my tool. It’s not my identity.
What is the difference between a chef and a short order cook? After all, both have similar skills. A chef can cook, and many short order cooks have the same cooking abilities as a chef.
So what separates the two? Why does a chef get all the fame and money? Let me put forth a suggestion: A chef knows the why.
A chef goes through the painstaking work of bringing the right ingredients together. She seeks out the combination of flavors that will resonate with the people she serves. She finds an audience. A chef doesn’t just cook. A chef designs dishes, each with a unique purpose.
Programmers are often treated like short order cooks. Sometimes we are told what to build without also being brought into the bigger discussion of its purpose. Some of us think that’s okay. It isn’t.
Short order cooks are never truly successful. The same applies to programmers who just write code.
If you want to be a better programmer, you need to care about the why. You need to be interested in the problem your software solves. You need to get involved in messy opinionated conversations about design and business development. You need to have hobbies that give you fresh eyes to see the world anew.
You need to be passionate about the bigger picture. If you aren’t, you’ll have all of the tools and none of the ingredients.