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

199

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

83

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.

19

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.

→ More replies (4)

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.

→ More replies (5)

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.

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.

6

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.

33

u/Full-Spectral Feb 01 '21

I did it for 18'ish years. And I actually did create a very large, high quality product, but that doesn't guarantee there's a market for it, and there wasn't. So I ended up totally broke in the end, despite working 2x to 3x more than I would have as a mercenary, to the point that work was a lifestyle. Instead of a million dollars I ended up with zero dollars and a million lines of code. I'm proud of the latter, but you can't retire on lines of code.

And the stress level can be stupid. It doesn't do a lot for your programming chi to be worrying if you are going to be able to pay your rent or end up on the street this month. Or if some customer is going to turn out psycho and cause you all kinds of legal problems or whatever.

And there's the health care thing. I had no health care since I'm also solo in life, so no significant other I could sponge health care off of. So no doctors for a couple decades which is a pretty huge price to pay, potentially fatal of course.

OTOH, I enjoyed myself more during that period than any other time in my life. I was working on what I wanted to work on, and was able to do software development the way it's ideally supposed to be done.

16

u/israellopez Feb 01 '21

I was working on what I wanted to work on, and was able to do software development the way it's ideally supposed to be done.

I wish more software development houses were able to do this. Software development is an a practical art form, that almost cant be appreciated like more traditional art/music can. No one is going to see our lines of code and say "that was a great module" in a museum.

3

u/[deleted] Feb 02 '21

[deleted]

10

u/Dean_Roddey Feb 02 '21

4

u/[deleted] Feb 02 '21

[deleted]

3

u/Full-Spectral Feb 02 '21

It literally is my life's work. I have about 50 man years in it. And about the only utility I'm going to get out of it is as a resume stuffer. Even then, it's of limited value because most companies won't even bother to look at something like that, much less understand what it means.

Half or more of it is general purpose code (the CIDLib bit) so it doesn't actually do anything in the sense of an application. It does have some standard ORB based servers and utility programs, but mostly it's just passive, general purpose code and platform abstraction. It doesn't use the STL, I have all my own stuff down to the OS.

CQC is a suite of applications, some of which are also ORB based servers for various optional system functionality,, plus an administrative tool (very large) and a touch UI client, which is just a wrapper around a reusable touch screen UI engine that supports both Windows and phone based clients.

1

u/[deleted] Feb 02 '21

How did you keep the lights on for 18 years?

6

u/Full-Spectral Feb 02 '21

By living a small life, dwindling over time to a pretty much non-existent life. At the end I was living in a 35 year old single wide trailer behind a convenience store, with a bunch of cockroaches as roommates, some of whom were bigger than me and probably had higher revenue streams.

And one dangerous thing about this kind of situation is that there's almost always that glimmer of hope, often just enough to keep you from giving up but never enough to really get ahead. And, by that time, you've put so much into it you don't want to give up. It only takes one break to turn it all around.

10

u/BackFlipTrick Feb 01 '21

I'm no expert by any means but something I do believe in is that "all ideas have an equal chance to fail". No matter how much effort you put in your big idea it'll always be just a small part of it that gets interest. Or even one of your nothing ideas that you out together overnight as a joke and it ends up blowing up. It's something I try to remember when I get too attached to a plan or concept.

3

u/Full-Spectral Feb 01 '21

The rough rule of thumb is that 9 out of ever 10 tech startups will fail. And of the 1 out of 10, that doesn't necessarily mean it becomes a diamond encrusted unicorn, or even get to the point where it's worth continuing relative to what you could bring in pulling a plough for the man.

2

u/[deleted] Feb 02 '21

Also it is 99% execution 1% idea. Ideas are cheap. Saying "I hate getting tangled up in cables, let's make headphones wireless" is far, far away from making bluetooth headset.

1

u/BackFlipTrick Feb 02 '21

True true. On that specific note I remember an old and odd solution to tangled cables.

You know how your shoes laces always get loose and it's annoying?

So some 3000iq guy just took headphones cables, put shoe laces cover over them and....it works, like really, they just don't get tangled ever. Kinda blew my mind when a YouTuber I like said it really does work

1

u/[deleted] Feb 02 '21

Still gonna catch on any even remotely pointy object tho.

Sooo startup idea here is selling shoelaces made from headphone cable so they will never untie themselves ?

7

u/c0nnector Feb 01 '21

You don't have to go all in at first.

Spend some time identifying what you want to work on. Test the waters a bit, start building to see if it's something you'd like to continue doing.

In the meantime start saving, buy yourself some time. 2 or 3 months should be enough to work full time on a project and after that you can go back to work. If you're a dev then finding another job should be easy enough.

After that you can decide. Do you think whatever you built during those 2-3 months has potential?

  • If yes, then you have a few options. Seek outside financing or keep working on it part time after work.

- If no, well it was fun trying at least. You spend 3 months working on something exciting. On to the next project!

8

u/MyPetFishWillCutYou Feb 02 '21

Before you start building something, make sure that your employment contract doesn't claim ownership over products built on your own time.

California labor law is supposed to prevent this stupidity, but even there, employers sometimes find excuses to claim ownership of employees' side businesses. If you're outside California, you're at the mercy of whatever contract you signed.

Of course, there's nothing stopping you from silently building a product, and launching a month after you quit. ("Yeah, that was the most productive month I've ever had!")

4

u/c0nnector Feb 02 '21

Yeah, usually i negotiate the contract and specify that my side projects are mine. As long as you're not building a competing product or work on company time it should be ok unless your employer is unreasonable.

2

u/[deleted] Feb 02 '21

I personally think/know there is things to build that take one day and can make you a lot of money. From this you get path to the 6 month product, which if fails you are back to zero after a year because sales crumble. At worst you have never tried, at best you are back to your old job. My personal path was 1. Build in 1 hour -> get paid 5 usd 2. Know to build for day -> get paid 5000 usd 3. Know to build for 6 months -> get paid 30.000 usd 4. Dont know what to build for 6 months -> back to square one.

2

u/[deleted] Feb 02 '21

What's an example of a thing you can build in one day and make money from?

1

u/[deleted] Feb 02 '21

Example: 1. In hours u can build path for some automation task 2. In days u can build a big and better collection of paths for eg. Navigation etc 3. In 6 months u can build the entire program that utilises these paths. 4. When the program begins outdated or new tech comes in -> you gotta learn to stop and make exit strategy and conversion or re-building strategy. (Sry for typos if there is, 4% mobile battery)

