With enough and time and programming skills, a single person can create an app that will do almost anything you can imagine. Yes, creating something that will change the world does not sound far-fetched for coders. Maybe that’s why many of us are attracted to entrepreneurship.
The problem is, most coders don’t realize it takes a lot more than coding skills to create something people are willing to pay for. Simply knowing how to code it isn’t enough. No matter how brilliant your idea is, selling it will often be very difficult. The “build it, and they will come” myth often misleads coders into creating products without any sales strategy. And that can be disastrous.
I felt this pain myself. By the time I got out of college, I felt like I could build any web app. I was very naive, and dying to put my coding skills to good creative use. It was 2011, and I had just learned about Bitcoin. There’s this widespread belief that in order to create an innovative product, you have to foresee what the next technological revolution will be, and catch its wave early. I was absolutely sure Bitcoin was the next big thing (at least that’s something I got right). I had to catch that wave.
Creating a new product
At the time, Bitcoin already had exchange markets, gambling websites, and nascent e-commerce solutions. I thought of contributing to the Bitcoin economy by creating an online questions and answers platform, where people would pay each other in digital currency. This super short video explaining the idea survived:
I fell in love with this idea. I started to spend 6+ hours per day to code it. Deep down, I knew coding it just yet wasn’t the best way to proceed. I’d read a few books on how to create products. I’d talked to entrepreneurs. Everyone emphasized the importance of validating the idea before you spend the energy to build it.
The market validation step
For those unfamiliar with the term, you “validate” a product idea by managing to get several unknown people to order or pre-order it. I was reluctant to validate my idea. My product was different, I thought. Just like Mark Zuckerberg didn’t care to validate Facebook, I wouldn’t validate my app. Boy, was I naive. Against everyone’s advice, I skipped the validation step and dove straight into coding.
Coding was the part of the process I enjoyed the most: I used the hottest, trendiest web technologies at the time: Django, MongoDB, and AngularJS. I tried to build an MVP: a web system that had a minimal set of features to attract the first paying users. After a year of part-time coding, the app was ready. It was working flawlessly, it was fully integrated with the Bitcoin blockchain, and I was super proud of it.
After I finally announced the website to the world, something very unexpected happened: people didn’t use it. I got a few interesting questions, but overall, the website’s usage graph wasn’t growing.
I invited my friends to use it, but they couldn’t. It was still 2012, nobody knew what Bitcoin was. I tried to add credit card processing to let people pay for the questions by credit card instead of Bitcoin, but no credit card company would accept a first-time entrepreneur from Brazil for international credit card processing.
I was super frustrated, trying to get people to use the app, while desperately searching for a credit card processor that would accept me. Until some friends pointed me to an amazing book from the 1930s, called “Breakthrough Advertising”. This book completely changed my perspective. I realized all the wrong assumptions I had made. I could now see that marketing the product as it was built was nearly impossible. I really regretted not having validated my idea.
I could now envision ways to repurpose what I had created to make it marketable. For instance, I could try to market the platform as a way for experts to offer quick text-based consulting services. But at that point, I was too stressed out and decided instead to kill the project and start something new.
I used the lessons I learned, along with fresh advice from my friends, to work on a simpler idea: a book to help people learn computer science. This time, I did my homework: I pre-sold the book before I started writing it. Random strangers I never met pre-ordered the book when I asked my friends to spread the pre-sales proposal. This book project seems to be a total success:
For a first contact with concepts that govern code, see the book Computer Science Distilled. It’s a slim intro to computer science that includes many basic principles every programmer should know. Check it out!
This post is really just a warning to coders who, like me, dreamed of making a living out of their creations. Don’t fall into the “build it and they will come” trap. Listen to other entrepreneurs. Learn marketing. Or even better, get a partner that is as excited about marketing as you are about coding. Creating a successful marketing strategy is very different than being a good engineer.