From Google to Independent Developer: My Journey to $400,000 in Annual Income

From Google to Independent Developer: My Journey to $400,000 in Annual Income
Author | Michael Lynch
Translator | Sambodhi
Editor | Liu Yan

This article was originally published on the author’s personal blog, authorized by the original author Michael Lynch, and translated and shared by InfoQ Chinese Station.

I quit my job at Google and started my own software company three years ago. This has been my highest income year so far, with an annual income of $63,000, which is a 7-fold increase from 2019.

Today marks the third anniversary of my departure from Google and the creation of my own software business. At the end of the first and second years, I summarized my progress, so it’s time to share my advancements.

This year has gone smoothly

In the first two years of working for myself, my total income was less than $10,000 (about 65,000 RMB, averaging $30,000 per year), and my goal for the third year was to earn $20,000.

Halfway through this year, it looked like I was going to fall short of my goal. My business was making a total of $300 a month, and none of my new ideas were working.

A new product launched in May miraculously turned the situation around. By the end of last year, I had earned $63,000, far exceeding my goal.

From Google to Independent Developer: My Journey to $400,000 in Annual Income

Well, my net income is still negative, but this time I have a good reason!

Currently, I am selling physical products, so my income lags behind expenses by two to three months. The profit margin on each sale is between 30% and 50%, so the final figures will catch up.

Project Introduction

TinyPilot

From Google to Independent Developer: My Journey to $400,000 in Annual IncomeTinyPilot is a low-cost device I developed for remote server management.

In the past few years, all my software development has been done on a home server. It worked well, unless I messed up the network configuration or wanted to install a new operating system. My server is not connected to a monitor or keyboard, so I had to put it on my desk, plug all the cables from the workstation into the server, and wait until I was done before switching them back.

I learned that a Raspberry Pi can masquerade as a USB keyboard, and I also learned that it can capture video. What would happen if a web application combined these two functions to turn the Raspberry Pi into a mini remote management device?

After a few months of tinkering, I had a working prototype.

From Google to Independent Developer: My Journey to $400,000 in Annual IncomeFrom Google to Independent Developer: My Journey to $400,000 in Annual IncomeThe prototype of TinyPilot I created, using an open-source KVM over IP device.

I was very skeptical about whether this thing had a market. Why would anyone buy such a device from me? It was just a collection of widely available hardware components. Maybe one or two customers would buy each week, so if I could make $80 per unit, it would be worth my time to package and ship the orders.

So I published a blog post: “TinyPilot: Build a KVM Over IP for Under $100”.

Before long, I realized this business was unlike anything I had done before. Within four hours of publishing this blog post, customers bought all nine kits from my inventory, and they continued to buy even with delayed delivery.

In less than a week, this blog post generated $8,800 in sales. It made the front page of Hacker News and became one of the most popular “Show HN” posts of all time.

From Google to Independent Developer: My Journey to $400,000 in Annual IncomeTinyPilot’s reception on Hacker News and Reddit.

After the initial peak, sales dipped, but TinyPilot has continued to grow since then. I had no experience selling physical products, so I quickly learned how to manage inventory, execute orders systematically, and work with suppliers to produce circuit boards and 3D printed cases.

TinyPilot ended the year with nearly $54,000 in revenue. My net income is still negative, but that’s due to upfront costs. TinyPilot’s expenses in 2020 included inventory that extended into February 2021.

From Google to Independent Developer: My Journey to $400,000 in Annual IncomeFrom Google to Independent Developer: My Journey to $400,000 in Annual Income

*: The vast majority of the code was written by me, but I hired a developer to help manage the sales page.

Getting on the Front Page of Hacker News

From Google to Independent Developer: My Journey to $400,000 in Annual IncomeThe front page of Hacker News featured my course on blogging.

In May, I gave an informal talk to my peer mentoring group titled “How to Be a Sort of Successful Software Blogger”. I tried to explain the success tips I had learned from writing on platforms like Hacker News and Reddit. Sharing this process was very enjoyable, but I didn’t know how to handle the materials.

Throughout this year, I saw more and more developers teaching what they know through paid courses. TinyPilot showed me how powerful it is to connect my blog with my business. If people enjoy my blog, they might be interested in purchasing a course on my writing.

