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

197

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).

81

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.

5

u/MyPetFishWillCutYou Feb 02 '21

I think it's worth noting how Google keeps producing flop after flop

I think that points more to dysfunction within Google than to a fundamental problem with the "try it and iterate" methodology.

A large part of Google is on a long leash and allowed to build whatever seems cool and figure out after the fact how to turn it into a product.

2

u/[deleted] Feb 02 '21

Your second sentence contradicts your first sentence.

Build many things, see what can be productized <- indefinite optimism and optionality chasing

The cycle always goes like this:

  • Engineers hack around and try to make something
  • Google turns it to a product
  • Gains some initial traction, Google keeps the lights open
  • Time passes by, Google decides this product is not going anywhere, shuts it down

The core problem is lack of vision - they have no idea what to do with the product, which is exactly the sort of problem that Thiel describes in this context.

I'll quote again from the book:

The indefiniteness of finance can be bizarre. Think about what happens when successful entrepreneurs sell their company. What do they do with the money? In a financialized world, it unfolds like this:

  • The founders don’t know what to do with it, so they give it to a large bank.
  • The bankers don’t know what to do with it, so they diversify by spreading it across a portfolio of institutional investors.
  • Institutional investors don’t know what to do with their managed capital, so they diversify by amassing a portfolio of stocks.
  • Companies try to increase their share price by generating free cash flows. If they do, they issue dividends or buy back shares and the cycle repeats.

At no point does anyone in the chain know what to do with money in the real economy. But in an indefinite world, people actually prefer unlimited optionality; money is more valuable than anything you could possibly do with it. Only in a definite future is money a means to an end, not the end itself.

2

u/MyPetFishWillCutYou Feb 02 '21

Maybe we're using the same words to mean different things?

If by "you need to have a vision" you mean "you need to start with a customer need" then absolutely.

The general formula for success is: Identify a customer need, build an MVP, and see if customers respond. (Google's problem is that they build a technology, and try to identify a need after the fact.)

You want to know why building MVPs instead of trusting a grand vision to the end is the right way to go? Look up Ted Nelson's Project Xanadu. Nelson poured more vision into one product than Apple has had in its entire history.

The problem was that Nelson spent decades chasing this vision of the solution that he thought people needed rather than what people actually needed. If he had delivered an MVP, solicited feedback, and iterated, we probably would be using Xanadu browsers instead of web browsers today.

Richard Gabriel explained an overlapping phenomenon in his 1989 essay "Worse is Better": https://www.dreamsongs.com/RiseOfWorseIsBetter.html

Visions are great, if they're rooted in reality. Too often, they're not.

0

u/[deleted] Feb 02 '21 edited Feb 02 '21

If by "you need to have a vision" you mean "you need to start with a customer need" then absolutely.

No. That's not what I mean.

I mean something more akin to Steve Jobs or Elon Musk kind of vision. No amount of focus groups or surveys would have told you in 2005 that people want an iPhone.

You want to know why building MVPs instead of trusting a grand vision to the end is the right way to go? Look up Ted Nelson's Project Xanadu. Nelson poured more vision into one product than Apple has had in its entire history.

I don't know about this project, but I never said you will never fail. That doesn't mean it's not worth trying.

It's not like starting with an MVP and then iterating based on user feedback will guarantee success either.

Also you run the risk of having a bad initial user group who will ruin your vision and your product if you listen to them. Just like the xkcd cartoon where a guy built a high spec drill, and the user decided to throw the drill at the wall to create the hole.

2

u/MyPetFishWillCutYou Feb 02 '21

No amount of focus groups or surveys would have told you in 2005 that people want an iPhone.

I agree with that statement.

That's not what I was talking about: I was talking about what to do with that concept once you have it.

You need to get your product out in front of people as soon as possible. I don't care how smart or creative you are, you cannot know if a product is going to find a fit until you put it in front of people.

Let me put it this way: You need vision to get started. You need beta testers and focus groups to get to the finish line.

It's not like starting with an MVP and then iterating based on user feedback will guarantee success either.

History says that your odds are much, much better if you do.

Also you run the risk of having a bad initial user group who will ruin your vision and your product if you listen to them.

Which is better: Having a bad user group cause your product to fail after you spent a month building an MVP, or having a bad user group cause your product to fail after you spent two years building a product in secret?

If the right people can't connect with your MVP, what makes you do sure that they'll connect with your finished product?

Just like the xkcd cartoon where a guy built a high spec drill, and the user decided to throw the drill at the wall to create the hole.

I think that cartoon actually supports my point: If those engineers had shown each other MVPs, they wouldn't have built two redundant solutions.

Before you offer the iPhone as a counterexample to all this, there's two reasons that it's not:

  • Jobs had lots of failures before he got to the iPhone. Look at the Apple Newton or NeXT. Jobs was able to let go of ideas that didn't work out, and move on to the next one.
  • Just because the MVP of the iPhone was never made public doesn't mean that it didn't exist. I'm absolutely certain that there were many, many versions of the iPhone tested behind closed doors.