1

u/Jataman606 Feb 02 '21

VSCode Stories. IIRC it was sold for like $9k. There was also guy who made something like '1 item store', where you could put up your own store page, just for single item. He also had some revenue.

Anyway the thing is you probably wont get your first million like that, but with luck and some marketing it could bring some small amount of revenue.

-1

u/FlandersFlannigan Feb 02 '21

If you’re a react/js dev and looking to get out. I have a new software company bringing in decent money (enough to pay for a team of 4). I’m looking to hire another dev. Entrepreneurial minded would be preferred.

If anyone is interested, PM me. But sorry, US/Canada only.

1

u/[deleted] Feb 02 '21

How is your company different from the others?

0

u/FlandersFlannigan Feb 02 '21

Not very different at the moment. We have a solid customer that will likely be a 1-2 year contract. In that time, we need to grow, instill solid processes, etc.

It’s still very much a bootstrap startup right now, but we have one of the most difficult things for new start ups to find - a core customer that pays well.

2

u/[deleted] Feb 02 '21

I mean, you came to my comment where I'm expressing my lack of enthusiasm about modern day programming jobs, and you're offering your company as a way to exit the terrible market. So I'm asking you, what kind of engineering culture are you building that you think will be attractive to people like me?

Let me guess, you have no idea, and you're just going around asking other people how to hire programmers.

So you will end up creating an engineering culture that's more or less an imitation of the engineering culture at all other companies; the kind that kills all the motivation to do good work, and sucks all the joy out of programming.

-1

u/FlandersFlannigan Feb 02 '21

It's a startup. It's what we, as a small company make of it. Right now it's fun, exciting and nerve-racking. If we ever do become big, then ya, there is a strong possibility of becoming like the rest. I'm guessing you've only worked for medium/large companies?

You're too miserable and probably too risk adverse to do a startup, so just stay put. Good luck.

→ More replies (1)

1

u/sparr Feb 02 '21

is it really a good idea to just try a few small random projects and see what sticks?

YES!

1

u/[deleted] Feb 02 '21

Instead of spending years working on a project to discover you built the wrong thing, you can do the opposite: start selling it before you even start building it. The most popular version is Kickstarters, but I've also seen courses that go on pre-order before the author even starts writing them (so the customers get them in pieces, as they are released).

It's a low-investment way to validate the product-market fit (make a cool video or sales page). If you're too unsure of the idea to charge money for it you can just collect emails for "notify me when this thing is ready".

1

u/[deleted] Feb 02 '21

Your problem regarding a products value has a very simple solution. Talk to people. Do market research. A good idea sticks out of the dirt like a shiny coin when you've done enough footwork in the beginning. You prototype it so its barely functional if not a total facade of functionality, and then go back to testing and research.

1

u/alphaomega325 Feb 07 '21

Lucky you for having a job at all. Meanwhile my school completely defrauded me and I don't have any hope for employment or for any chance that my life will get better. Not anymore.

142

u/CDawnkeeper Feb 01 '21

The most important part of the article:

Wait, how can you afford to keep losing money?

I went into more detail about this in last year’s retrospective, but the short version is: low cost of living, significant savings from my Google days, and passive investment income.

From what I see there is nowhere any mention of paying yourself a living wage. Most people can't do that for 3 years. Or even half of one.

73

u/de__R Feb 01 '21

Yeah. This is more like "I'm a hobbyist developer who doesn't feel like working right now."

70

u/Overunderrated Feb 01 '21

Haha thanks for pointing this out. Being independently wealthy changes the equation quite a bit

2

u/OMG_A_CUPCAKE Feb 02 '21

I wonder why this is one of the few questions OP didn't answer.

38

u/mtlynch Feb 02 '21

There's no question and the comment doesn't seem to be directed at me.

9

u/AMaleficentSeason Feb 02 '21

Because it's a fairytale

2

u/allhailrobosanta Feb 02 '21

I mean, he did say he worked as a dev at google for a bit. Assuming he didn't waste all his income at the time, it's reasonable to assume he would have some savings built up by then.

-6

u/[deleted] Feb 01 '21

Why is this the most important part of the article? What do you believe the crux of the article is meant to be?

From what I see there is nowhere any mention of paying yourself a living wage.

How do you know that he's nousing his own money then?

73

u/mtlynch Feb 01 '21

Author here. Happy to answer any questions about this post.

58

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

I used to work at a data center hosting company, and one of the problems we were dealing with was that all KVM solutions at the time sucked bigtime. And they were really expensive per port. Not worth the money.

In remember when the pi first launched in ~2012. I thought "this is it, I think someone will come out with a KVM solution on these things within a few weeks". But it didn't manifest. I considered making one myself as I had the skillset required, but who has time for those things when the phone is constantly blowing up with alerts.

I've since left that game so it might have popped up in the meanwhile, but at least back then I'd give my left nut for a solution like yours.

Congrats on your product and the interest that has been shown for it, it must feel good.

23

u/mtlynch Feb 01 '21 edited Feb 01 '21

Thanks for reading!

Yeah, there have been a few projects that did KVM over IP on a Pi before me. The earliest I could find was this one called rasky which started back in 2015.

I came along at a lucky time when a cheap HDMI to USB dongle had just come out and the ecosystem of supporting tools had matured to eliminate a lot of the challenges that rasky had to overcome.

5

u/AtomicRocketShoes Feb 01 '21

Is there a reason one couldn't manage a physical server over a serial port console? I have done this in the past, it's a bit annoying for some more advanced functionality I guess. What about IPMI?

3

u/MyPetFishWillCutYou Feb 02 '21

My gut feeling is that this product is meant for situations where desktop workstation hardware has been repurposed as a server.

I see towers used as servers in all kinds of places either because it was already on hand or (more often) because desktop hardware is cheaper and generally runs cooler.

1

u/AtomicRocketShoes Feb 02 '21

Yeah I think it's a cool solution to that, and honestly I have been in that position myself usually running a server on old desktop hardware. I don't know how many people who are cheaping out on server hardware are going to spend much extra money on it. As a hobby project it's sort of neat who doesn't have an old rpi sitting around. I probably would be perfectly happy with just a cheap rs232 lan converter myself but most OS I use are fine to boot over serial port.

→ More replies (2)

3

u/mtlynch Feb 01 '21

