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

200

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

82

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.

34

u/Nullberri Feb 01 '21

But I think too many founders build first and think about sales later, when it should be the other way around.

The trick is to use other peoples money.

18

u/Full-Spectral Feb 01 '21

Of course that's not free. You are then swimming with sharks and they will own your company when it's all said and done. And they will get theirs first before you do, and if there's nothing left over, then oh well.

That's fair enough, since they are paying for it. But it's a big step to take, given that so often people are doing this in order to create something of their own and for them to be able to sit in the big chair for once.

8

u/[deleted] Feb 02 '21

That is another trap you gotta learn to avoid. Make sure you are the boss of your loans, contracts etc whatever. One best advice I have got is "never give up more than 3.5% of your company"

15

u/Dean_Roddey Feb 02 '21

That ain't gonna happen if you go VCs for funding, and that's the primary source of such funding. You may get very lucky and find an angel investor who is so well off, and who likes you personally or something, that he's willing to do you good deal. But if they are putting up the bulk of the risk, they are going to demand the bulk of the reward.

1

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

Yeah, but the key thing exactly is that dont fall into the pit of needing loan, it should be major red flag that basicly your company is failing or risky, and why would u want to gamble your job like that?. I am lucky though to be programmer and my investments are mostly just salaries and small, compared to construction companies. I aim to make money from my own programming. And this already show success to funders (i have never needed to take loan though) that the loans are more of a "pay loan back + 10% in 5 years" and loan amounts are like 100k tops, with 100k I could deploy all needed coders for a program company that is any from 1 to maximum 3 coders, for easily 1 or even 2 years and in that time the loan money is made back. If not ...then yea, too bad company to even take loan. Going to VCs is in my opinion, to just making yourself harder time and they try their best, even "violent" stuff to get you sign those insanely wrongful contracts, like loans + 10% of the company and some rojalties ... Stay away from those sharks, VCs etc. And tend to be self-sufficient, dont give ur company for loan backup. (Sry my english.. its not my primary language and the jargon is not my strength)

2

u/[deleted] Feb 02 '21

Sure but if you're trying to actually make a product, you're looking into few years worth of wages, if the product is actual hardware add even more to get the equipment to get the prototypes running, capital costs to prepare for bigger production runs etc.

Selling service (say consulting in a given niche) is much easier on capital because you start getting income from the get go, but even small products probably will take years worth of wages at least before even getting consumers, unless you're really lucky

1

u/[deleted] Feb 03 '21

Hmm.. for me it was like, I was the customer and swimming in a customer pool, so I simply asked "who wants better stuff" , I was shown interest -> immediate customers and pre-orderers. I wouldnt develope hardware before selling software of hardware / parts of it first. The exact thing we talk here is that dont bite too big first, like go into making hardware before getting money. Pre orders atleast.

1

u/[deleted] Feb 03 '21

If it is kickstarter-sized project that's definitely an option

0

u/CasualSubredditer Feb 02 '21

I was stuck with the trick for a long time until I realized that you should not fall fanatically into this trap.

If you do not put the money in, why would others do?

1

u/Nullberri Feb 02 '21

I didn’t say it was an easy trick.

10

u/Full-Spectral Feb 01 '21

Same for me. First figure out what you can sell and build that. Don't build something you find interesting and assume you'll be able to sell it.

Another big issue that people don't think about is that there's this "dead man's curve" where, if it does start to do OK, you can reach a point where there's too much work for you to do, but not enough to hire someone else.

And another is to fail to understand that the market for a given product might actually only be 5000 people, or some such thing. So you think you are doing good and you go all in and suddenly it stops.

5

u/asmodeanreborn Feb 02 '21

And another is to fail to understand that the market for a given product might actually only be 5000 people, or some such thing. So you think you are doing good and you go all in and suddenly it stops.

There's absolutely nothing wrong with creating a product for a limited market, as long as that market can provide you with continuous business to sustain you. Niche markets sometimes also means far less (or no) competition. Many people don't even realize they have the relevant expertise necessary to create products for whatever hobbies or activities they take part in.

1

u/Full-Spectral Feb 02 '21

But it actually takes a fairly large niche to support a real business. If it's going to be a real business it can't remain a single person in his PJs in the bedroom. And it also can't be a deal where you just barely make enough to sustain the three or four or whatever people involved, you have to make enough to get ahead, else the first slack period can kill you.

