Last month, I wrote a lengthy post to share my story as a SaaS startup founder: https://medium.com/swlh/20-months-in-2k-hours-spent-and-200k-lost-a-story-about-resilience-and-the-sunk-cost-fallacy-69fd4f61ef59
Here's what happened next.
In that article, I’ve explained what I’ve gone through during the previous 20 months; all the time and effort spent trying to create a product, and not succeeding (yet).
I wrote that honestly, sharing my thoughts about the ups and downs, and the struggle to accept or reject the idea that I had fallen for the sunk cost fallacy.
In this article, I’m sharing my lessons learned since last month, and how writing that article last month influenced me since then.
I went to sleep right after publishing my article on January 4th and was amazed to find it on top of Hacker News when I woke up:
My post stayed there for 12+ hours, and it brought quite a few visitors to my blog:
It’s quite rare for me to write about myself/my story because I usually prefer to share geeky technical details, and even write programming books, but writing and publishing that piece turned out to be a great decision.
The view count was certainly flattering, and the paycheck incredibly satisfying (~600$ for that article alone, which blows my mind), but what I value even more is the fact that so many people chimed in and shared their opinion about what I did wrong, and what I could’ve/should’ve done better/instead. A few awesome human beings even reached out to me through LinkedIn, Twitter, and e-mail just to wish me luck and give me a tap on the back. I didn’t expect that at all, and I’m super grateful.
I paid real close attention to each and every reaction that the post has triggered, and replied to most. One of the major things I’ve learned through this exercise is that perfectionism, combined with my highly technical background was both a bone and a bane. It made me prefer to solve complex technical challenges rather than focus on the most important thing of all: hitting the market with something.
On a technical level, my project has it all; solid architecture, great code quality, automated tests, PWA, lazy loading, infrastructure as code, Docker, Kubernetes, release automation, automated deployments, continuous integration, clean error handling, security (HTTPS, HSTS, CSP, etc), logging, clean commit messages, automatic code formatting, test data, database seeding, etc; you name it. The codebase was an ode to the software craft. But there was one major problem: it’s wasn’t a product. Not yet. No, it lacked the main ingredient: real users, ready to pay real money to make use of it.
The thing is that while I was working on all those technical elements, I was convinced that I was doing the right thing, that it was required, almost unavoidable for the code to be maintainable, and for the application to function even.
I was both right, and utterly wrong. I was right in that many of those elements are, generally speaking, important, and really valuable. That is, the fact that I’m a software crafter rather than “just a coder” does make sense. Quality does matter. That being said, I was also totally wrong because of the timing. And timing is everything!
My timing was not right; it was a problem of priorities. I had the right energy, I was focused, I was going all out, I was resilient, but I wasn’t working on the most important things. I failed to see it, and my co-founders also did.
At that stage of a startup’s lifecycle, we were only supposed to focus on hitting the market; no matter what. Code quality didn’t matter all that much. We were way too focused on the engineering side of things. Now it’s dead obvious, and I’m fully aware of it, but it remains quite difficult to balance in practice.
Part of my problem is that the perfectionist in me didn’t want to accept the idea of delivering lower-quality code. And it’s still true today. I want my future clients to get rock-solid software. But while that’s a great end goal, it also prevents those same people from becoming my clients, since they don’t receive anything at all because I’m too busy making things “perfect”. I needed to let go of perfectionism, and lower the barrier.
After letting the lessons sink in, I decided to give my project one last chance.
I’m allowing myself to continue up until the end of April, and see where it leads me. If it’s still not flying by then, I’ll back out, because I’ve already invested too much of my time, energy, and money into it.
I’m the kind of person that can easily find the motivation to keep going for very extended periods of time; pretty much like a drone ;-)
But, sometimes in life, we have to set limits somewhere. Even if we can keep going, it’s not always the best choice. My reasoning is that even if I fail, I’ll have learned a ton along the way, I will know more about myself than I did before, and it’ll just be the beginning of a new journey. On the other hand, if I do succeed, then it’ll be even more satisfying, knowing what I’ve been through, and how uncertain things were.
With this mindset, I just can’t lose (apart from tons of money and some sanity ;-)
January 11 to today
Right after reading the first replies to my post, I decided to revisit my product’s backlog. I basically pushed back 90% of the technical tasks that I had planned. Pushed back dependencies upgrades, code quality improvements, and tons of other things; even security-related tasks. My goal was clear: bring the focus back to the essential elements.
Just by doing that, I managed to shorten the timeline by 3 months, which means 3 months to focus on more urgent/important things, like bringing our product on the market.
After sharing the news with my co-founders, I went even further, and divided the “MVP” backlog in two: “NEXT” and “RIGHT AFTER NEXT”, to push back non-essential features. Of course, this meant fewer features, but it also meant more focus on the most impactful ones. And that was a great move. Since then, I’ve kept pushing back “details” to later.
Another pitfall that the post helped me comprehend was the interrupts that made me lose a lot of time throughout the days. Since January, I’ve been more protective of my time, allowing myself to focus on what matters. My technical co-founder understood and did his best to let me focus. And it has been liberating. Being able to focus is key for productivity.
I focused much less on technical details, spent less time arguing about code quality, and did less thorough code reviews. I didn’t like it one bit, as I felt like working way “below my standard”, but the result speaks for itself. In a matter of weeks, and over dozens of releases, we’ve delivered many important & impactful features. This has allowed our non-technical co-founder to start using the product with actual production data at a real client. This was exciting and brought back insightful feedback about what needed to be improved. It also helped us to better feel the right priorities. Of course, a few bugs crept in, and the codebase is not pristine anymore, but we’ve accelerated the pace, and that’s more important right now.
At this point, our product is still not on the market, but we’re getting closer and closer. Next month, more people should start using it. It’s a no-brainer; even if it is far from perfect, we need to put it in front of more people, and we need to do that quickly.
My co-founders and I are also looking for funding (pre-seed stage), as we’ve reached a point where we just can’t continue like this. We could probably have avoided this situation if we realized our mistakes sooner, but it’s often much easier to see those things after the fact.
Today, I’ve sent 5K EUR from my personal savings account to my own company’s bank account so that it stays alive just for a little longer. It is stressful of course, as that’s not the way I imagined my life back in 2019 when I launched DeveloPassion. If I had continued freelancing, I would be rich by now ^_^. But I’ve made a commitment, and I need to keep going at least until the end of April. Until then, I’ll be doing my best to steer our product in the right direction, and hopefully hit the market before the deadline is reached!
Bootstrapping is clearly not easy, but it’s an interesting journey. And I just can’t picture myself going back to the classic 9 to 5 job.
That's it for today! ✨
Hello everyone! I'm Sébastien Dubois. I'm an author, founder, and CTO. I write books and articles about software development & IT, personal knowledge management, personal organization, and productivity. I also craft lovely digital products 🚀
If you've enjoyed this article and want to read more like this, then become a subscriber, check out my Obsidian Starter Kit, the PKM Library and my collection of books about software development 🔥.
You can follow me on Twitter 🐦
If you want to discuss, then don't hesitate to join the Personal Knowledge Management community or the Software Crafters community.