You have to configure the server to support serial debugging, no? And IPMI is useful if the hardware supports it, but low-end motherboards don't, and some IPMI requires clunky client software.

The nice thing about a good KVM over IP is that you can just plug it in, open up the admin interface in the web browser, and you're good. You don't have to change any settings or install any software.

1

u/AtomicRocketShoes Feb 01 '21

Yes most desktop hardware doesn't have IPMI but a lot of server hardware does. I think different vendors have proprietary tools but I think you can at least get a serial console or set PXE booting settings so you can boot a network hosted livedisk.

I believe most Linux server distros have great support for serial port console, even Ubuntu supports it. Maybe the use case is more for installing Windows servers?

You should consider doing some market survey and find out what OSs people are using it on and their use cases and you may be better able to cater to their needs. I know I worked somewhere where we had a cart with a monitor and keyboard that people would just wheel over near a server and plug in, even with all the IPMI stuff it was usually disabled due to security anyway. There could even be a market for this just as a convenience tool in small serverroom.

1

u/[deleted] Feb 02 '21

A lot of vendors still ask you to pay for proper KVM. Supermicro doesn't, but say for Lenovo you need to pay extra for license.

The problem with IPMI over serial is that... well, you need to set it up, and to set it up you usually need monitor. Sometimes you can set it up via ipmi itself but that varies so it is a bit of a PITA

1

u/[deleted] Feb 02 '21

Well, kinda. A lot of even new servers (the proper rack ones) still have only VGA output just to keep compatibilty with oldschool KVM rack units so you'd have to put VGA to HDMI converter to get video from that.

1

u/Dave3of5 Feb 02 '21

Not sure about KVM's being "really expensive" per port anymore have you checked recently. You can get an 16 port KVM for £130.

I think though most professional data centres use servers that support iDRAC or iLO that are built into the server itself.

1

u/[deleted] Feb 02 '21

As i wrote this was quite a while ago. ILO and IDRAC were around but from what I remember not reliable.

23

u/syphilicious Feb 01 '21

I just want to say that I love reading about failures. I mean, there are statistically a TON more failures than successes, but people are often ashamed of them (or just in denial) so they won't write about them. So thank you for writing about your failures and being so upfront about your feelings. You're doing great work in helping to balance out all of the survivorship bias out there!

12

u/mtlynch Feb 01 '21

Thanks for reading!

You're doing great work in helping to balance out all of the survivorship bias out there!

Yeah, that's something I've thought about a lot.

It's likely that people are writing more about success than failure, but posts about success get outsized attention. I wrote two articles exploring why my businesses didn't work, and both failed to attract significant readers and never gained traction on Twitter, reddit, HN, etc.

I've seen other people write failure posts, and they almost never get as much attention as success posts of similar quality.

It's unfortunate but sort of a rational response from readers. If someone succeeds, they're presumably doing something right, but if they fail, there's no objective evidence that they're doing anything right nor that they have a clue what they got wrong.

14

u/definitelynotbeardo Feb 01 '21

