October 2019
I quit my job about a year and a half ago, having hopes of building my own product. I’ve mostly failed at that, but have learned a lot. Here are a few takeaways.
Don’t quit your day job. I’ve always admired stories of people declaring their job wasn’t right for them, quitting, and just coming up with their own thing. But the reality is that’s not an easy transition to make and I think most people just flop without the structure of a more traditional job. The book “The Passion Paradox” talks about how important it is to pursue your passions carefully and deliberately to avoid having them derail the rest of your life. It takes time and many ups and downs before something you’re passionate about becomes mature enough to replace a typical day job. During that process its good to have the money and stability of a traditional job.
Have at least one solid product idea. I had a general idea that I wanted to make a running app that had less numbers, tables and maps, and more abstract visualizations. Something along the lines of the pretty circles Apple uses for their Activity app. I played with a bunch of different ideas, and finally landed on using rectangles as the core visualization for a runs time and pace. After putting together a prototype with this however I realized it just looked too abstract and simple. I craved more information or more shapes or more anything beyond a few rectangles on my computer screen. It just wasn’t a satisfying design. I also realized that my idea wasn’t unique. A number of existing apps already leveraged rectangles to visualize interval workouts and they did that alongside all their other features that I had little hope of competing with. I had hopes that a better idea would come to me if I just gave my brain time to wander free of the mental load of my full-time job but my flow of new ideas dried up pretty quickly and then I was just left trying to force a mediocre idea into a successful product.
Use proven skillsets and technologies. Upon starting my endeavor, I had little experience with front-end web development, and almost no experience with mobile development. Consequently, my MVPs looked very unprofessional. My first one wasn’t mobile-friendly at all, and my second one was just janky. I was too embarrassed to even show them to people. In the end, I wasn’t sure if a) my product was just bad b) I was using the wrong technologies or c) I just wasn’t skilled enough at the technologies I was using. If I had built successful front-ends and mobile apps before, I would have been able to eliminate all the uncertainty of b and c, allowing me to better focus on the product.
Have someone you feel accountable to. I was trying to build based off of my own tastes and my own ideas of what potential future users would want. When I’m just building for myself, I often procrastinate and stop when things get too difficult. When I’m building for some abstract user base I fall into despair and confusion over what features and devices to prioritize. On the other hand, when I have at least one real person I’m trying to satisfy, that gives me something concrete to aim for and often they can help by providing a little push if things get stuck.
Failure is an option. One way to define mental toughness is goal fixedness. Its often seen as a good thing and I know that in my upbringing it was something my father talked about quite often. But there are times when it’s just stupid and wrong to keep trying something, and in those cases its best to be able to step back, acknowledge that the pursuit of a goal is no longer worth the costs, and then let go and move on. We’re each the hero in our own life journey, and often low moods arise from facing some obstacle we cannot overcome. Rather than grind on in a perpetual state of misery it’s better to reframe your story or look for an alternative route. I’m someone who can grow quite attached to my own ideas and have struggled with this in the past, but have found mindfulness meditation to be helpful. It can be hard to see through the anger and frustration that naturally arises when things aren’t going your way, but taking the time to detach from your immediate reactions is sometimes enough to find a better way forward.
Well, I think those are the main takeaways. To be fair, in a number of regards this has still been a success. I’ve learned a lot more about front-end development, participated in an open-source community (Elm Language) for the first time, and managed to ship a running calculator that’s currently being used on RunDoyen.com. Most of all I’m grateful for all the humility and wisdom that I’ve gained through this and am looking forward to the opportunities that await in my next chapter.