Back Original

Pros and Cons of Solo Development

I created and maintain Luxury Yacht, a desktop app for managing Kubernetes clusters. Think Headlamp, Lens, and k9s. It's that kind of app. Luxury Yacht is a solo project, and it's been quite a challenge to get it to where it is today. I want to talk about some things I've learned over the past six months of doing this.

But First, Why?

Why do this, when apps like Headlamp, Lens, and k9s exist? I just never found the app that clicked with me. The closest thing I found to what I wanted was Infra, which I really liked, but it's been abandonware for years. So, I decided to write my own. Along the way it got good enough that I thought other people might also like using it, so I released it.

Maintaining Luxury Yacht is practically a full-time job that I do for free, in my spare time. It eats up a sizeable chunk of my evenings and weekends. I'm not complaining! Nobody's forcing me to do this. I enjoy it. I'm creating something genuinely useful for myself that I get to share with other people. As I write this, I've got well over 350 stars on the GitHub repo, and that feels pretty good.

Pros

There's a lot of freedom that comes with being the sole maintainer of an app. This is the big draw for me.

The other category of things in the Pros column are learning opportunities. What you'll learn from your project depends on what you're building, how you build it, and where you're starting from. I'm not going to go into detail about the specific things I've learned from working on Luxury Yacht, because that's unique to me. Suffice it to say that you'll learn a lot, because it will force you to deal with things that you probably don't have to deal with in your day job's niche.

Cons

The flip side to all of that freedom is responsibility. You're on the hook for everything. It takes a lot of self-discipline to do this solo. I wouldn't recommend it if you don't have that discipline.

Find Your Balance

You might have noticed that most of the pros and cons are two sides of the same coin. You get to do everything that's fun and rewarding, and you have to do everything that isn't. Hopefully, the get tos outweigh the have tos. You probably won't know until you try, but hopefully this post has helped to frame it.

For me, the balance is right. I'm having a great time with this. It's satisfying to build a good piece of software that I enjoy using. It's even more rewarding to see it used by others. It's super cool to check out the locations of the people who have starred the repo, and see that they're from all over the world.

A quick anecdote. I was at KubeCon in Amsterdam this past April. On the advice of a friend, I had some Luxury Yacht stickers made, and I brought them with me to the conference. I put them out at my company's booth.

On the 2nd day of the conference, one of the attendees stopped by our booth, saw the stickers, and said, "hey, I use that!" I replied, "really? I made that!" Then we talked for a bit about why he liked my app vs. others he had tried. This person had traveled from Germany to attend the conference, and I was struck by how cool it was that a thing I made was appreciated by someone so far from where I live.

This is the stuff that makes the effort worthwhile.

#development #kubernetes #thoughts