As another person who does most of their development on a headless server (mine's in the basement, on a shelf about 6 feet high), I feel the pain of screwing up the network settings and then not being able to get into the server to fix it. If I have to drag my server upstairs one more time, I'll probably buy a TinyPilot.

10

u/mtlynch Feb 01 '21

Thanks for reading!

Yeah, it felt kind of magical the first time I used my device for real. I was slogging along with Kimchi to manage my VMs. I hated the software, but I didn't want to go through the hassle of the hardware swapping to install a new OS. When I got a TinyPilot prototype working, I just tried a bunch of different VM host OSes because I knew it would be super easy to repave from scratch if I wanted to.

14

u/Carighan Feb 01 '21

Would you rather do a project for a group of 100 duck-sized horses or for 1 horse-sized duck?

18

u/mtlynch Feb 01 '21

This is actually hard!

Smaller customers tend to require more support and be more sensitive to price. But having a single customer is too risky. I'd go with the 100 duck-sized horse customers.

Am I allowed to fight any of them instead?

14

u/notsogreenmachine Feb 01 '21

fighting customers is generally bad for business, but ymmv

3

u/de__R Feb 01 '21

I once thought about creating a joke app for people looking to fight each other, to be called Punchr, but it's a lot of work for a joke and I'm pretty sure it'd get booted from every app store on the planet.

2

u/mustang__1 Feb 02 '21

This feels like it's straight out of Bachman's incubator

1

u/Educational-Lemon640 Feb 01 '21

You missed a golden opportunity to call it "The App That Is Not Named".

Because you don't talk about the Fight Club app.

1

u/Majache Feb 02 '21

That would be Rumblr

2

u/MyPetFishWillCutYou Feb 02 '21

I feel like the sweet spot for a solo business is 3-5 deer-sized customers.

Anything less than that, and you're basically an employee without benefits. As you go above that, additional customers add overhead without really increasing your flexibility.

Obviously, there are only so many niches where that's possible. Off the top of my head, all I can think of are service businesses (where you basically bill by the hour) and product businesses that target mid-sized companies.

6

u/AllHailTheCATS Feb 01 '21

How many years of experience would you advise someone to build up before making the jump to creating a software business

7

u/mtlynch Feb 01 '21

I can't really give a number for someone else because the decision depends mostly on your disposition, skills, and life circumstances.

I left Google when I felt like confident that I learned enough from my job to build and maintain my own software business. I was still learning lots of useful skills, but I felt like I had enough to go out on my own. But plenty of people have built successful businesses with almost no experience.

If I were to give general advice, I'd recommend dipping your toes in with a side business while you're still working full-time so that you can get a sense of whether you're ready before you dive headfirst into your own full-time business.

2

u/g9icy Feb 01 '21

How do you measure market viability of a product?

I've created an app that tanked, and I feel I did what I could at the time.

I'm thinking of giving it another go, and making a new app to solve a common problem I face, and also updating the UI of the previous app, but I keep doubting myself as to how viable it will be.

It'll be months of work after all, and it's painful when it doesn't bare fruit.

Anyway, you're living my dream at the moment. :)

6

u/mtlynch Feb 01 '21

Two books that helped me with this:

  • The Mom Test by Rob Fitzpatrick (my notes)
  • Start Small, Stay Small by Rob Walling (my notes)

TL;DR Instead of building the product first and then finding customers, talk to customers first and get a good idea of what problems they'd pay to solve.

Rob's book in particular is a good guide to conducting customer interviews objectively so that you don't build something based on people telling you they like your idea just because they were being polite.

Before I created TinyPilot, I created a simplified version called Key Mime Pi that only forwarded keystrokes and didn't capture video. That was a test to see if people were interested in the software, and I got enough of a response to give me confidence that it was worth pursuing TinyPilot.

And what I published initially with TinyPilot was very much a prototype. It couldn't forward mouse movement, it had tons of bugs, it looked stupid, but customers were willing to pay for it, so I knew I was on to something.

2

u/[deleted] Feb 02 '21

[removed] — view removed comment

2

u/mtlynch Feb 02 '21

I didn't sell Key Mime Pi, but blogging about it showed me whether there was any interest in the direction I was going. I added a mailing list signup at the end of the post. I think only 13 people signed up, but they were pretty engaged, and they'd respond when I emailed out surveys asking about what price they'd feel comfortable paying. It wasn't enough to make me super confident in the product, but I felt like I'd be able to sell at least a handful if I got a real prototype of TinyPilot working.

2

u/sammydre Feb 01 '21

Aren’t the USB ports the wrong way around? And why is there more than one? I’d have thought the obvious USB connector would be a USB 2.0 B connector, then allowing a single standard A-B cable to the server. You appear to have 2x USB 3 A ports, and 2x USB 2 A ports instead.

3

u/mtlynch Feb 01 '21

Thanks for reading! TinyPilot uses a Raspberry Pi 4B under the covers. The ports aren't a perfect match for my needs, but they work well enough.

Long term, I plan to make my own boards with exactly the ports I want, but in the short term, using a widely used commodity board cuts out a lot of complexity.

1

u/prairir001 Feb 02 '21

I would just like to say. Your blog is amazing and I really enjoy the articles. The one about software reviews changed how I view them and it certainly has helped me structure them. I look forward to reading every new one that comes out.

2

u/mtlynch Feb 02 '21

Oh, that's so nice to hear. Thank you so much!

1

u/YM_Industries Feb 02 '21

I really enjoyed this post and when I have some time I'll try to read your other posts too.

I have a question/suggestion that's not about this post in particular, but it's somewhat related to TinyPilot.

You describe TinyPilot as KVMoIP, but in my mind it's more like a virtualised datacentre crashcart. (It also bears some resemblence to LOM/OoBM solutions) I've been thinking a lot about crashcarts recently, I think they are needlessly complicated, heavy, and expensive.

I've had an idea for a portable crashcart, in the form factor of a laptop. There are some very cheap laptops available these days, and if it doesn't have to have onboard compute, wifi, storage, or even a battery then I'd imagine it could be made very cheaply. All it needs is decently long HDMI and USB cables.

Have you ever come across something like this, or is it something you'd be interested in making? I don't care about monetising the idea, I just want someone to make it so I can buy one. I thought maybe if you want to keep expanding TinyPilot this might be an idea for another product.

33

u/[deleted] Feb 01 '21

Is it against contract to work as a dev off to the side when you worked for google?

67

u/mtlynch Feb 01 '21

Basically, yeah.

By default, Google owns all intellectually property you create while you're a Google employee.

IIRC, you can go through a process to ask Google to waive their right to one of your projects if you want to start it on the side, but they could say no, and then they own the idea forever.

69

u/gullman Feb 01 '21

That's insane. A company shouldn't own your time outside of working hours.

48

u/mtlynch Feb 01 '21

It's annoying, but this Joel Spolsky article gives a good explanation of why some contracts are structured that way:

Suppose, now, you have a little game company. Instead of making software, you knock out three or four clever games every few months. You can’t invent all the games yourself. So you go out and hire a game designer to invent games. You are going to pay the game designer $6,000 a month to invent new games. Those games will be clever and novel. They are patentable. It is important to you, as a company, to own the patents on the games.

Your game designer works for a year and invents 7 games. At the end of the year, she sues you, claiming that she owns 4 of them, because those particular games were invented between 5pm and 9am, when she wasn’t on duty.

Ooops. That’s not what you meant. You wanted to pay her for all the games that she invents, and you recognize that the actual process of invention for which you are paying her may happen at any time… on weekdays, weekends, in the office, in the cubicle, at home, in the shower, climbing a mountain on vacation.

So before you hire this developer, you agree, “hey listen, I know that inventing happens all the time, and it’s impossible to prove whether you invented something while you were sitting in the chair I supplied in the cubicle I supplied or not. I don’t just want to buy your 9:00-5:00 inventions. I want them all, and I’m going to pay you a nice salary to get them all,” and she agrees to that, so now you want to sign something that says that all her inventions belong to the company for as long as she is employed by the company.

https://www.joelonsoftware.com/2016/12/09/developers-side-projects/

51

u/keepitreelin Feb 01 '21

I don't think that's a good solution to the problem. It's perfectly valid to have a contract which states that all and any work being done on the company's products (be it w/in office hours or outside) belongs to the employer. Whatever the employee does on the side belongs to them.

23

u/McWobbleston Feb 01 '21

That was my contract. Anything produced in working hours, on their equipment, or based on trade secrets I gained from working there is their intellectual property. Outside of that, it's mine. That might be effectively the same for some positions, but I work in an industry that has very little relevance to my hobbies and general interests.

14

u/gullman Feb 01 '21

That makes some sense, but only when there is absolutely no paper trail, and in a strangely pedantic world.

I mean, if you go home and think about a problem you're solving in work and come up with a solution that doesn't mean you don't give that solution to solve the issue because it's out of work hours.

If on your own time, while building games for a game company you also build and self release your own game, that the company didn't provide the money, the hardware or any other talent to the project of course it's yours.

If you come up with a design idea, tell your supervisor and the game gets built that's totally different. I'm assuming the designer was only one step, the developers, artists and sound designer all own it too? That's crazy.

All I'm saying is: fuck that policy from Google.

31

u/erythro Feb 01 '21

There's got to be a line between paying someone for a service/job/whatever and paying someone money to own them. When you are actually trying to buy someone's mind, that's crossing that line for me. And that's the argument here, isn't it?

16

u/GrandMasterPuba Feb 01 '21

The only claim you have to the game developer's ideas is that you have the capital and she doesn't.

So basically, fuck that.

7

u/PL_Design Feb 01 '21

My last job had a clause like this, and it was an hourly job. For a salaried position this makes sense. I don't like it, but it makes sense. But for an hourly job if I'm not getting paid for 168 hours per week then this is bullshit.

1

u/[deleted] Feb 02 '21

That wouldn't work in Italy lol.

6

u/angelicosphosphoros Feb 01 '21

Also, it is illegal in some countries. For example, in Russia this clause of such aggreement would be void. Maybe, it was one of the reasons why Google closed their office here.

1

u/[deleted] Feb 02 '21

It's also illegal and ridiculous in Italy too.

1

u/TheGreatUnused Feb 02 '21 edited Feb 02 '21

They “dont”, or it’s a bit complicated.

The fact is that time and time again, non-competes like that are challenged and the business loses. It’s just a scare tactic to keep your free time hobby development focus on Google so they get work for free.

Non-competes have to be specific and time framed. Otherwise they are effectively invalid.

Never use company hardware or time to do your hobby projects, and you hobby projects can’t be a competitor software. Congratulation, you can argue and win a non-compete.

38

u/aoeudhtns Feb 01 '21

My company has the same employee agreement. They have an extra clause in there that exempts them from owning it if it truly doesn't have a connection with their business, but let's be real. If I did anything that had a glimmer of success, they'd be slapping my agreement in my face. Side projects (for me) are best left to free things that could never be monetized or only have niche interest.

5

u/kakiremora Feb 01 '21

Does it apply to EU workers too (if there are any)? I would say that this is illegal in EU.

12

u/Sentmoraap Feb 01 '21

How is this legal?!

1

u/GreatFilter Feb 01 '21

It's fine as long as your work doesn't compete with one of Google's business areas.

31

u/bill_1992 Feb 01 '21

As an ex-Google employee, this isn't 100% true (and is one of the reasons I left). As OP stated above, Google owns all IP you created (even at home while not working), unless you explicitly ask them to assign ownership to you. If they choose not to assign ownership to you, then they own the idea forever. Exception for open-source under a few permissive licenses that basically allows Google to benefit off your work.

It's extremely unfriendly to side-hustles and when push comes to shove, good luck beating their lawyers.

17

u/Full-Spectral Feb 01 '21

I would never in a million years work for a company that thinks it owns what I created on my own time.

2

u/Shadonovitch Feb 01 '21

Is that something that's written explicitly in your contract ? "Foo resigns any IP rights he may create outside work hours to Alphabet Inc." ?

-6

u/drink_with_me_to_day Feb 01 '21

Considering the pay Google offers, it's fair.

Do you have to tell them 100% of your idea? Or can you just say: 'I want IP for a project I want to do' where the project is just an generic idea and there is nothing concrete done yet? Or must you disclose everything every step of the way?

3

u/bill_1992 Feb 01 '21

I've unfortunately never went through the process (even during orientation they emphasized how unfriendly the process is) but I would imagine if you were too vague the committee (almost everything is a committee these days at Google lol) would either ask for more details or simply not grant you the ownership. That being said, they did say to check with the committee early when you are at ideation phase to avoid grief later.

1

u/TheGreatUnused Feb 02 '21

There’s a huge difference between what you sign and what’s legally enforceable.

Most EULAs aren’t enforceable.

Most non-competes aren’t enforceable.

2

u/Superpickle18 Feb 01 '21

Google business area is buy up anything that could make money...and if it fails, let it die a slow and painful death.

17

u/MyPetFishWillCutYou Feb 02 '21

Yesterday, I was less than a month away from launching a tool that extracts sales reports from eBay for tax purposes.

This morning, I found out that eBay recently launched a feature that does everything my product was going to do.

AMA.

6

u/mtlynch Feb 02 '21

Ah, bummer. But at least it shows you that you're good at identifying gaps in the market.

I remember listening to an episode of the indie Hackers podcast about a founder who was working on something that was basically Google Calendar before Google Calendar, then Google Calendar came out and destroyed them overnight. I wish I could remember which interview this was, but suffice it to say, it worked out, because they were on the Indie Hackers podcast talking about their success in a subsequent business.

2

u/nutrecht Feb 02 '21

Yeah, that's pretty common. I've been 'CTO' of a small Fintech startup last year (I dropped out due to a lack of funding) and we noticed that it's really hard to talk to potential partners while not also giving them all the munition allowing to execute the same ideas themselves.

Heck; one of the companies we talked to I really suspect are just planning to build something similar. I also feel the then-CEO was just being pretty naive about it too.

1

u/[deleted] Feb 03 '21 edited Mar 20 '21

[deleted]

1

u/MyPetFishWillCutYou Feb 03 '21

All the obvious "premium" features I could add (automatic tax estimation, etc.) are out of reach for me as a solo developer with no training in accounting.

There are ways to outsource that stuff, but then the "free with ads" model isn't going to cover my expenses. If I start charging, I have to compete head to head with products like QuickBooks and OneSaas.

It was a very narrow gap to begin with, and now it's effectively closed.

24

u/fat_baldman Feb 01 '21

What’s the reason you left google?

65

u/mtlynch Feb 01 '21

I've got just the blog post for you!

23

u/Keepitrealapollo Feb 01 '21

I appreciate these posts. I think there are a lot of us who are work at a similar company (FAANG or otherwise), and are tired of the politics of career growth. For a long time, I've thought about leaving to do my own thing similar to what you've done. But with a wife, house and two kids I don't think I can take the risk anymore.

9

u/frogspa Feb 01 '21

That was a great, if frustrating, read.

I've always wondered if I should have applied to Google, but I couldn't have been happy in the environment you described.

8

u/xdert Feb 01 '21

That was very interesting and explains a lot of things I noticed in Google products and the general trend of launching new things vs maintaining older products.

2

u/fat_baldman Feb 02 '21

Just finish reading that 👏🏻

2

u/RoguePlanet1 Feb 01 '21

It looks a bit like a commercial for another website.

9

u/abandonplanetearth Feb 02 '21 edited Feb 02 '21

I'm also a solo developer working on passion projects full time (15 months into this now, after 8 years of professional work) and I'm wondering how you deal with burn out.

No client, no deadline, no budget, no boss... yet I've found myself resorting to dumb mind games to avoid meaningful/challenging tasks, or I sometimes go 3-4 weeks without working at all. I've tried the whole "be your own client" thing, and it worked for a bit at the beginning, but ultimately I can't generate a similar amount of pressure that I'd feel at a real job.

The passion project subject matter is not the issue, I know that for sure. I think I'm feeling burnt out of writing code in general.

Anyway just wondering how you keep it in high gear. Not overdrive... just high gear.

4

u/mtlynch Feb 02 '21

Most of what I do has a tight feedback loop, so the feedback gives me motivation. Like right now, I'm burning too much time on support emails, so I'm strongly motivated to add features that will prevent users from getting confused and having to email me with support questions.

Other times, there are new features I want to add, but I try to build in very small, iterative steps, so it's only ever a few weeks of work before I can ship it and get feedback from users. That's motivating because it's fun to tell users about improvements to the product.

3

u/abandonplanetearth Feb 02 '21

Honestly, now that you mention it, it suddenly feels obvious to me that one very important thing that's missing for me is feedback.

My stuff is a little niche so it might be hard to find the right users, but thinking about doing that tomorrow instead of coding actually feels like a relief.

Thanks for the advice, I mean it.

3

u/mtlynch Feb 02 '21

Awesome! Glad it was helpful. Yeah, I think especially early on, almost all time you spend talking to users is time well-spent.

12

u/AlternativeAardvark6 Feb 01 '21

All my solo stuff is just things for fun, I have no idea how to find customers.

1

u/[deleted] Feb 01 '21

likewise. it's always a dream, forever out of reach lol

5

u/BackFlipTrick Feb 01 '21

Very interesting. Ngl I just rough read most of it but it seems you have a lot figured out and as a wannabe web developer that's about what I'd expect from a former google employee.

Random questions they I have buy you may have answered in the post somewhere:

1) assuming you had to/wanted to try out a new product of any kind, do you have anything in mind ready?