Recording the course was harder than I expected. I initially planned to work 30-40 hours, but it turned into nearly 200 hours.

The course launched in January 2021, so the numbers below do not include orders after the launch. So far, sales have been lackluster, but it’s too early to know about long-term returns. Regardless, I’m proud of this material, and some of my students have told me that the course has greatly helped their writing.

From Google to Independent Developer: My Journey to $400,000 in Annual Income

mtlynch.io (Blog)

This year, my biggest change in blogging was thinking more strategically about article topics. Before 2020, my writing approach was, “This topic is in my head right now, so I’m going to write it down and see what happens.” Sometimes blog posts would find readers, but more often they wouldn’t.

This year, before I started writing any new article, I would ask myself two questions:

  1. How many readers are interested in this topic? Is there a way to engage them?

  2. This little bit of planning made a huge difference in readership.

In 2019, my articles averaged 5,000 readers in the first week. In 2020, that number jumped to 25,000. Of the nine new blog posts I published, all but one made it to the front page of Hacker News, with four of them reaching the top spot.

From Google to Independent Developer: My Journey to $400,000 in Annual Income

  • At the end of 2020, I removed all partnerships from this blog.

Failed Projects

One of the most important lessons I learned over the past year is that pursuing the right ideas means rejecting the wrong ones. After 6-8 weeks, if a business isn’t generating meaningful revenue, I’ll turn to other customers or pivot to an entirely new project.

Is It Keto

From Google to Independent Developer: My Journey to $400,000 in Annual IncomeIs It Keto tells readers which foods are suitable for the keto diet.

Since 2018, I started developing the Is It Keto website. It’s a simple site that tells you whether certain foods are suitable for the keto diet.

I abandoned the site in 2019, but after some of my new business ideas failed, I restarted it in April 2020. While Is It Keto was profitable, it was almost negligible. Each visitor brought in less than $0.01 in revenue, so it needed a massive increase in visitors and/or revenue.

From Google to Independent Developer: My Journey to $400,000 in Annual Income

I tried to automate the writing of articles for greater scalability. For the Is It Keto website, each article was 100% original, either written by me or by writers I hired. While reviewing my existing content, I noticed consistent patterns that I could abstract into a template, then add the appropriate food names, photos, and nutritional information to quickly create new pages.

From Google to Independent Developer: My Journey to $400,000 in Annual Income

Creating articles for the Is It Keto website using a templating approach.

At first, templating the content seemed to add hundreds of articles weekly, but it turned out to be a challenge to scale so quickly without sacrificing quality. In two months, I only managed to add 118 articles. The more templates I added, the faster I went, but the added content didn’t attract enough users to be worth it.

Another idea came from my friend Justin Vincent, who was shocked to hear that my site had 70,000 to 100,000 page views per month but so little revenue. He suggested I create a paid sister product to attract qualified leads using Is It Keto.

I tested landing pages for various keto diet communities and apps, but only 0.1% of visitors registered for more information. The TinyPilot project took off at that time, so I put Is It Keto on the back burner.

From Google to Independent Developer: My Journey to $400,000 in Annual Income

*I abandoned the meal planning project in January 2020.

WanderJest

From Google to Independent Developer: My Journey to $400,000 in Annual Income

WanderJest helps comedy fans find live comedy shows nearby.

WanderJest was a “short-lived” project I started in early 2020. I described it as “an app like Bandsintown, but for finding comedy”. (Note: Bandsintown is an award-winning Android app for concert information and live music discovery.)

I love comedy, but I have missed countless opportunities to see comedians perform nearby. Either I wasn’t on the right mailing list, or I wasn’t following the right social media accounts, or I didn’t check Ticketmaster at the right time. WanderJest aimed to solve this issue by aggregating as many show listing sources as possible.

I planned to monetize through affiliate deals with theaters, but no one used my discount code. Then, when the COVID-19 pandemic broke out, I shut down the site.

Portfolio Rebalancer

From Google to Independent Developer: My Journey to $400,000 in Annual IncomePortfolio Rebalancer helps passive investors manage their investments.

My portfolio is a mix of stocks and bonds across different categories, each with a target allocation. As prices fluctuate, my investment balances change, so I have to constantly rebalance to get back to my target allocation. Each year, I repeat this several times, monotonously entering numbers into a spreadsheet until everything looks correct.

