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.