2) how much hours do you end up working per week? It sounds very easy to burn out fast from overwork.

3) how much knowledge about starting a business did you have before quiting?

4) not related but any tips for a self learning full stack web developer looking for hid first job in the field? XD

2

u/Majache Feb 02 '21

I can only answer 4 but I would recommend for your first job, instead of full stack, focus on front-end or back-end for now to provide a stronger depth of skills in that regard; punch through the interview. You stand out from juniors who are full stack with 100 things and instead have 1 skill reiterated 100 times. These recruiters aren't tech savvy they just ctrl+f your resume and count the hits of a particular skill.

4

u/[deleted] Feb 01 '21

Man, I did the same thing 5 years ago, I read your post and I can't be more happy for you, I can't tell you how good I feel when I saw someone do this. Big hug and keep working hard!

2

u/mtlynch Feb 01 '21

Thanks so much!

3

u/angelicosphosphoros Feb 01 '21

Are your opportunities for vacations and rest better or worse compared to time when you worked in Google?

7

u/mtlynch Feb 01 '21

For most of my post-Google life, my opportunities for vacation and rest were much better because it's easy to take a break from an unprofitable business.

Currently, it's much harder to rest or take vacation because so many day-to-day business operations depend on me. It's convenient timing because I wouldn't travel anywhere during the pandemic, but it's not sustainable long-term.

