I put off writing this post for a long time. I have been working on my side project SQLSmash on and off for more than 3 years now. But I am not successful yet, at least not in the traditional sense. I have happy paying customers and make a little bit of money from it, but nowhere close to what I make at my day job. However, when I read about other people who have gone down a similar path, I get a lot out of their stories whether they are huge successes or not. So in the same spirit, here are some notes about my journey and what I have learned so far.
If you disagree with something, and I hope you do, please let me know in a tweet or comment. You might save me months or years to learn an important lesson.
Job vs Bootstrapping vs Venture Capital
When you are working for somebody, you are exchanging your time for money. Your boss will assign you the work, and as long as you finish the work satisfactorily, you’ll get paid on time. The risk factor is pretty low. Your reward for being more effective is more work, along with some career growth (If your boss understands the value you bring to the table, or you are good at highlighting that yourself).
With entrepreneurship, you are exchanging value for money, and putting in time and work to create that value. The money you get is proportional to the value you provide. Now this might be a lot, but it might also be zero, and your customers get to decide that. You get to be your own boss, but that’s not always a good thing. Because being your own boss does not mean that you are a good boss. A lot of people struggle with being kind and fair to themselves.
Until you get paying customers, you can choose to go down the bootstrapping route, or get VC funding. With Bootstrapping, you use your own funds to survive till your profits can sustain you. 37 Signals has profiles of some awesome Bootstrapped companies, and I recommend reading through their journeys. VC funding lets you move faster, and you get access to the expertise and guidance of the venture capitalist, but you also give up some control. Other people now get a say in choosing the direction of your project, and they might have different priorities (fast return on investment) than you. You also have to spend a lot of time trying to get funding rather than working on solving the problem.
I am very risk averse, and decided to work on a side project while having a fulltime job. If you go down this route, make sure your employer is aware of what you are doing, and that there is no conflict of interest between your day job and your side project. Be realistic about what you can achieve before you burn out. Don’t try to build an Uber clone in your free time as your first project (This example might sound contrived, but I know a developer who tried to do something very similar). I have shipped a grand total of one side project, so keep that in mind as you read the rest of this post.
Ideas vs Execution
Some people struggle with finding an idea, whereas others have too many of them. Solve a problem that you yourself face, or know somebody else who does, in the real world. If the problem area overlaps with a topic you are passionate about, that’s even better. I am obsessed with tools that improve developer productivity, and I am surrounded by developers all the time at work. So, I created a developer productivity tool for my first project, and I built features that I (or my peers) wanted.
A mistake I see a lot of people make is that they are waiting for an idea that sounds sexy. Unfortunately, most businesses that make money are not sexy at all, but rather boring. And your success, while tied to your idea, will depend much more upon how you execute on it. Derek Sivers explained it best when he said that ideas are just a multiplier of execution. Going from an idea to finished product can look simple from a high level, but you learn about the real challenges only when you try to ship something.
Another common mistake is switching to a new project as soon as you run into a roadblock on your current one. Do not suffer from shiny object syndrome and try to work on more than one thing at the same time. If you have ever seen the Plate Spinning act in a circus, you’ll see that every time the performer adds a new plate in the mix, it has to reach a certain velocity before he can add another one. The same concept will apply to your project, you need to reach a certain momentum (or kill the project) before you can think about another one.
While I have had great mentors and friends who have influenced my decisions, I have worked alone on side projects so far. In talking to other people, and based on my own experience, I think it’s best to work in teams of 2 or 3 while trying to ship your first version. Working alone can get pretty overwhelming in the long run. Having somebody to talk to keeps you grounded and focused. But you do need the right kind of people to work with. You need to wear many hats in a startup, and your team members need to be pragmatic and generalists, not rockstars or specialists. Ideally, you should find somebody who complements your strengths and weaknesses.
If I had to summarize my journey, I would say that the highs are higher, and the lows are lower. Two contrasting examples come to mind, both of which I remember vividly. The first one happened a couple of days after I launched SQLSmash v1, and I woke up to an email notification for a $500 order. That was the first time it hit me what making money while you sleep feels like. I was so excited, running around my house, giving my wife hi-fives. I think I didn’t stop smiling that whole day. The other instance happened while I was working on v2, and I had this idea for a feature that no other competing product had, but it was really hard to get it to work. I obsessed over it for weeks, and finally figured out a way to implement it. I soon met a good friend who is a DBA (part of the target audience for SQLSmash) for lunch, and let him play around with the feature. I then sat back, waiting for his jaw to drop and hear lavish praise about how smart I was. But the jaw never dropped, and instead of the praise, all I saw was a confused look on his face. He just did not get why anybody would be excited about this feature. I have never lost my appetite so quickly, and did not get back to coding for a good week after that.
Building a profitable business takes a long time. That is time you have to take away from family, friends, hobbies and other projects. Be aware of what you are taking time away from and make sure that it is worth it. Explain what you are doing to your family. My wife happened to see a talk by Garrett Dimon a couple of years ago. I think nothing I ever said helped my wife understand what I was trying to do as much as seeing somebody else talking about their journey (thanks Garrett).
I have written about habits and Choosing your 20 mile march before. Motivation can get you started, but habits keep you going. So develop the right habits that’ll help you on your journey.
The chains of habit are too light to be felt until they are too heavy to be broken.
By now, everybody knows that you should build a MVP (Minimal Viable Product) and get it in front of your users to get feedback from them as early as possible. Users are not very forgiving nowadays, especially if you are competing in a crowded market, so don’t use the MVP as an excuse to ship a product full of bugs. You might not get another chance if you leave a really bad impression. At the other end of the spectrum, Perfect is the enemy of getting things done. You want to get things done, not be perfect. So be prepared to be constantly doing this dance where you are trying to balance between shipping a piece of turd vs trying to build the perfect product.
If you are building a software, use the technology stack you are proficient in. Don’t change technologies frequently to keep up with the new flavor of the month. Unless you are serving a very technical niche, your customers don’t care what technology or framework you are using to solve their problems. Feel free to outsource or use third party software for areas that do not form a core competency for your product and lie outside you strengths (payment processing, graphics, logos etc).
When you are starting out, do not worry about scaling your product to handle millions of customers. In fact, as Paul Graham says, doing things that do not scale can help differentiate you from the rest of the people in the same space.
Some more advice that I read from other people and did not follow myself, but makes perfect sense in hindsight, is to make your first project a small one. Perhaps a book, or a screencast, or a software with a single purpose. This lets you learn the same lessons a lot faster.
The F words
If you are putting yourself out there for the first time in any form (public speaking, blogging, shipping a product), you will face Fear in many forms. Don’t worry, you are not alone. The only way to get past it is to face it. It gets easier with time.
Anxiety is nothing… but repeatedly re-experiencing failure in advance. What a waste.
Most of the new ideas and projects fail. It’s best to know that going in. Take small risks, fail small, get frequent feedback and adapt regularly till you succeed. Some folks like to to create circumstances where failure is not an option, and I guess that’s a personal choice. In my opinion, failure is not a problem. Failing to recover is. The other thing to remember is that failure itself is an event, and does not last long. Feeling like a failure though, is all in your head, and can last as long as you let it.
I’ve missed more than 9000 shots in my career. I’ve lost almost 300 games. 26 times, I’ve been trusted to take the game winning shot and missed. I’ve failed over and over and over again in my life. And that is why I succeed.
Sales and Marketing and other yucky stuff
If you nodded while reading this subheading, you are in trouble. Sales and Marketing are as important, and need as much effort, if not more, than required for building the product. You need to figure out a way for your ideas to spread. In this TED talk, Seth Godin explains it perfectly:
…And the thing about the invention of sliced bread is this – that for the first 15 years after sliced bread was available no one bought it; no one knew about it; it was a complete and total failure. And the reason is that until Wonder came along and figured out how to spread the idea of sliced bread, no one wanted it. That the success of sliced bread, like the success of almost everything we’ve talked about at this conference, is not always about what the patent is like, or what the factory is like – it’s about can you get your idea to spread, or not…
I learned this the hard way, and I absolutely suck at both Sales and Marketing, so I cannot share many nuggets of wisdom here. When I read The 22 Laws of Marketing (long after I launched), everything in the book sounded logical and seemed to make sense. But on comparing my own thought process with the recommendations in the book, I had violated pretty much every one of those 22 laws.
In no particular order, here are some things that have worked well for me:
- Creating a short video to help explain what the product does.
- Using language that the customers use on the website. Describe benefits (instead of features), when possible.
- Creating short screencasts on other developer tools on my own blog, and giving a shoutout to my product at the bottom of the page.
- Blogging about tips and tricks that my target user would find useful, and putting in a link for my product on the page.
- Offering a discount for signing up to my newsletter. Email has one of the best conversion rates. I also only send emails about important updates and discounts.
The hard truth is that Marketing is not a battle of products, it’s a battle of perceptions. There is no objective reality. There are no facts or best products. All that exists in the world of marketing are perceptions in the mind of the customer.
I have also realized that I am at my happiest when I am creating. Working on Sales and Marketing is a constant struggle. I mean all I want at the end of the day is for somebody to give me a hug, tell me how intelligent I am, and give me a check for a million dollars for something I created. Is that too much to ask?
I have made plenty of mistakes. But I would have made a lot more had I not learned from other more experienced people. If you are trying to learn more about bootstrapping, here are a few places to check out:
- Podcasts: I try to listen to podcasts when I am driving, or taking a walk. I am subscribed to a lot of them, but my top 3 recommendations would be:
- Startups for the Rest of Us: I think I have known about Rob and Mike’s podcast the longest. They have a lot of experience under their belt, and also organize MicroConf, one of the best conferences for bootstrappers. I would also recommend Rob’s book Start Small, Stay Small.
- Entreprogrammers: You get to listen in on the mastermind calls between 4 developers trying to figure things out. I really enjoyed listening to this one, and seeing the hosts overcome different startup issues in real time.
- Bootstrapped: Great podcast, and they also run an awesome forum, where you can ask questions and get advice from other bootstrappers.
- Blogs: The ones that have had the most impact on me are:
There are more resource out there than you can keep up with. At some point you have to realize that Learning is another form of procrastination. Try to do Just in Time Learning. If you want to run a marathon, you can read a book or watch a video for tips. But then you need to start running. And you should not try to run a marathon on your first day. You need to start small. The same philosophy would apply here.
At the end of the day, remember that nobody has all the answers (especially not me). Listen to people’e opinions, but trust your gut. Make something you will stand behind and be proud of. If you told me that you are going in the mobile app building business to make money, I would proceed to shake you till you come to your senses. But my good friend Amir has made a #1 selling app game in the last two years with 12000 5 * reviews. Start now, work hard and You’ll figure the rest out.
The best time to plant a tree is 20 years ago. The second best time is today.
– Chinese Proverb