This is the 15th week of my journey as a first-time entrepreneur, and a first-time blogger.
Blogging has been great. I have always enjoyed writing, and blogging is a great creative outlet. It is also good preparation for releasing product into the real world. Pressing the post button for the first time was difficult. Putting yourself out there in the world isn’t easy. It gets better each time, but I still feel a little vulnerable each time I click the post button.
The main reason I started this blog was to create something that I wanted myself. When I quit my job, I spent a lot of time reading entrepreneur blogs and Hacker News. During this time, I found something missing: there is a significant survivorship bias in the community. Most of the advice and stories are told after-the-fact from people who have “made it”. This greatly skews the stories, and the advice, that we hear. If the majority of startups fail, we are only hearing a small percentage of the real entrepreneur stories.
So, I decided to create a blog early in my journey and attempt to be transparent about how things are going. My hope is to document one real journey, while building connections with other entrepreneurs.
Here is an update. A word of warning: this post is fairly long.
A good place to start is my first blog post on quitting my job. Here is a bit more to round out the story.
In my past life, I was a researcher in computer architecture. My undergraduate background was in architecture and microprocessor design. During my MS, I moved up the stack to compilers, profiling tools, and run-time systems. For my PhD, I explored effects of low-level performance on the user experience. I did several internships at IBM Watson, AMD, Intel, and Google on profiling tools, performance analysis, and dynamic binary translation/optimization. I then joined Qualcomm Research as a full time researcher studying parallel software and web browser algorithms.
It was at Qualcomm where I realized that I really wanted to move further up the stack. I spent a year studying and working on a parallel browser algorithm. While working within the guts of a browser, I realized I wanted to build what ran on top of the browser instead. I also wanted the freedom to build whatever I could dream up. So, I quit my job and struck it out on my own with about a 15 month runway.
Fortunately, I have a few things going in my favor. First, Mountain View is an awesome place to be. You can’t help but bump into other founders, investors, etc. The support system here is amazing. Second, although I don’t have any real web development experience, I do know how to code and have worked within large code bases in several projects (compilers and browsers are not trivial). Furthermore, my deep dive into browser algorithms at Qualcomm gave me a good jump start into the guts of CSS. Third, I am very good with uncertainty, and I feel it will work in my favor.
There is also a lot that isn’t in my favor. I’ve never worked at a startup. Or in the web industry. I don’t have real web development or mobile development experience. I’ve never released or worked on real product (the problem with being a researcher). Also, I am a single founder at the moment. Popular startup wisdom seems to be that having co-founders is the way to go. I would be open to one, but don’t have one at the moment. To be honest, things seem to be going fine so far, but I could be delusional. This will be a later blog post.
The first month.
The first week was time off. After that was about 3-4 weeks of straight learning. My goal was to gain technical know-how, while gaining a balanced initial education in some areas important for web startups and entrepreneurs. I focused on three areas: startups/business, web development, and the web in general.
Startups/business. I started out reading a lot of Hacker News which was extremely helpful at the beginning. It was a crash course in who’s who in startups, what the current big startups are, thoughts on product and design, startup/business thinking, etc. I also read several books. A few helpful ones were Eric Ries’s The Lean Startup, Guy Kawasaki’s The Art of Start, and many of the Essentials from Harvard Business Review.
Web development. I have typically worked on large C++ projects. Web development is very different. There is so much to learn: different languages, tools, and frameworks. I knew most of HTML and CSS from my work at Qualcomm. But there is whole lot beyond that. I picked up Heroku, Flask, Jinja2 templating, Amazon RDS, MySQL, Amazon S3, OAuth, handling passwords, jQuery, backbone.js, Twitter bootstrap, and the list goes on and on. During this time, I rolled my own user management system. It encompassed learning all the way through the stack, and I knew it would come in handy later.
The web. I also took a dive into the modern internet. I started this blog, and joined popular sites such as Twitter, Pinterest, and Reddit. I downloaded a bunch of mobile apps to give them a spin. I wanted to understand the sites, why they were popular, study UI/UX/design from them, and try to get inspiration for what I might want to build. Coming from computer architecture, I had barely ever used these sites. It is sad to say, but I finally “get” the web. Here is the coolest experience so far. As a test on the web, I have been posting my blog posts on Hacker News and Reddit, trying to get a feel of them as distribution channels. One day, a blog post hit the front page of Hacker News, and I suddenly got 10K views within 24 hours! I’ve never produced anything that has reached that many people. Insane. And it was only one link posted on a site for one niche of the web on one day.
Overall, the first month was great. The feeling of freedom was awesome. It may be the longest time I’ve ever spent in my life just learning and reading what I wanted, without any expectation of future homework, exams, publications, etc.
If there was a down side to the first month, it was that occasionally, I would finish a day feeling like I hadn’t made any progress. This usually happened on the days where I mostly surfed the web and read. I reassured myself by convincing myself that this was my transition period. There is a lot to learn, and a lot to think about. I couldn’t just jump straight into something without an idea, and without rudimentary knowledge about startups, web development, and the web in general.
The second month.
After about a month of exploration, I was itching to start building something. I was still learning a lot technically, but it was time to move beyond the login/registration user management system.
There are so many possibilities. Yet, coming up with that one thing to start on is challenging.
I had what I believed to be a reasonable start: I knew the area that I wanted to be in. I quit my job to pursue something in the area of personal development or personal goal setting. I care deeply about this stuff, and believe a good product could improve people’s lives in a very private and personal way. The details of this may be a good post later on down the road.
With this area in mind, I gave myself several hours a day to just brainstorm. This doesn’t mean I locked myself in a room and had a long brainstorming session. I believe in giving my brain time and space to munge on different concepts, and make connections between things. I did a related work search, looking for web/mobile apps in the area. I kept track of things that existed, and what I did and didn’t like. I went to the bookstore a lot and scanned interesting books looking for inspiration. I went on a lot of runs. When running, I like to clear my head, and let my mind go wherever it wants. Sometimes it goes nowhere. But sometimes, it starts to connect things that I would not have connected by simply thinking hard. On top of that, I met up with several friends that are interested in the area or personal development, trying to figure out products that might be meaningful.
My first project.
What was the first result from all this brilliant brainstorming?
It may be embarrassing, but I started out building a glorified todo list. Yes, the same kind of app everyone seems to build as their first app. My twist to it was that I was incorporating life goals, bucket list items, etc. I spent a few weeks building the lists, adding functionality for re-arranging the lists, using AJAX to automatically update the lists, etc. After a few weeks, I had what I believed was turning into a decent list manager.
Being honest with myself.
I started showing some friends. People would see it, say it was cool I was building something, and then leave it at that. After a few times, I started to wonder: maybe the world does not need another list manager. This may seem obvious to some, but when you are in the middle of building something, it can be hard to see past it.
Fortunately, I was able to back myself out of the implementation and the project to objectively assess what I was doing. I asked myself a few questions:
- Do I really believe the world needs this?
- If the big vision panned out, would I be excited about using it?
The answer to both questions was easy: no.
And so, I left the project.
Into month three.
There are several ways to describe the next week or two. One could say it was a couple weeks of nothing. One could also say it was a couple weeks of path finding and inspiration. I went back to the drawing board thinking of ideas. Again, I surfed the web, went to the bookstore, and ran a lot.
This time, I was more strict about what to work on. I kept going back to the questions that killed my first idea:
- Do I really believe the world needs this?
- If the big vision panned out, would I be excited about using it?
I came up with several ideas, but for a while, and answers were always no, and no.
This part of the journey was occasionally very frustrating. Again, days passed where I felt like no real progress was being made. Fortunately, the constructive side of my brain would help calm my mind. This is what I would tell myself:
The idea is important. You need to invest time and effort into this decision. You can’t just build. If you do, it will probably be a waste of time.
Eventually, I came up with the kernel of an idea that just might have legs. It was something I believe should exist in the world. And, granted that I could build a good and beautiful product, I would love to use it.
So that leads us to the present. I have a new idea. It is related to my earlier list work, but with some important twists. I’ve already gotten much better responses from showing people mockups. I’m pretty sure I’m taking this idea to launch. It has already been about 4 weeks of building, and I am happy with the progress so far. I am planning a beta release within a group of friends soon for initial user feedback. Hopefully it will be available for the general public in the near future.
I’ve already learned a few key lessons for first-time entrepreneurs.
First, at the beginning, there will be a time period where you feel like nothing is happening. This is OK. Take this time and treat it as part of the process. Most likely, you are in a career switch, and there is a lot to learn.
Second, you need to learn to kill your own ideas. The faster you learn this, the better. And the faster you kill your ideas, the better. Again, this may mean that you need patience. Take the time, and come out with an idea that you truly believe in.
Third, talk to people. I have learned a lot talking to friends who are entrepreneurs. I have also learned about my ideas, but simply describing them to friends. When you can get a friend excited about a good idea, that is awesome. If you consistently get lukewarm responses, your idea may not be that good.
In the spirit of talking to people, I would like to open this up on the blog. What else has been important to first-time entrepreneurs out there? Does anyone know of any good blogs or resources? And feel free to ask me questions: is there anything you’d like to know from a first-time entrepreneur?