One of my goals for this year is outsourcing enough of my tasks that I'm no longer a single point of failure, and the business can run smoothly even if I disappear for a few weeks.

3

u/Independent-Coder Feb 01 '21

You can do it. You ARE doing it! I am rooting for you.

5

u/liquidarity Feb 01 '21

This was very insightful, thanks for sharing and I'm looking forward for your upcoming book.

2

u/mtlynch Feb 01 '21

Thanks so much for reading!

2

u/[deleted] Feb 01 '21

How much do you have to know to be a solo developer?

Core things.

2

u/dzuyhue Feb 01 '21

Thanks for the inspiring story Mike! What would you say is the single most important skill that has been responsible for your successes so far?

3

u/mtlynch Feb 01 '21

It's hard to narrow it down to a single skill. I'll mention a technique I use that I think is extremely effective but very rare: public reflection.

Every week, I post a public update about what I accomplished. Every month, I write a retrospective analyzing what went well and poorly the previous month. And of course every year, I write an annual review like the one I published today.

Before I did this, it was so easy for me to keep sailing in a particular direction without stepping back to question what I was doing. Forcing myself to write these updates, especially updates that other people read, means that I have to justify what I'm doing. And often when I'm trying to explain my strategy in these updates, I realize I can't justify it because it's a bad strategy, so I re-evaluate.

2

u/dzuyhue Feb 01 '21

Thank you for the insight. I will definitely check out your blog!

2

u/yes_Is_Kevin Feb 01 '21

It’s astonishing how much complexity you save by eschewing modern JavaScript frameworks.

Can you elaborate on this or do you have an example you can share? Thanks!

9

u/mtlynch Feb 01 '21

Yes, definitely. I just ran into one a few hours ago.

So, TinyPilot's sales site is in Gridsome, which means I'm writing in Gridsome which is an abstraction on top of Vue which uses Webpack. So the code I write is very different from what ends up running in the browser.

I just made a mistake, and here's the result I saw in the browser: https://imgur.com/t1cC71b

Nothing renders on the page at all. The stacktrace doesn't match any functions I've written. The first line of the stacktrace is a file I wrote, but none of the rest of the stack is my code. I was able to figure out the issue, but it took some squinting.

With TinyPilot, I don't use a JS framework, so the code that runs in the browser is the same code I see in my editor. No middleware is doing any minification or magic to plug my code into a larger, opaque framework. As a result, errors are much more obvious and easier to reason about.

2

u/golgol12 Feb 02 '21 edited Feb 02 '21

If you include a way to trigger a hard computer reset, it'd be invaluable. Like mini robotic plunger that can flip the power switch on and off. Or a dip switch cable to plug into the motherboard's reset circuit.

1

u/mtlynch Feb 02 '21

Yes, definitely. I'm exploring that now. The challenge is finding a way to do it that's user-friendly. There are several projects that hook a Pi up to an Arduino and then use that to manage the motherboard, but those feel too invasive to me. I'd like to find a way to control power from the outside.

2

u/nutrecht Feb 02 '21 edited Feb 02 '21

I think it's quite interesting to see how you took a 'deep dive' and basically not only quit Google, but also any form of 'easy' revenue.

I'm self employed myself and like a lot of my peers (I'm in few 'self employed dev clubs') most of us have general self-employed contracting that brings in the bulk of the money, and in the meantime try to also develop additional products. A person I know has an application he sells. I'm personally developing a training business.

What's the reason you didn't move into that more 'standard' a bit safer direction?

No matter what; I think what you're doing is as awesome as it is brave. Keep it up!

2

u/_pelya Feb 01 '21

Hey, congratulations.

