10 lessons from successful one-person startups
I interviewed 7 indie hackers and full-time SWEs with side ventures for their insights.
This is Engineer’s Codex, where I write about lessons of outperformance from real-world engineering and engineers.
The recent state of the tech market, the advent of AI, and inflationary pressures have caused many software engineers to pursue entrepreneurship.
There's a growing niche of full-time software engineers with side hustles (both software and non-software).
There are also indie hackers - people who run one-person, bootstrapped businesses.
Side ventures and indie hacking are not new. People have been doing this for decades.
I talked to indie hackers and software engineers with successful side ventures ($20k+/month) to see what I could learn.
Examples of successful indie hackers
Pieter Levels: ~$2.8M per year with NomadList, PhotoAI, InteriorAI, RemoteOK, and more.
Tony Dinh: $45k/month with TypingMind, XnapperHQ, and DevUtils
Jon Yongfook: $52k/month with Bannerbear and Browserbear
These are very public Indie Hackers.
There are many more who aren’t public about their ventures for various reasons, such as privacy and competition.
You can find more stories at Indie Hackers or Starter Story (disclaimer: affiliate link).
How to build a successful one-person business
What makes indie hackers successful?
Ship fast and often: They use familiar stacks to ship fast. For example, Pieter Levels uses PHP and jQuery. They go from idea to MVP very quickly. Tony Dinh said TypingMind’s MVP took him 2 days.
Small bets: Most projects released are pretty simple and small, making it easy for them to release, validate, and maintain multiple products.
Marketing on lock: The above listed have marketed amazingly through their personal brands on Twitter. They have thousands of followers. Other indie hackers have marketed through paid ads, SEO, and other standard techniques. It’s common for engineers to skip this part, but, in reality, building the product is just half of the work. Marketing is the other half, and often harder.
A common way of marketing is “building in public.” Indie hackers will share the journey of building their product. Screenshots of MRR (monthly recurring revenue) commonly bring the most engagement on social media platforms.
Working through failure: Most projects shipped by indie hackers failed. But, they didn’t quit. They kept shipping until something worked.
Selection bias: I included selection bias because indie hacking to the scale of those above is an impressive feat. It’s impressive because it’s uncommon. There are thousands of stories online about failed indie hackers: people who quit their jobs, tried entrepreneurship, and failed. It’s not all rosy.
“I spent my last 12 years building companies. They all failed; I didn't earn a penny, and I didn't even get venture capital, and it made me feel like a failure. And I'm talking about serious attempts. 6 years, 2 years, 1 year and in between a lot of research & freelancing to evaluate other ideas.” (Source)
The cost of indie-hacking
Indie hacking is not free and it’s not easy.
Most indie hackers don’t generate the type of income of those listed above. Most fail.
Most indie projects don’t require much startup cost other than time.
However, the real opportunity cost is the stable income and benefits from a full-time job.
Indie hacking full-time seems more viable for those in non-US countries. A common indie hacker “goal” is $10k/month, which comes out to $120k/year.
While this is a great income, a 22-year-old software engineer working at FAANG can make over $200k/year in total compensation.
An average senior engineer at an established “big tech” company can pull in over $350k/year in total compensation.
At those kinds of levels, the risk/reward changes a lot.
It’s a lot easier to make $15k/month and work your way up to $30k/month in stability than face the opportunity cost of failure when indie hacking.
Furthermore, in the US, indie hacking doesn’t come with a stable income, healthcare, 401k matching, and other employer-tied perks.
To make indie hacking financially worth it, it can’t only match a software engineer’s full-time income. It must overtake it, which is quite hard to do.
Side hustles
Instead, I’m seeing a lot more software engineers, especially those in “big tech,” start side hustles. This allows them to have the best of both worlds - stability and high income of a full-time job and the creativity and ownership of entrepreneurship.
They automatically start off with a safety net from their job. Any other side income is now a cherry-on-top, at the cost of their free time.
Everyone I talked to had the itch for entrepreneurship, but didn’t have the risk-tolerance to eat the opportunity cost of their jobs.
I talked to a couple of engineers who chose to stay anonymous that have lucrative software side hustles ($20k+/month), such as a mobile fitness app, a no-code website builder, and a video game inventory manager.
Others choose to go the non-software route, but these are more well-known and thus out of focus for this issue: courses, content creation, newsletters, communities, real estate, and more.
Rather than list off ideas, I asked successful “side-hustle” engineers their best advice for managing a full-time job and their side ventures.
Lessons from successful side ventures
Focus on the intersection of your unfair advantages and passions.
For many, this was a distribution advantage. For example, some of them had a friend that had a huge YouTube channel, allowing them an easy distribution advantage.
Others had a knowledge or credibility advantage that wasn’t easily found or compiled together online. For example, one founder I talked to was a distinguished machine learning engineer and was able to leverage this to create a niche AI product to sell to non-tech businesses.
Some had a skill advantage. They could develop web applications fast or write well.
Maintain non-negotiable consistency. One of the most common struggles that came up was motivation. With full-time jobs, it was easy to “rest on their laurels” when it came to building their side venture, especially if the venture was not growing as fast as they expected.
This is why having a passion for what you’re building is important.
Everyone had different strategies to stay consistent. My favorite strategy was called the pause-music strategy (for lack of a better name, sorry). Each week, one engineer I talked to would play a 10-hour long soundtrack on YouTube while working on his mobile app. Any time he got distracted, he would pause the video and would only unpause once his focus was back. He went through the soundtrack twice during the week. This forced him to have 20 hours of focused work a week and he told himself he would stick to it for a whole year before quitting. His application, an AI fitness app, got traction 7 months in.
Choose one thing at a time. Software engineering is, in my opinion, a creative discipline. The longer you stay in the industry, the more problems you see and ideas you have. However, spreading yourself thin is a great way to fail.
Most engineers had great ideas, but found that focusing on one product at a time was the way they succeeded.
The best strategy I heard for this was two-month sprints. One engineer would work on an idea during nights and weekends for two months. At the end of two-months, he would re-evaluate progress. This allowed him to explore his ideas deeply enough to where he finally got to the end of a two-month sprint and thought,”I could do a 12-month sprint with this one.”
Have a marketing strategy beforehand. Software engineers can usually build good products, but selling them is tough. Engineers I talked to had various strategies.
Some gave themselves a goal to perform one marketing task a day. This commonly was either one social media post or a cold email sent.
Others built distribution advantages first, like a social media following or a personal brand.
Some utilized the income from their full-time job to run paid ads.
Patrick MacKenzie has some great advice on marketing for engineers.
Protect your mental health at all costs. It can be easy to burn out with a full-time job. Adding the time, effort, and stress of another venture on top of that can be an easy recipe to burnout.
Take time off as needed. One engineer described himself as a severe workaholic and actually forced himself to schedule time to play video games for a few hours a week in order to destress.
Remember your final goal. Most of these engineers liked their full-time jobs and did not want to quit. As a result, it wasn’t worth burning themselves out for a side venture.
Some people would hire help after they got to a certain revenue point, like a customer support assistant or a marketing agency.
An important note
The people I interviewed are rare cases.
99% of the time, it’s easier for someone to find a better paying job to increase their income. Software engineering is extremely well-paid and putting in the work to get a higher-income full-time role can pay much higher dividends (with less risk) compared to starting a business on the side.
However, for many engineers, it’s less about the money and more about scratching that entrepreneurial itch. Ventures and businesses have unlimited upside, which is what makes them so attractive.
Absolutely LOVED this one. Until today I've chosen the 'safe' path, and now I'm at the stage where I'm thinking if it suits me. It's very eye-opening to read about some failure stories, especially the 12 years one. In the end though - his advice was to try, take a break working fulltime if needed, and go right back at it :)
I liked the "scratching the entrepreneurial itch". If we set an expectation of making big money we are going to have an immense amount of pressure. Like you said it's easier to go through a job to high salaries than indie hacking.
But being able to experience the entrepreneurship part without the big downsides of going full-time indie hacking is super valuable. I think most of us have the idea of starting something for years until we start it
I wouldn't say to do it just for fun without any goal, that could lead to not having consistency. Instead, it's doing it with a safety net.