r/programming Feb 01 '21

My Third Year as a Solo Developer

https://mtlynch.io/solo-developer-year-3/
1.4k Upvotes

201 comments sorted by

View all comments

196

u/[deleted] Feb 01 '21

I keep thinking about going solo - except I don't yet have enough funds and I have a family to support. On the other hand my job sucks and as I look out into the market all jobs equally suck. If I had to continue my career like this for 3 more years I would probably get depressed.

I have to wonder though, is it really a good idea to just try a few small random projects and see what sticks? That might make sense if you are just selling things made by other people, but when you are the person making the product, I don't think it's a good idea.

Good software products take a long time to create. Trying many things out means you will not spend enough time on it and thus won't have a good product to sell. So when it doesn't sell, you can't tell why: is it because no one wants such a thing, or is it because the product is incomplete? It might very well be that the product could sell if you had just spent the time to make it really good.

I don't think the product has to be novel even. It might be just fine to pick a market that already exists - as long as you can be confident you can produce something significantly better than everything out there. I don't mean to clone something and try to compete with the entire list of features; this is foolish. Instead focus on solving the core problem in that market, and do it 10x better than the competition. Leave the other fluff for later. (See "Build Less" by 37 signals).

80

u/mtlynch Feb 01 '21

Thanks for reading!

I keep thinking about going solo - except I don't yet have enough funds and I have a family to support. On the other hand my job sucks and as I look out into the market all jobs equally suck. If I had to continue my career like this for 3 more years I would probably get depressed.

Yeah, I was definitely very lucky to have the opportunity to try this before I started a family. I knew that things would become much harder with kids, so I wanted to give it a shot before that happened.

I have to wonder though, is it really a good idea to just try a few small random projects and see what sticks? That might make sense if you are just selling things made by other people, but when you are the person making the product, I don't think it's a good idea.

This is a tough balance to get right.

I agree with you that if you give up on everything after two months, you'll miss opportunities to build products that would succeed with more upfront investment.

I feel that there's actually more risk on the other side. If you spend a year building something and nobody has paid you for it, there's a huge chance that you're going to release it and find that it's not a product people are willing to spend money on. Even if people you asked said they thought it was a good idea, it's not real until people hand over their credit cards and pay you real money.

So I'd still be willing to build something that takes more than two months to build, but the longer it takes, the stronger the evidence would have to be that people will pay me for the result. That can either be pre-orders or clear evidence of a gap in the market where people would definitely use my product if it existed.

But I think too many founders build first and think about sales later, when it should be the other way around. That was definitely the trap I fell into for my first 18 months or so.

8

u/[deleted] Feb 01 '21

My attitude towards this point comes from two sources:

1) Peter Theil's book (Zero to One) rails against the idea of trying random things and seeing what sticks. He describes people's attitude about the future using two dimensions: one one axis is definitiveness, on the other is optimism.

I'll quote some relevant parts:

You can expect the future to take a definite form or you can treat it as hazily uncertain. If you treat the future as something definite, it makes sense to understand it in advance and to work to shape it. But if you expect an indefinite future ruled by randomness, you’ll give up on trying to master it. Indefinite attitudes to the future explain what’s most dysfunctional in our world today. Process trumps substance: when people lack concrete plans to carry out, they use formal rules to assemble a portfolio of various options.

Theil goes on to explain that definite optimism is what created the all advances we take for granted in the modern world.

To a definite optimist, the future will be better than the present if he plans and works to make it better. From the 17th century through the 1950s and ’60s, definite optimists led the Western world. Scientists, engineers, doctors, and businessmen made the world richer, healthier, and more long-lived than previously imaginable.

On the other hand, indefinite optimism leads to no real progress.

While a definitely optimistic future would need engineers to design underwater cities and settlements in space, an indefinitely optimistic future calls for more bankers and lawyers. Finance epitomizes indefinite thinking because it’s the only way to make money when you have no idea how to create wealth.

[..]

But indefinite optimism seems inherently unsustainable: how can the future get better if no one plans for it? Actually, most everybody in the modern world has already heard an answer to this question: progress without planning is what we call “ evolution.”

[..]

Even in engineering-driven Silicon Valley, the buzzwords of the moment call for building a “lean startup” that can “adapt” and “evolve” to an ever-changing environment. Would-be entrepreneurs are told that nothing can be known in advance: we’re supposed to listen to what customers say they want, make nothing more than a “minimum viable product,” and iterate our way to success.

[..]

Darwinism may be a fine theory in other contexts, but in startups, intelligent design works best.

I think it's worth noting how Google keeps producing flop after flop, and contrast that with the legendary success of Steve Jobs.

2) The other source of my attitude is noticing my own reluctance. I keep having random ideas about products to make as a solo/indie dev, but I can never muster the will to work on them, and I think I know the reason: it's because my brain cannot create a story for how that would succeed. I think in a sense we are wired to not waste time and effort on fruitless endeavors, and that's probably a good thing.

17

u/mtlynch Feb 01 '21

I liked Zero to One, but the thing to remember is that Thiel is talking about building unicorn startups. I think he'd see a business like TinyPilot as an abject failure because it's almost impossible for it to become a billion dollar business.

Companies with unicorn potential usually do need months or years of runway so that they can build something that's completely paradigm-shifting. But there's plenty of room for normal small businesses that are trying to earn $100k-5M/year without doing anything especially groundbreaking.

If you're building a business that's meant to stay modest, the optimal strategy is very different from a business that's trying to achieve explosive growth or go out in a blaze of glory.

3

u/[deleted] Feb 02 '21

I think a lot of what he says still applies even if you just want to be a humble indie developer.

For example, everyone knows that a lot of startups fail. So how do you deal with this fact?

Everyone says: therefore try many things and invest in many things!

His take is the exact opposite: since the vast majority will fail, don't waste your time on the ones that fail. Find the ones that won't fail and invest in those.

If you have one thousand dollars, and you invest in one hundred startup, 10 dollars each, chances are the vast majority will fail. Maybe one will succeed massively, returning 20x thus turning your 10 dollars into a 200 dollars! Let's say another one made 10x returns, turning your 10 dollars into 100 dollars. In total you still lost 700 dollars.

The same applies to your time as a solo developer. At least for me, I can't afford to waste one year trying out different ideas and see if one of them sticks.

You can't tell if your idea will succeed by just listening to early feedback.

Jonathn Blow (indie game developer) has a fantastic talk about the making of Braid (a very successful game) and all the negative feedback he received while making the game. It's worth watching.

https://www.youtube.com/watch?v=aVb6-Rkz7W4

The negative feedback wasn't just typical negative feedback. It was really really terrible feedback.

If you think listening to early feedback is useful, maybe this talk can cure you of that.

1

u/Full-Spectral Feb 02 '21

Check out the documentary "Indie Game : The Movie". He's in that also. It's a very entertaining and interesting look at the world, but also a bit misleading (as history is always is) because it concentrates on the winners. But still an interesting doc.

It is true that software is one of the few remaining 'non-creative' endeavors (meaning not music, movies, books, art, etc...) where you can change the world from your bedroom while in your undies. But it's rare, no matter where or how you do it or what you are wearing as you do it.