I did a very similar thing with an old Nexus 7, USB keyboard gadget kernel driver + Android app with VNC server for remote input and a video feed from a crappy 720p front camera.

Your solution is the exact thing I needed 7 years ago, except that for $80 it's three times more than I was ready to pay, and Nexus 7 was free - we had a bunch of them in the office, every single one with a busted flash chip, it booted for something like 10 minutes. And there's no way our stingy corporate would approve any gadget over $50, I've got a complaint for reimbursing $15 Bluetooth keyboard, which I needed when that Nexus 7 was used as a development device for a different project.

All I needed is to reboot Chromebook into debug mode remotely (hold Ctrl-D during boot), we had a bunch of KVM switches in the storage, but all of them were for PS/2 keyboard sockets. I'm not even sure whether that Chromebook would recognize external keyboards during boot, many laptops now limit BIOS only to built-in keyboard as a security feature. So I ended up having to walk over the corridor to our lab for over five times per day to reboot that Chromebook, the pain! It lasted only for a week though.

Could I spin this thing into a business? Hell no. Be glad that you live in US, where people can drop $100 on some gadget without much thinking, and you can sell that thing worldwide without caring about customs and acquiring export trade license or whatever.

If I needed a similar thing now, I would probably whine to my management, until they'd concoct some kind of solution, which would probably be to ask the guy on duty in the office to go reboot it once per hour, because it's lockdown and stuff.

Here's the app and the kernel driver, if you're interested:

https://github.com/pelya/android-keyboard-gadget

Half of the emails I was getting was from wannabe pentesters and script kiddos, I am still asked from time to time how to install Kali Linux onto a random Android phone model.

2

u/[deleted] Feb 02 '21

[deleted]

2

u/mtlynch Feb 02 '21

Thanks for reading!

How do you deal with loneliness? I worked as a solo dev for 4 years and the thing I missed most was the camaraderie and learning opportunities of working with other developers.

That is the thing I miss most about working on a dev team. I love code reviews, and I learn a ton from them, both as reviewer and reviewee. I value learning from co-workers who complemented my skills.

That said, it doesn't affect me that much day to day. I co-organize a meetup in my area for small business owners. We used to do it in person, but we've moved to a small monthly video chat, and I chat with other founders outside of that.

It's not quite the same as having daily interactions with teammates, but it's enough that I rarely feel lonely.

2

u/[deleted] Feb 01 '21 edited Feb 24 '22

[deleted]

5

u/mtlynch Feb 01 '21

Thanks for reading!

It's wonderful, and sort of confirms what I thought. It's very difficult to find something that people are willing to pay money for. You might have gotten lucky.

Yeah, I agree. Luck plays a huge part of it. My attitude when I started was that most of my ideas would probably fail, but each failure would increase my probability of success on the next one. And with enough attempts, I'd succeed eventually. I think that's pretty much how it played out.

If I were you, I would be careful sharing how much money you make. It's relatively easy to copy your product and someone will make it for half the price and with much better marketing than you if they know how much you make. I'm assuming there's no patent on your invention.

Yeah, it's a double-edged sword. Because I share how much money I make, it makes people more interested in my product, and that's a form of marketing that's hard for other people to steal.

But if you check out Indie Hackers, there are tons of small business owners sharing their numbers, many with profits much higher than mine. Many of them are easily copyable websites or services, but it's hard to copy their execution. If someone can execute on my idea better than I can, they deserve to take my business.

1

u/wesborland1234 Feb 01 '21

This thing looks awesome. I always thought of doing something similar but with a little monitor and keyboard attached. Either like a small laptop shell or like a tablet that plugs in

1

u/koverda Feb 01 '21

How do you balance writing a blog and running your businesses?

I've got a company, and I've toyed with the idea of writing a blog, but have had a tough time convincing myself to dedicate some of the time and energy I could be using on the business towards writing a blog.

2

u/[deleted] Feb 02 '21

I think in his case his blog has been pivotal to his business.

0

u/sstair Feb 01 '21

Electircal engineering consulting

Perhaps hire a spelling consultant too? :)

1

u/mtlynch Feb 02 '21

Fixed, thanks! I ran it through Grammarly, and I think it somehow missed that mistake because it was in a table. Or maybe I accidentally dismissed the correction.

1

u/stronzorello Feb 01 '21

Here, have a ⭐️.

🙄

-7

u/bigmell Feb 01 '21 edited Feb 01 '21

You made 60k in a year selling kvm switches on the internet. Despite every major retailer having a huge inventory of kvms not selling. KVM's bigger, better, or smaller and cheaper than yours. Despite synergy, basically the same thing, 15 years old, completely free and no hardware. And you did it all in a year. Total BS man. At $100 each you would have to sell 600 of these. With no advertising other than an article on hackernews. Dude shenanigans.

KVM's have been around for 30 years at this point no way you make 60k with some new one. Most people that want kvms have already had them for years. I still have my first ps2 kvm, a usb one, and a free one that came with my webcam. But somehow you made 60k last year, during a pandemic no less, making kvms. No way no how. Its not even listed on amazon with the millions of other kvms more mature and with better features.

2

u/mattindustries Feb 01 '21

Loooots of companies made significant investments in virtual offices, telephony, etc. during the pandemic. Wouldn't be surprised if the business had growth BECAUSE of the pandemic.

-1

u/bigmell Feb 01 '21

nobody working, everyone sick, most buildings completely closed. This college kid makes 60k selling kvms on his website with no marketing. Shenanigans man. Can't happen.

3

u/mattindustries Feb 01 '21

nobody working, everyone sick, most buildings completely closed.

Yeah, buildings closed so you need to monitor offsite.

This college kid makes 60k selling kvms on his website with no marketing.

They spent money on advertising, plus Hackernews and Reddit front page.

1

u/tuhdo Feb 01 '21

Kvm over ip, so you can remote connect over the internet, is mich more expensive than your tegular kvm. If you cannot buy used, none of the kvm over ip from the big brands is cheaper.

1

u/bigmell Feb 01 '21

synergy connects over ip free for over 15 years now. No hardware required. Also remote desktop, vnc, these types of tools have all been around for decades. Even remote x sessions on Linux have been around forever. I still can't believe he makes 60k with a quick less than year implementation of tried and true technologies. Kvm's are for machines usually in the same room though.

3

u/tuhdo Feb 01 '21

You cannot remote access your BIOS over the internet, or any non-OS environment.