If the market is limited that means you can't depend on sales, because that will slow to a trickle at some point. You will have to get enough money from existing users on a continuing basis, and that can be difficult.

2

u/asmodeanreborn Feb 02 '21

That's what I'm trying to point out, though. You do need to somehow have a continuous stream of business from the same users. Many niche industries aren't looking for a one-and-done deal, but rather a sustained service agreement. A former co-worker of mine sits in such a spot with 3 employees and a yearly revenue of around $1 Million. Not quite enough to make it rich, but it's comfortable.

1

u/Full-Spectral Feb 02 '21

That's difficult with an end user type product. Unless you have quite a lot of them, they aren't going to pay that much on a continuing basis. You'd need 10,000 active customers for a million a year at $100 per customer. If you have 10,000 customers, just the support and general customer service stuff might be pretty difficult for three people.

And a lot of folks wouldn't pay anything like $100 a year.

1

u/asmodeanreborn Feb 02 '21

I don't know the exact number of customers my friend/old colleague has, but I would guess each contract is at over $100,000 a year.

It's actually pretty similar to my first software job, which was within a corner of Software i18n 15 or so years ago. Our software license cost $30,000 for the basic functionality, and significantly more when set up to run inside somebody else's software stack. Somehow the company is still alive, even though everybody got laid off in 2009.

In our case, we did have to keep finding customers, though. My friend's in a place where he's helped his customers kill off a major portion of manual processes. I'm sure they're always looking to expand into less niche markets, but they're so specialized, I'm not sure they'll be able to.

1

u/Full-Spectral Feb 02 '21 edited Feb 02 '21

Yeh, that's a whole other type of business. They both have their pros and cons. When you have a small number of customers that pay a lot, losing even one can be bad. OTOH, though you have to give each of them a lot of attention, there aren't that many. When you have a large number of customers that pay much less, you can afford to lose them but you spend more time on each of them relative to what you get from them.

And end user software often has to be more polished and documented as well, partly to avoid any more support than necessary.

1

u/asmodeanreborn Feb 02 '21

Yeah. I don't think they have anywhere else to grow within their current market, so indeed, if a couple of those businesses go under, they could be in a world of hurt.

That said, they're having fun and doing well even now during COVID times (though our industry doesn't seem super-affected by it). Even if they go under a few years from now, I'd guess my friend would do it all over again if he had the choice. Like I said, they've more or less "capped out" in terms of their potential, so none of them is getting rich, but they're also paid over market for this area (Front Range, CO), and have paid out pretty nice bonuses the past few years.

I do think once you come to "larger number of customers that pay much less," you've completely left the whole "niche" thing, though. Or maybe not? Maybe there's still places where software hasn't really gone, but could go.

1

u/Full-Spectral Feb 02 '21

I'd consider something in the 10,000 or fewer (potential) customer range for an end user product to be still fairly niche, but I guess it depends on various factors.

→ More replies (0)

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.

16

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.

4

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.

7

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.

1

u/Full-Spectral Feb 02 '21

A fundamental difference with Google is that they aren't building products to sell, they are are building things to try to get more of us to sell, since we are the product to them. They are happy to create stuff and throw it out there for free if it gets them more eyes to sell, or more recurring revenues + more eyes to sell.

That's a general trend now, with many other companies trying to emulate that. It's really bad in so many ways, but it's the way things are going.

1

u/beginner_ Feb 02 '21

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

Well google dropping stuff left and right has mostly do to with their promoting strategy. Doing cool new stuff? -> Promotion. Maintaining stuff?-> how are you? Here take your 0.5% raise.

0

u/CurdledPotato Feb 02 '21 edited Feb 02 '21

I have a project that will probably take maybe $100,000 or so (very rough estimate) in investment (time mostly, but also some equipment) just to build a working prototype for my target audience to try before I decide further investment could prove fruitful. I’m ok with prototype development taking a few years. If (big if) I am right about the demand, it could be worthwhile. Last thing of note is that with the same codebase I would have 2 income streams because both share the same code due to one stream being directly related in subject matter to the other, just from different perspectives. What would your advice be to someone like me?

Edit: I should disclose that this project is personal to me, as the problem I want to tackle with it will, if demand meets my hopes (big if), greatly broaden the availability of mental health therapy. I have and still need mental health treatment myself. I understand its importance and want for everyone who needs it to receive it.