What if a web app could automate this? I created a quick prototype and shared it on Reddit, my blog, and Google Ads. In the first month, the tool attracted 1,000 visitors. Unfortunately, only one person registered for the free trial, and they never upgraded to a paid plan. I didn’t believe in this idea from the start, so I changed my mind a month later.

Lessons Learned
Product/Market Fit is Magic

Finding product/market fit means creating a product and connecting with enough customers to make your business thrive. When founders talk about achieving product/market fit, they describe it with a breathless tone, much like finding true love. Now I know why.

In the first two and a half years of working alone, I spent hundreds of hours executing an idea, only to see a few extra dollars in revenue. At first glance, TinyPilot seemed to be product/market fit; I knew it was when I published the blog post.

With TinyPilot, I felt the product drove the business, and I just went with the flow. For several months, I made serious mistakes in managing the business, but it kept growing.

When I made improvements to the product, the effects were immediate and substantial. In November, I released a new high-end model of TinyPilot. In the first month, I sold 55 units, generating an additional $14,000 in revenue. This is a significant achievement compared to the 0.1% signup rate I had on Is It Keto and Portfolio Rebalancer.

Building a Successful Business Doesn’t Require Being On Call

I clearly remember a show I saw at the UCB Comedy Theater at the end of 2017, but I don’t remember any of the jokes from the performance. I just remember worrying the whole time that the pager in my pocket could go off at any moment, forcing me to rush home.

In my team at Google, we had a “be on call” rotation, meaning every two months, you had to carry a pager wherever you went for two weeks. If the pager went off, you had to be “on the keyboard in 30 minutes”.

After leaving Google, I had no clarity about my future plans, but one thing was certain: I would no longer use a pager. And I didn’t—I refused to believe that any downtime would be a big problem.

For about two years, a thought began to emerge in my mind: that this was holding me back. Other founders were creating services that were continuously available, and I was wondering why I couldn’t succeed with less commitment.

Fortunately, Jason Cohen, an extraordinary bootstrap founder, told me to keep doing what I was doing. Well, he didn’t tell me that exactly, but it felt like he was speaking directly to me. In his brilliant 32-minute talk, “Designing the Ideal Bootstrapped Business”, he strongly opposed founders creating “real-time” businesses. He explained that if you’re a bootstrapped small business, it’s not worth it to let customers wake you up at night.

From Google to Independent Developer: My Journey to $400,000 in Annual IncomeVideo link: https://youtu.be/otbnC2zE2rw

I’m glad I didn’t succumb to fear. TinyPilot is far from “real-time”. Customers run my software on their own hardware, so I can shut down every server and codebase without affecting anyone’s workflow.

Success is More Stressful Than Failure

Although TinyPilot doesn’t require continuous availability, I often forget that.

Since I launched it with a bang, there were two days when I couldn’t sleep. I shipped all nine units to my customers and fretted about what would happen next. What if everyone received their devices but none of them worked? What if my customers wanted TinyPilot to do something completely different? What if everyone’s servers had issues?

From Google to Independent Developer: My Journey to $400,000 in Annual IncomeThe first nine TinyPilot orders I packed.

Fortunately, the initial customers loved their TinyPilots, so I finally breathed a sigh of relief. But every few weeks, something new would happen that would worry me for days. For example, the post office lost a shipment of critical components; a positive review led to a surge in orders that depleted my inventory; I filled out a customs form incorrectly and worried I would end up in export prison and prepared for that.

In fact, the pressure I felt was self-inflicted. Who cares if I’m out of stock for a few days? I felt very anxious about disappointing customers due to poorly planned delays, but no one ever complained. In fact, when I apologized to customers and said their orders would be late, they would only say they were touched, and I would take the time to tell them.

To alleviate the pressure, I’m getting better at separating work from personal life, but it’s an ongoing process.

Scoring Last Year’s Goals

At the beginning of last year, I set three high-level goals.

Earn $20,000 in income from my various businesses
  • Result: $63,000 in income.

  • Grade: A+

It looked bleak at first, but I far exceeded my goal. I feel this is a significant achievement because my income in 2019 was only $7,200, which is a nearly 7-fold increase.