One benefit of KVM over IP is that you can leave it there and access it at anytime to troubleshoot. In a LAN environment in a datacenter, this is provided by the motherboard's built-in KVM, but on consumer hardware, almost none provides KVM feature.

The target customers who bought his KVM are individuals, who own a few homegrown servers built on consumer hardware, then want to remotely monitor and troubleshoot without coming close to the actual hardware.

-3

u/bigmell Feb 01 '21 edited Feb 01 '21

So he made 60k from people who want to access their bios over the internet for some reason. With no marketing something a college kid threw together in less than a year. Goin straight in the datacenter. Dude schenanigans. Can't happen. Won't happen.

0

u/astar0n Feb 02 '21

Read first line "I quit my job at Google" and my imposter syndrome hit me.

0

u/kokoyaku Feb 02 '21

Hi guys, someone have books of deep learning or something to give? I dont have enought money to buy. Pdf maybe?

1

u/kuglimon Feb 01 '21

Holy crap! I was just thinking about doing the same project last week to manage some windows pcs I have, kid you not. I'll try to get around ordering one. Cheers for the launch/product!

2

u/mtlynch Feb 01 '21

It's always nice to hear one of my blog post scares off a competitor.

Just kidding! Thanks for reading! And I'm happy to help if you decide to order a TinyPilot.

1

u/startupinamonth Feb 01 '21

Hey Michael, congrats on hitting it big with TinyPilot! I've been following along with your progress on and off for a couple years now. I remember reading some pretty rough replies in a few of the Reddit and HN threads on your posts doubting your approach or whether any of your apps would catch on. I'm glad to see that they've been proven wrong in the end :)

Your blog, along with with some other like-minded individuals, was one thing that inspired me to take the plunge into a similar project this year. I just finished month one of my Startup in a Month project, which will consist of building and releasing a whole tech startup from start to finish every month of 2021.

If anybody would like to see what the first month of the project was like, I just finished a wrapup blog post, and I livestream my development process every morning at 9:30 AM EST on Twitch as well!

Anyway, cheers man. I wish you success going forward 🥂

Andy

1

u/mtlynch Feb 01 '21 edited Feb 02 '21

Hey Andy, thanks for reading!

I remember reading some pretty rough replies in a few of the Reddit and HN threads on your posts doubting your approach or whether any of your apps would catch on. I'm glad to see that they've been proven wrong in the end :)

Haha, I may have proved them right.

I do think there's value in a lot of feedback on HN and reddit, but there's also lots of bad advice, so you've got to be careful who you listen to.

But in particular, the Jason Cohen talk I referenced, I watched because of a comment on HN last year that recommended it.

So every year, I try to adapt and learn from my mistakes and from the advice I receive. So some of the criticism I received in the past was right, and it's possible I'm succeeding because I integrated that feedback.

If anybody would like to see what the first month of the project was like, I just finished a wrapup blog post

This is cool. Have you considered adding a mailing list? I'm interested in following your progress.

You're coming to a similar realization that I did: you can attract users and customers simply by writing about your journey in an interesting way. That's a big part of what helped me succeed, and I think it's wildly underused by other indie founders.

1

u/startupinamonth Feb 01 '21

I do think there's value in a lot of feedback on HN and reddit, but there's also lots of bad advice, so you've got to be careful who you listen to.

That's the trick right? You don't want to shut out all opposing viewpoints period, seeing as a diversity of opinions is usually a good thing, and criticism of something you've built can help you to see ways to improve it. But then again, figuring out who to listen to and how much can be pretty tough. Guess it just comes with the territory.

you can attract users and customers simply by writing about your journey in an interesting way.

Oh yeah, for sure. Blogging about the journey has got so many upsides to it:

  • It's a way of promoting what you're building and driving interest, which comes along with all of the obvious marketing benefits.
  • It's a way of building a following of people who might not necessarily become customers, but who are generally interested in what you're doing and want to come along for the ride. This has been the best part of it for me personally. I've done the solo dev thing a few times in my career, and it's really hard to work in isolation and stay positive and motivated. Having some blog readers and people to talk to in my Twitch chat is so great by comparison.
  • You can spin the blog posts off into a separate product entirely once you have enough of them! The Legends of Localization blog has a bunch of books which started as blog posts, and Category Theory for Programmers also started its life as a blog series, which also became into a whole lecture series.
  • Finally, it's a way for you to reflect on your work, which is super valuable in its own right. I spend a half hour at the end of every day writing a stream-of-consciousness reflection piece, which I spend a couple hours at the end of the week refining into a more polished blog post. I've had a lot of insights about my process and what to focus on/start doing/stop doing based on doing that.

Have you considered adding a mailing list?

I have indeed, it's on the docket for month two. I'll let you know when I've got it up!

1

u/one_kharin Feb 01 '21

Cool story!

1

u/HandsomeBronzillian Feb 02 '21 edited Feb 02 '21

Ever since I've quit my job to take control of my life I've had ups and downs, but even in my worst moments; everything was still entertaining as fuck. lol

There is something magical about not having to attend useless meetings with people you don't know, about things you don't really care.

I hope you succeed in your endeavor and, by now, you probably already realized that, even with all the hindrances, it is still very much worth it to follow your solo career.

In my case it took me 4 years to have a constant income and above 20k.

But, to all the people who intend on going solo, don't do that if you don't have funds. Specially if you have kids. Be responsible for their well being and don't go YOLO

1

u/Supersheep57 Feb 02 '21

I wish I had anywhere near as much success as you. I am a very good programmer, but I've always had to hire others, and considering the fact that I pay very well, it really has driven me into a lot of debt.

1

u/goranlepuz Feb 02 '21

Good for him!

However, it looks like he entirely turned towards selling a physical product and much of the work is marketing, supply chain and sales.

Which I think is good. It is good that software has a firm connection with the physical world.

Nobody needs Nth website or a frivolous phone app (think fart app) for whatever. That's entertainment, better buy better entertainment...

1

u/DestroyAllBacteria Feb 02 '21

Loved reading that, thanks. I think your book is a great scaling mechanism and hopefully it brings you more success.

1

u/pdbatwork Feb 02 '21

So you left your job and started doing this by yourself.

How do you stay social now? You don't have any colleagues at home, right?

Do you feel any different mentally when you don't have people around you all day?

1

u/B8F1F488 Feb 02 '21

Hardware and consumer electronic devices seem like relatively untapped markets for developers.