Publish 10 blog posts
  • Result: Published 9 blog posts.

  • Grade: A-

I had planned to publish 10 articles, but I didn’t complete the 10th article because I was launching my writing course. Still, I’m very satisfied with my performance on the blog this year. I wrote several articles that I’m proud of and that resonated with readers.

Learn a new technology
  • Result: Gained more knowledge in JavaScript. Grade: B-

  • I intended to find an excuse to learn Rust, but I couldn’t find the right project.

Instead, I gained breadth and depth in JavaScript. I already knew Vue, but this year I learned Gridsome, a static site generator based on Vue. I used it to build my TinyPilot sales site and rewrote the Is It Keto site.

I also learned how to use pure JavaScript more effectively. The web application for TinyPilot was written in pure JavaScript, with no build or compilation steps. Surprisingly, avoiding modern JavaScript frameworks saved a lot of complexity.

Goals for Year 4
Increase TinyPilot’s annual revenue to $600,000

Well, although it sounds a bit crazy to go from a $20,000/year goal to a $600,000/year goal, I think it’s achievable.

TinyPilot earned $43,000 in January 2021, so with an average growth rate of 3% per month, it could earn $600,000 in a year.

Publish 6 blog posts and publish a book

Since I started working for myself, I’ve dreamed of publishing a book. This year, I finally did it.

This book will teach software engineers some practical methods to improve their writing skills. The tentative title is “Refactoring English: Effective Writing for Software Developers”.

TinyPilot Automated Management

In TinyPilot, my girlfriend and I work part-time to manage inventory and package orders. We enjoy working together, but it’s a very fragile system that is very small in scale. If either of us is unavailable for a few days, there will quickly be a backlog.

I want to systematize our processes and outsource them so we can take two weeks off without everything grinding to a halt.

Conclusion

Before I quit my job, I constantly read books and listened to podcasts about startups, and what fascinated me the most was the infinite possibilities.

When you run your own business, you can do anything. With just one month of available time and $10,000 in funding, there are millions of ways to develop your business. You can add new features, try new marketing strategies, or hire new salespeople. You can create a brand new technology that no one in your industry has ever seen.

Throughout my career, I was always on a predetermined career ladder. To make progress, I had to prove that I met arbitrary standards that were only slightly similar to my daily work. If my manager asked me to add a new feature, I couldn’t say, “No, I think we need a better marketing strategy, so I’m going to do that.” But for my own business, I often say things like that. (Although right now, the manager and employee are both me.)

When I finally saw one of my businesses achieve financial success and generate more income, it meant more possibilities, just as I hoped it would be fun. Although it’s stressful, it’s also very interesting.

Once again, I feel incredibly lucky to be working for myself, and I hope to continue doing so forever.

Author Bio:
Michael Lynch, Independent Developer. Unit test enthusiast. Developer of TinyPilot KVM. Formerly worked at Google and Microsoft.
Original link:
https://mtlynch.io/solo-developer-year-3/
Click at the end of the article [Read the original] to visit the InfoQ official website for more exciting content!
This week’s recommended articles

Google’s “Affection” Upgrade: Rust Takes a Big Step into the Android Platform

Mesos is Dead, Containers Live On

$9 Billion Java Dispute Reversal: Code Copied in Android is Fair Use

Can Java Microservices Be as Fast as Go?

Beijing Q1 Average Monthly Salary Reaches 11,187 Yuan; Pinduoduo Responds to Fraud Charges; JD, Meituan, and Others Commit to Not Using Big Data for Price Discrimination | Q News

Course Recommendations

“Daily Lesson” VIP annual card, access to 1000+ technical videos. Original price ¥365, now only half price ¥179, only for 1 day.

Exclusively for programmers, Stack Overflow, every day for 10 minutes, solve your bottleneck problems. Left Ear Mouse, Winter, Ding Qi, Li Yunhua, and other 160 practical experts, exclusive insights summary. All questions about interviews, coding, architecture design, the latest technical practices can find the experiences of big names in relevant fields.

Now only ¥179, less than 40 cents a day. Go meet those technical masters you usually can’t see, and the management masters and architecture design experts you can’t meet in real life, it’s worth it.

From Google to Independent Developer: My Journey to $400,000 in Annual Income

Click to see less bugs 👇

Leave a Comment

×