Something I heard recently on some podcast which really resonated was (paraphrasing): "Inertia is the biggest issue for a startup. The world doesn't like you, doesn't think it needs you... and you've got to invert that. You have to create momentum by scratch and the most important thing a founder does, by an order of magnitude, is invert inertia. Literally, in a physical sense. Like the world stays at rest and you've got to create momentum." With that in mind, it makes sense to do things that don't scale... because in the beginning, you're not trying to optimize a machine that's already running. You're trying to get the engine to turn over at all. PG's point is that scalable growth comes later; first, you have to manually crank the thing into motion. You do manual stuff not because it's efficient, but because it's the only way to get traction when no one's looking for you in the first place. And that's how you learn what actually works, how you build momentum one user at a time, and how you prove there's something worth scaling at all.
I also think that the biggest value in doing things manually is that you actually learn.
One of my clients used to make a nice curated list of the important financial and stock market news of the week, it was a niche part of a niche product but people loved it.
At some point he thought about automating everything, it became less curated, more spammy, it lost any value and in the end so did the product. Sure there was more news, but it was less curated, edited and the signal to noise ratio got worse.
In fact what they did manually was more valuable even if the scope was smaller.
Many companies don't understand that and rush into premature optimization.
I'll have another example: one of my clients wanted a scraper to automate something his company needed to do manually: check competitors prices on their ecommerces.
I built it, way simpler than they wanted (they thought they wanted an app with a proper front end, turns out it was better for both to produce an excel spreadsheet with the data) and they were happy.
Then after some time they understood that they were missing part of the experience: navigating their competitors manually allowed them to see new approaches to show the catalogue, new trends and products, they were actually learning from the competition.
Eventually they realized and got back to doing it, and left my scraper just for price analysis.
But the overwhelming majority of my clients keep putting automation before the product and problem and misses important learning opportunities.
People focus on the primary function they want to automate and forget about all the ancillary functions and effects, which, in aggregate, can be as important as the core function.
That's a really good point, doing things manually is an important part of being connected to a job and its outcomes. I will also say, sometimes you need a few hours of little manual tasks to break up the day between brain-heavy tasks.
My theory is that there are three regimes: Not Scaling, Scaling, and Antiscaling.
Not Scaling is about crossing and shoring up your moat. Scaling is when your app has enough hype around it that your customers recruit new customers, and all you have to do is add new machines or shard the database or whatever to handle increased demand.
Antiscaling is when you turn into the thing that everyone hates about the modern web. Antiscaling is when intelligence agencies want to talk to you about how your chat app is used by terrorists, when cities want to licence access to your ridesharing or takeaway delivery app, when pieces of legislation are passed that are specifically designed to target your company, when you're sufficiently well-known as the founder of an app that people are making memes about you and tracking your personal movements.
You don't have to take over the world, you just have to make money. People who try to change the world often change it for the worse; just try to make something useful, and maybe the world will like it.
It may not be the usual example, but I believe it an apt one: shrinkflation and other kinds of forever "cutting costs" to the detriment of everything else is so normalised it's a cliche. We expect planned obsolescence now.
How about extreme and utter irrelevance (such as after building a thing nobody wants)?
Or how about this, arguably the most common: slightly successful; nobody hates it but nobody loves it either. Something people feel mildly positive about, but there is zero “hype” and also no “moat” and nobody cares enough to hate it.
A recommended read for all early stage founders and for employees too if you are one of the earlier team members.
One thing we do and still do even at 15+ people is we call each and every new signup on the phone.
We do it for these reasons:
1) How did you find us?
2) Do you need help starting?
3) (Implicit: we care)
It probably works because what we have it’s a B2B platform.
However, our target group is software developers and maybe surprisngly these phone calls are really really nice.. once you get over the ”no, I am noy calling you to sell anything”-phase :)
Seeing a lot of people shit on Paul, which I guess, why not, but it's not super useful or positive.
I think this is a fairly good essay which can be boiled down to "don't do premature optimization" or "don't try to behave like companies much bigger than you".
There are three advantages to this:
1/As a founder, get your hands dirty, even if in the grand scheme of things it's inefficient. You'll get first hand experience and feedback.
2/Avoid the upfront cost of "something that scales", and thus get quicker feedback.
3/Makes you different, very important in the beginning.
"Do things that don't scale" is a way to drive the point home and must not be taken literally...
Many people are concerned with becoming an overnight success and being unable to withstand the load, and losing the momentum. So they build highly scalable things before the slightest need for horizontal scaling even arises.
I think that vertical scaling is underappreciated. Just throwing more resources at your monolithic backend can buy you quite enough time to understand how to best scale your product. More importantly, it may give you the time to reconsider what are the key strengths of your product that the users are for, and thus to understand what needs scaling.
Also, when users really love your product, they will excuse you for its spotty performance. Early Twitter was built on a hugely inadequate architecture (a Rails app), and kept melting and crashing; remember the "fail whale"? Despite that, users were coming to it in droves, because it did the key things right.
To my mind, the early stage is all about easy iteration and finding out what makes users happy and enthusiastic. Ignore scaling; experiment, listen to the users, talk to the users. When it clicks, you can consider scaling. It may happen at a point you did not anticipate, and could not optimize for.
Technology is a tool, an instrument. It's great to have a Stradivarius, but you need some good music first.
When anything fails (even a business) a suitable excuse is found (maybe a story that executives can sell to investors). If you were there then sometimes you know what the actual hidden reason was (often an intersection of multiple causes).
It's a human pattern for businesses to discover a strawman, build a story about that strawman, then share that story widely.
Not saying the above answer about pets.com is wrong - just that in my experience you need to be cynical enough to ignore the story and then resourceful enough to find a better causal reason.
Edit:
Scaling is NOT given as a reason. "Despite only earning $619,000 in revenue, the business spent more than $70 million on advertising and marketing", "the company sold its pet products under their original purchase price", "bulk items like dog food were expensive to ship".
I guess another reason is that people make up stories like blaming scaling?
I'll make one up: Amazon owned 50% of pets.com and Amazon encouraged it to fail.
"Didn't have the cashflow" sounds more like lack of investment / loans, but I agree, explosive growth that catches you unready can happen. It seems to be an exception rather than the rule though. But everyone strives to be an exception, I know :)
You hire your sales team for their infectious enthusiasm. Then they get some momentum going and you don't want to try to stop that momentum, but now they're bringing you so much fame that it's now tipping into infamy.
And every time you ask them to slow down, they tell you a very convincing story about why if anything we should be going faster.
I worked for a small consulting shop where the founder was one of these people. I had to try three times over about 2 years to quit. The last time I just kept talking over him like a priest doing an exorcism and shoving my 2 weeks' at him.
It’s also important to realize that not every successful or worthwhile business has millions or billions of users that requires extreme optimization and scalability.
I work on internal tools at my company. We know how big our environment is, there isn’t much sensitivity to performance, and we don’t see random spikes that we don’t cause ourselves. Yet I had someone on my team who was obsessed with optimizing everything, to the point of changing his entire code base to a new language that only he knew, so he could save a few milliseconds on paper. Aside from him, no one noticed, no one cared. His optimizations just introduced risk, as he was the only one who could support what he built. When he left, we threw the whole thing away at management’s demand. Had it been a little more simple and slow, someone else probably could have taken it over without as much effort.
My own ethics is mostly about collaboration and confidence. I make sure that I’m ready to offload work whenever I want, and knowing what I ship is working. Other thing are just fun experiments. If it does not impact positively the business/consumers, I’m very happy to not do it. God knows that there’s always something to work on that does.
There is a key difference from "don't do premature optimization." "Premature optimization" suggests the scaled version is optimal. It might not be worth the resource cost to achieve it, but disregarding that, its the best.
Whereas "Do things that Dont Scale" is suggesting the non-scaled process may be the optimal one. For example (and this sort of thing is in the article IIRC), giving direct contact details to the CEO instead of a generic form that get's sent to some shared customer service/sales inbox. Way better process for selling your product. The inquiry form scales but its in no way a premature "optimization."
Another way of putting it is that SCALING IS BAD. Or to be a bit more nuanced, it's a necessary evil. It's complex. It's resource intensive. It creates distance between you and your customer. Of course business goals and environment may dictate it, but that doesn't mean none of the processes are degrading in quality. So its more like dont do "premature process degradation" than "premature optimization" I think.
> "don't try to behave like companies much bigger than you"
This is such good advice for organizations at all stages. As a consultant I spend a lot of time talking startups and small companies out of hobbling themselves by adopting policies they think they have to simply because they're a corporation, when those policies only make sense when you have at a minimum hundreds of people involved in the org.
Everything from k8s to nosql to overly restrictive security policies. The Netflix employee handbook/guide really drove this point home to me. When you're small, and you're hiring well, you can afford to actually delegate real responsibility to your staff and let them use their judgement. Not everything needs to be a hard and fast rule until and unless there's an unacceptable level of risk or a demonstrated problem at hand.
Hardly "a lot". There's like three negative comments and one of them is strictly criticizing the article itself and not paul. I thought it brought up some good points.
I don't think pg is wrong on this at all, and I don't run a business so this is largely me just bloviating, but a large part of the fun of a project for me is figuring out how it's going to scale.
Obviously there's software scaling, which of course on this forum doesn't need much explanation; making code maintainable and making it work with lots of users is just something I find really interesting and fun.
But it's not just software; there's also other projects that I work on that to me the fun part is figuring out "if I had to do this a million times how could I make this easier?"
Stuff like figuring out ways of batch-cooking food so that I could handle dozens of people, for example, is something I find pretty enjoyable, even if I will never have a situation where I need to feed dozens of people. Figuring out how to get mass production of 3D printed parts using OctoFarm is fun even if I never really need more than one part at a time. Buying industrial-sized CO2 containers and kegs for my soda habit makes me feel cool.
I dunno, I guess to me it sort of sucks the fun out of things to have to do things in the non-scalable way, but I guess that's sort of pg's point.
Stripe is one of the most successful startups we've funded, and the problem they solved was an urgent one. If anyone could have sat back and waited for users, it was Stripe. But in fact they're famous within YC for aggressive early user acquisition.
This was 12 years ago. Even he couldn't have imagined how successful it would still become. I wish there were I way I could have invested in it.
It is pretty profound. AI / deep learning failed to solve self-driving, but they’re good at moving text and code around, which humans still have to check
It’s arguable whether that’s “doing”
I’d say it’s more spreading knowledge around, which is super valuable, but not what is being advertised
The problem with self driving is that bad decisions can kill you, before anyone can check if it was a bad decision
How is it spreading knowledge around? A lot of times it gives half backed answers and a lot of beginners are using it while learning. That's not a good mix in my opinion.
I've been helping someone who's learning programming and I've had a look at their code. All of it is vibe coded. And the vibes are nightmarish, I don't think the AI is helping at all.
The only thing it's useful for is sparing expert programmers some tedious work, that's my perception as a programmer.
You might be missing the joke: the words are not just shuffled into a random order, but form a new valid sentence that is on point. While your sentence is also grammatically valid and perhaps even true if interpreted in a particular way, it has little relevance to the context.
This is a great article! My cofounders and I read it when we were first starting our business, and it significantly impacted the decisions we make, usually for the better. But don’t forget to scale at some point!! For example, we’re still doing our own bookkeeping and tax filing. When we started it was simple and it was a “thing that doesn’t scale” which we could still do. But at this point it’s a waste of time. We’re finally outsourcing it, probably a year later than we should have. I think we overindexed on Paul’s advice a bit. Which, to be clear, is still really really good advice, just don’t take it too far.
> Building a scalable systems doesn't take extra time anymore,
Except you bleed money all over the place to do it this way.
AWS (and every other cloud provider) is still pricing its product like its 2013
> you just need an engineer who has experience doing it to lead the project
And then you become Figma, who probably should have gotten off of AWS before or with their IPO, rather than doubling down on AWS costs (something like 300k a day).
Most orgs who get past "survival" cant tell me the cost per user, or cost per customer or what each (named) customer is costing them in their stack. If they put in the effort to figure this out what they tend to find is that they are hemorrhaging money to third parties.
I know plenty of CTO's, vp's and Team leads and SR engineers who dont know what the rent vs buy calculation is, never mind how to do it. But I do know that AWS is what props up amazon and its value.
This is advice that has always sounded good to me on paper but not quite right in practice.
Scaffolding is great, until it isn't. It needs to be replaced with something resembling a Real Solution before the Last Responsible Moment comes and goes. But due to Hofstadter's Law as well as Queuing Theory, we can never get the timing right.
And so a lot of the devs you encounter who fight this have found themselves spending a lot of time throwing good money after bad, keeping a broken system working just enough that the customers don't defect, while trying to also find the time to replace the broken system, which is also always being made more difficult by the changes being made to keep the busted shit kinda working.
And so at some point they just say Enough. I'm not going to lie to myself and my coworkers by saying "We'll fix that later" because "later" never comes, only "too late" comes.
There are ways to spin this however. If the customer trusts that you know what you're doing and that you will eventually get to all of their problems, they'll stay put while you work on them. But you have to telegraph competence and then deliver on it. There's a needle you can thread there where you use not shipping systems that Don't Scale... ridiculously badly, you can tell the users to expect quality.
I will say this, as a compromise: It is almost always better to ship systems that scale too expensively than ones that don't scale at all - as long as that scaling leads directly to revenue. You're only shortening your runway by decreasing margins or taking them narrow. But if your customer base plateaus because you just can't onboard them anymore, what investor is going to float you more money to extend that runway?
I have always found it easier to negotiate priority on feature and story work that's attached to a new revenue stream (eg, new account) than ones that only reduce our OPEX. When the checks clear, a small but statistically significant amount of 'generosity' flows. You have to be ready though when it happens because the window is short.
Hey if we're going to land that Fortune 500 company, we need to work on ??? because they're likely to notice it sucks, if they don't just knock it over entirely in six months.
I think there's nuance missing from his take that people gloss over.
To me it's more like "don't over-invest on the early thing you're going to throw away". That implies that:
- You're making a thing, and making it quickly - optimizing for rapid market/customer feedback
- You're making it in such a way that you can replace it
- You have real plans and a sincere intention to actually replace it if you start to scale
I have no problem with those, but what I see at a bunch of startups is:
- Make a thing, don't worry about paining yourself into a corner because "we're moving fast"
- The thing hobbles along, the product gets some interest
- It's incredibly hard to maintain, replace or otherwise improve
- Original authors leave to other pastures because this isn't fun any more
- Other folks come along and have to work miracles to try to undo the gordian knots that were made
In other words: I like the idea of moving fast early on. Duct tape programming, love it. We also have to pay attention to the long term impacts of the decisions we're making. Some things are easy to fix/replace/undo, others are brutally hard.
Say you write a prototype in {Ruby/Python/Perl/??}, now you have mass adoption and you rewrite a slow part of it in {sexy_modern_language}. That's great.
Say instead that you decided to store all of your data in some bizarre format, hosted on IPFS, accessed via bittorrent, through an onion network, via ZModem, with CORBA - and you bake this in to such a degree that it's intermingled everywhere. Now you have a dilema:
- you have a business, making money
- you have increasing interest
- you have a system that's effectively impossible to change or reason about
- you can't really improve things to match the customer interest
- you're wedded to the design because things are so interwoven
- your only option is essentially a ground-up redesign and rewrite
Now - if the product is simple enough, rewrite away! (think early Twitter), but if it's not? Good luck to you.
I've seen this pattern more times than I haven't, and I think it deserves more nuanced thought and care when it comes to the economics at play.
It is entirely possible to do these manual things, acquiring users one or two at a time, and never having achieved escape velocity where your product does not garner enough attention such that its users recommend the product to others, and it grows by word of mouth itself.
I've built at least two of these that became the most popular solution in their space for a given problem, and if you don't have the constraints of a VC investor wanting their returns and eventually shutting you down, then you can realistically go for years without significant enough growth to even get past par with your direct competitors.
Or you realize that your competitors were never even big enough to meaningfully compete with in the first place because you didn't aim high enough.
If you are going to be VC funded. Yes, absolutely. All you need is smoke and mirrors. And the ability to project confidence about what is otherwise an absolute fantasy that doesn't yet exist. Which is what many startups are until they get their house in order (with VC funding). Sometimes VCs get it right and they'll bore you endlessly about their successes. But the 95% that fail that they also invested in and probably shouldn't have is what they generally don't talk about a lot other than in terms of vague hints about acquihires, mergers, and other tried and proven strategies to make a bad investment look like a good one. The unremarkable airbnb clone, the tinder for X, Y, and Z that never panned out. The too good to be true yet-another market place that amounted to little. All of those.
If you are bootstrapping with revenue instead of money, customers won't be lining up for a product that won't work. They won't be interested in your self serving story about how you built the thing with duct-tape and mud while surviving on ramen noodles without sleeping for five months. That would scare them away probably. You actually need to build something that they would 1) buy and then 2) be happy about buying. And you won't have any VC donated cash to wow/lure/distract them with marketing either. You actually need to sell on product merit rather than founder reputation instead of using your reputation to separate VCs from their cash just so you can get the resources you need to not fake the product. Once the product has proven itself, the VC is redundant.
It's a very different game. Most of the things that work with VCs won't work with customers. And vice versa (you are going to slow, you should be focusing on X instead of Y, and all the other nonsense).
But the good news is, you won't need to scale for a while because bootstrapping isn't a fast process. The bad news is that you might not have a lot of time to fix your scaling issues when you do encounter them and they can and will sink your company if you can't. But the good news is that VCs might show up again that time. The bad news for them is that at that point they are generally too late to make a lot of money and will lose interest. You need a different type of investor at that point. It helps to not have too many huge scaling issues when you finally manage to convince customers that buying your thing is a good idea.
Figuring out the right balance between scalability and utility and when to focus on what is a judgment call in the end. Boring tech is usually a good call. Unless the tech is the main thing that you are selling. But don't let a VC tell you. They are just trying to get you to the 95% quickly just in case you don't make their 5% cut. All this business about scaling, keeping customers happy, etc. is just a distraction. It takes too much time. That could take years. They want months/weeks. They'll be happy to write investments off quickly. That doesn't mean it was a bad investment or plan.
VCs want unicorns or nothing. It's high stakes gambling. Most of the economy is a very different kind of business. There's nothing wrong with building a decent business with your hands and creativity.
Cherry-picks winners: Uses only successful examples like Stripe or Airbnb while ignoring thousands of failed startups that tried identical manual tactics.
False choices: Presents manual work vs. scalable strategy as either/or when most successful companies do both simultaneously.
Has a One size fits all: Claims all startups must recruit manually, ignoring that enterprise products need fundamentally different approaches.
Instead, do the following...
- Interview failed founders, not successful ones: They will tell you why things actually break (co-founder fights, cash flow, timing) instead of survivorship bias fairy tales.
- Optimize for "no," not "yes": Ruthlessly eliminate wrong customers instead of trying to delight everyone. False positives kill more startups than missed opportunities.
- Plan your failure modes first: Map exactly how you could die (regulation, key person risk, moats) and build defenses. Most founders only plan for unicorn outcomes.
- Copy boring businesses, because that is the secret of sucess. Dont copy sexy startups: Uber is just taxis with an app, Airbnb is hotels with no real estate, Netflix is just video rental with better logistics. The biggest "innovative" companies are doing boring businesses better, not inventing new categories.
I agree with your comment as an additional way to look at the problem but want to also mention something I heard on a podcast a few months ago.
Paraphrasing "If you get good at seeing red flags it doesn't make you good at seeing green ones. When you optimize against failure you don't optimize for success. So on and so forth."
A failed founder can tell you what broke but won't know what else could've gone wrong or rather what else they needed to go right.
> - Interview failed founders, not successful ones: They'll tell you why things actually break (co-founder fights, cash flow, timing) instead of survivorship bias fairy tales.
I like this idea a lot, if it can be done well.
Is there already trove of failed tech startup stories that are genuine, and maybe analyzed like business case studies? Is it publicly-accessible, or could it be?
I think the biggest challenge is getting truthful and complete information. (People will have made embarrassing mistakes, no matter how much brilliant heroism the team also pulled off. There will be things the failed founders don't want past customers/partners/investors to know. There will be things investors don't want known about their own behavior. For growth startups, there may be investment fraud at some level, for example. Or backstabbing. There will be differences of perspective on what really happened. There may be personality disorders. Etc.)
A lot of people will tolerate a disposable "incredible journey" post to put a less-negative spin on failure, but AFAICT usually no one involved really wants all the truth to get out.
Also, if you do it, ideally it would be for all startups. If you only do it for some, without all being humbled simultaneously, then current convention is to look down upon those with the transparency, while pretending the non-transparent ones are better. It's a pretty dim-witted and petty culture, and we have to structure with that in mind.
"Failed Startups- +70 articles listing +400 failed startups, filtered by country, industry, customer, and cause of failure" - https://www.failory.com/failures
He, like Elon and others, has become a victim of success and being chronically online. There is no room for anything other than rote agreement with his pov. This makes taking anything he says seriously difficult as it is clear his ideas no longer get a priming pass by dissenting views from his inner circle.
Ycs rep overall has become damaged from his and others behavior which is unfortunate.
Yeah I think the "victim of own success" phenomenon is so inevitable, and so damaging to one's competence, that once someone has attained a certain level of success, I start to follow the opposite of their advice (especially if they start contradicting their previous beliefs)
One of my clients used to make a nice curated list of the important financial and stock market news of the week, it was a niche part of a niche product but people loved it.
At some point he thought about automating everything, it became less curated, more spammy, it lost any value and in the end so did the product. Sure there was more news, but it was less curated, edited and the signal to noise ratio got worse.
In fact what they did manually was more valuable even if the scope was smaller.
Many companies don't understand that and rush into premature optimization.
I'll have another example: one of my clients wanted a scraper to automate something his company needed to do manually: check competitors prices on their ecommerces.
I built it, way simpler than they wanted (they thought they wanted an app with a proper front end, turns out it was better for both to produce an excel spreadsheet with the data) and they were happy.
Then after some time they understood that they were missing part of the experience: navigating their competitors manually allowed them to see new approaches to show the catalogue, new trends and products, they were actually learning from the competition.
Eventually they realized and got back to doing it, and left my scraper just for price analysis.
But the overwhelming majority of my clients keep putting automation before the product and problem and misses important learning opportunities.
Not Scaling is about crossing and shoring up your moat. Scaling is when your app has enough hype around it that your customers recruit new customers, and all you have to do is add new machines or shard the database or whatever to handle increased demand.
Antiscaling is when you turn into the thing that everyone hates about the modern web. Antiscaling is when intelligence agencies want to talk to you about how your chat app is used by terrorists, when cities want to licence access to your ridesharing or takeaway delivery app, when pieces of legislation are passed that are specifically designed to target your company, when you're sufficiently well-known as the founder of an app that people are making memes about you and tracking your personal movements.
You don't have to take over the world, you just have to make money. People who try to change the world often change it for the worse; just try to make something useful, and maybe the world will like it.
When a measure (e.g. profit) becomes a target, it ceases to be a good measure.
-- Goodhart's Law.
The typical example is something like headcount targets that lead to employing or laying off some of the wrong people.
I think that profit is more of a force like gravity than a future target that distorts strategy.
How about extreme and utter irrelevance (such as after building a thing nobody wants)?
Or how about this, arguably the most common: slightly successful; nobody hates it but nobody loves it either. Something people feel mildly positive about, but there is zero “hype” and also no “moat” and nobody cares enough to hate it.
Ask HN: PG's 'Do Things That Don't Scale' manual examples? - https://news.ycombinator.com/item?id=38010992 - Oct 2023 (316 comments)
Do Things that Don't Scale (2013) - https://news.ycombinator.com/item?id=26086196 - Feb 2021 (31 comments)
PG: “Do Things that Don't Scale” – What are some examples? - https://news.ycombinator.com/item?id=25898671 - Jan 2021 (2 comments)
Ask HN: How did you 'do things that don't scale' for your B2B startup? - https://news.ycombinator.com/item?id=15290433 - Sept 2017 (9 comments)
Do Things That Don’t Scale (2013) - https://news.ycombinator.com/item?id=14957007 - Aug 2017 (37 comments)
Do Things that Don't Scale - https://news.ycombinator.com/item?id=6041765 - July 2013 (207 comments)
Ask HN: What are some hacks of real founders who did things that don't scale? - https://news.ycombinator.com/item?id=18400020 - Nov 2018 (267 comments)
Why we're doing things that don't scale - https://news.ycombinator.com/item?id=6102285 - July 2013 (34 comments)
One thing we do and still do even at 15+ people is we call each and every new signup on the phone.
We do it for these reasons:
1) How did you find us?
2) Do you need help starting?
3) (Implicit: we care)
It probably works because what we have it’s a B2B platform.
However, our target group is software developers and maybe surprisngly these phone calls are really really nice.. once you get over the ”no, I am noy calling you to sell anything”-phase :)
I think this is a fairly good essay which can be boiled down to "don't do premature optimization" or "don't try to behave like companies much bigger than you".
There are three advantages to this:
1/As a founder, get your hands dirty, even if in the grand scheme of things it's inefficient. You'll get first hand experience and feedback. 2/Avoid the upfront cost of "something that scales", and thus get quicker feedback. 3/Makes you different, very important in the beginning.
"Do things that don't scale" is a way to drive the point home and must not be taken literally...
I think that vertical scaling is underappreciated. Just throwing more resources at your monolithic backend can buy you quite enough time to understand how to best scale your product. More importantly, it may give you the time to reconsider what are the key strengths of your product that the users are for, and thus to understand what needs scaling.
Also, when users really love your product, they will excuse you for its spotty performance. Early Twitter was built on a hugely inadequate architecture (a Rails app), and kept melting and crashing; remember the "fail whale"? Despite that, users were coming to it in droves, because it did the key things right.
To my mind, the early stage is all about easy iteration and finding out what makes users happy and enthusiastic. Ignore scaling; experiment, listen to the users, talk to the users. When it clicks, you can consider scaling. It may happen at a point you did not anticipate, and could not optimize for.
Technology is a tool, an instrument. It's great to have a Stradivarius, but you need some good music first.
It's a valid concern, but most people radically overestimate the likeliness.
It's a human pattern for businesses to discover a strawman, build a story about that strawman, then share that story widely.
Not saying the above answer about pets.com is wrong - just that in my experience you need to be cynical enough to ignore the story and then resourceful enough to find a better causal reason.
Edit:
Scaling is NOT given as a reason. "Despite only earning $619,000 in revenue, the business spent more than $70 million on advertising and marketing", "the company sold its pet products under their original purchase price", "bulk items like dog food were expensive to ship".
I guess another reason is that people make up stories like blaming scaling?
I'll make one up: Amazon owned 50% of pets.com and Amazon encouraged it to fail.
And every time you ask them to slow down, they tell you a very convincing story about why if anything we should be going faster.
I worked for a small consulting shop where the founder was one of these people. I had to try three times over about 2 years to quit. The last time I just kept talking over him like a priest doing an exorcism and shoving my 2 weeks' at him.
I work on internal tools at my company. We know how big our environment is, there isn’t much sensitivity to performance, and we don’t see random spikes that we don’t cause ourselves. Yet I had someone on my team who was obsessed with optimizing everything, to the point of changing his entire code base to a new language that only he knew, so he could save a few milliseconds on paper. Aside from him, no one noticed, no one cared. His optimizations just introduced risk, as he was the only one who could support what he built. When he left, we threw the whole thing away at management’s demand. Had it been a little more simple and slow, someone else probably could have taken it over without as much effort.
Whereas "Do things that Dont Scale" is suggesting the non-scaled process may be the optimal one. For example (and this sort of thing is in the article IIRC), giving direct contact details to the CEO instead of a generic form that get's sent to some shared customer service/sales inbox. Way better process for selling your product. The inquiry form scales but its in no way a premature "optimization."
Another way of putting it is that SCALING IS BAD. Or to be a bit more nuanced, it's a necessary evil. It's complex. It's resource intensive. It creates distance between you and your customer. Of course business goals and environment may dictate it, but that doesn't mean none of the processes are degrading in quality. So its more like dont do "premature process degradation" than "premature optimization" I think.
This is such good advice for organizations at all stages. As a consultant I spend a lot of time talking startups and small companies out of hobbling themselves by adopting policies they think they have to simply because they're a corporation, when those policies only make sense when you have at a minimum hundreds of people involved in the org.
Everything from k8s to nosql to overly restrictive security policies. The Netflix employee handbook/guide really drove this point home to me. When you're small, and you're hiring well, you can afford to actually delegate real responsibility to your staff and let them use their judgement. Not everything needs to be a hard and fast rule until and unless there's an unacceptable level of risk or a demonstrated problem at hand.
That's a good point.
Hardly "a lot". There's like three negative comments and one of them is strictly criticizing the article itself and not paul. I thought it brought up some good points.
Obviously there's software scaling, which of course on this forum doesn't need much explanation; making code maintainable and making it work with lots of users is just something I find really interesting and fun.
But it's not just software; there's also other projects that I work on that to me the fun part is figuring out "if I had to do this a million times how could I make this easier?"
Stuff like figuring out ways of batch-cooking food so that I could handle dozens of people, for example, is something I find pretty enjoyable, even if I will never have a situation where I need to feed dozens of people. Figuring out how to get mass production of 3D printed parts using OctoFarm is fun even if I never really need more than one part at a time. Buying industrial-sized CO2 containers and kegs for my soda habit makes me feel cool.
I dunno, I guess to me it sort of sucks the fun out of things to have to do things in the non-scalable way, but I guess that's sort of pg's point.
This was 12 years ago. Even he couldn't have imagined how successful it would still become. I wish there were I way I could have invested in it.
Glad to see it reposted every now and then. Makes me nostalgic.
For startups, the devil's in the details though. The goal is to scale but you get there by doing things that don't scale successively.
It’s arguable whether that’s “doing”
I’d say it’s more spreading knowledge around, which is super valuable, but not what is being advertised
The problem with self driving is that bad decisions can kill you, before anyone can check if it was a bad decision
How is it spreading knowledge around? A lot of times it gives half backed answers and a lot of beginners are using it while learning. That's not a good mix in my opinion.
I've been helping someone who's learning programming and I've had a look at their code. All of it is vibe coded. And the vibes are nightmarish, I don't think the AI is helping at all.
The only thing it's useful for is sparing expert programmers some tedious work, that's my perception as a programmer.
Congrats. You won HN today.
https://news.ycombinator.com/item?id=44913240
for him...
https://xkcd.com/1683/
Edit: business is mydragonskin.com
I used to live with the mindset and if I didn't elevate far in a week I would just give up.
Things really take time.
https://news.ycombinator.com/item?id=38019292
- Don't build some automated support system until you get enough customers
- Don't build a fully automated provisioning system until it becomes a problem
- Don't build some fancy multi-region failover setup
- Don't worry about designing for some future feature that may or may not be needed
This doesn't mean write bad code though.
Except you bleed money all over the place to do it this way.
AWS (and every other cloud provider) is still pricing its product like its 2013
> you just need an engineer who has experience doing it to lead the project
And then you become Figma, who probably should have gotten off of AWS before or with their IPO, rather than doubling down on AWS costs (something like 300k a day).
Most orgs who get past "survival" cant tell me the cost per user, or cost per customer or what each (named) customer is costing them in their stack. If they put in the effort to figure this out what they tend to find is that they are hemorrhaging money to third parties.
I know plenty of CTO's, vp's and Team leads and SR engineers who dont know what the rent vs buy calculation is, never mind how to do it. But I do know that AWS is what props up amazon and its value.
Scaffolding is great, until it isn't. It needs to be replaced with something resembling a Real Solution before the Last Responsible Moment comes and goes. But due to Hofstadter's Law as well as Queuing Theory, we can never get the timing right.
And so a lot of the devs you encounter who fight this have found themselves spending a lot of time throwing good money after bad, keeping a broken system working just enough that the customers don't defect, while trying to also find the time to replace the broken system, which is also always being made more difficult by the changes being made to keep the busted shit kinda working.
And so at some point they just say Enough. I'm not going to lie to myself and my coworkers by saying "We'll fix that later" because "later" never comes, only "too late" comes.
There are ways to spin this however. If the customer trusts that you know what you're doing and that you will eventually get to all of their problems, they'll stay put while you work on them. But you have to telegraph competence and then deliver on it. There's a needle you can thread there where you use not shipping systems that Don't Scale... ridiculously badly, you can tell the users to expect quality.
I will say this, as a compromise: It is almost always better to ship systems that scale too expensively than ones that don't scale at all - as long as that scaling leads directly to revenue. You're only shortening your runway by decreasing margins or taking them narrow. But if your customer base plateaus because you just can't onboard them anymore, what investor is going to float you more money to extend that runway?
I have always found it easier to negotiate priority on feature and story work that's attached to a new revenue stream (eg, new account) than ones that only reduce our OPEX. When the checks clear, a small but statistically significant amount of 'generosity' flows. You have to be ready though when it happens because the window is short.
Hey if we're going to land that Fortune 500 company, we need to work on ??? because they're likely to notice it sucks, if they don't just knock it over entirely in six months.
To me it's more like "don't over-invest on the early thing you're going to throw away". That implies that:
- You're making a thing, and making it quickly - optimizing for rapid market/customer feedback
- You're making it in such a way that you can replace it
- You have real plans and a sincere intention to actually replace it if you start to scale
I have no problem with those, but what I see at a bunch of startups is:
- Make a thing, don't worry about paining yourself into a corner because "we're moving fast"
- The thing hobbles along, the product gets some interest
- It's incredibly hard to maintain, replace or otherwise improve
- Original authors leave to other pastures because this isn't fun any more
- Other folks come along and have to work miracles to try to undo the gordian knots that were made
In other words: I like the idea of moving fast early on. Duct tape programming, love it. We also have to pay attention to the long term impacts of the decisions we're making. Some things are easy to fix/replace/undo, others are brutally hard.
Say you write a prototype in {Ruby/Python/Perl/??}, now you have mass adoption and you rewrite a slow part of it in {sexy_modern_language}. That's great.
Say instead that you decided to store all of your data in some bizarre format, hosted on IPFS, accessed via bittorrent, through an onion network, via ZModem, with CORBA - and you bake this in to such a degree that it's intermingled everywhere. Now you have a dilema:
- you have a business, making money
- you have increasing interest
- you have a system that's effectively impossible to change or reason about
- you can't really improve things to match the customer interest
- you're wedded to the design because things are so interwoven
- your only option is essentially a ground-up redesign and rewrite
Now - if the product is simple enough, rewrite away! (think early Twitter), but if it's not? Good luck to you.
I've seen this pattern more times than I haven't, and I think it deserves more nuanced thought and care when it comes to the economics at play.
I've built at least two of these that became the most popular solution in their space for a given problem, and if you don't have the constraints of a VC investor wanting their returns and eventually shutting you down, then you can realistically go for years without significant enough growth to even get past par with your direct competitors.
Or you realize that your competitors were never even big enough to meaningfully compete with in the first place because you didn't aim high enough.
If you are bootstrapping with revenue instead of money, customers won't be lining up for a product that won't work. They won't be interested in your self serving story about how you built the thing with duct-tape and mud while surviving on ramen noodles without sleeping for five months. That would scare them away probably. You actually need to build something that they would 1) buy and then 2) be happy about buying. And you won't have any VC donated cash to wow/lure/distract them with marketing either. You actually need to sell on product merit rather than founder reputation instead of using your reputation to separate VCs from their cash just so you can get the resources you need to not fake the product. Once the product has proven itself, the VC is redundant.
It's a very different game. Most of the things that work with VCs won't work with customers. And vice versa (you are going to slow, you should be focusing on X instead of Y, and all the other nonsense).
But the good news is, you won't need to scale for a while because bootstrapping isn't a fast process. The bad news is that you might not have a lot of time to fix your scaling issues when you do encounter them and they can and will sink your company if you can't. But the good news is that VCs might show up again that time. The bad news for them is that at that point they are generally too late to make a lot of money and will lose interest. You need a different type of investor at that point. It helps to not have too many huge scaling issues when you finally manage to convince customers that buying your thing is a good idea.
Figuring out the right balance between scalability and utility and when to focus on what is a judgment call in the end. Boring tech is usually a good call. Unless the tech is the main thing that you are selling. But don't let a VC tell you. They are just trying to get you to the 95% quickly just in case you don't make their 5% cut. All this business about scaling, keeping customers happy, etc. is just a distraction. It takes too much time. That could take years. They want months/weeks. They'll be happy to write investments off quickly. That doesn't mean it was a bad investment or plan.
VCs want unicorns or nothing. It's high stakes gambling. Most of the economy is a very different kind of business. There's nothing wrong with building a decent business with your hands and creativity.
False choices: Presents manual work vs. scalable strategy as either/or when most successful companies do both simultaneously.
Has a One size fits all: Claims all startups must recruit manually, ignoring that enterprise products need fundamentally different approaches.
Instead, do the following...
- Interview failed founders, not successful ones: They will tell you why things actually break (co-founder fights, cash flow, timing) instead of survivorship bias fairy tales.
- Optimize for "no," not "yes": Ruthlessly eliminate wrong customers instead of trying to delight everyone. False positives kill more startups than missed opportunities.
- Plan your failure modes first: Map exactly how you could die (regulation, key person risk, moats) and build defenses. Most founders only plan for unicorn outcomes.
- Copy boring businesses, because that is the secret of sucess. Dont copy sexy startups: Uber is just taxis with an app, Airbnb is hotels with no real estate, Netflix is just video rental with better logistics. The biggest "innovative" companies are doing boring businesses better, not inventing new categories.
Paraphrasing "If you get good at seeing red flags it doesn't make you good at seeing green ones. When you optimize against failure you don't optimize for success. So on and so forth."
A failed founder can tell you what broke but won't know what else could've gone wrong or rather what else they needed to go right.
I like this idea a lot, if it can be done well.
Is there already trove of failed tech startup stories that are genuine, and maybe analyzed like business case studies? Is it publicly-accessible, or could it be?
I think the biggest challenge is getting truthful and complete information. (People will have made embarrassing mistakes, no matter how much brilliant heroism the team also pulled off. There will be things the failed founders don't want past customers/partners/investors to know. There will be things investors don't want known about their own behavior. For growth startups, there may be investment fraud at some level, for example. Or backstabbing. There will be differences of perspective on what really happened. There may be personality disorders. Etc.)
A lot of people will tolerate a disposable "incredible journey" post to put a less-negative spin on failure, but AFAICT usually no one involved really wants all the truth to get out.
Also, if you do it, ideally it would be for all startups. If you only do it for some, without all being humbled simultaneously, then current convention is to look down upon those with the transparency, while pretending the non-transparent ones are better. It's a pretty dim-witted and petty culture, and we have to structure with that in mind.
"Failed Startups- +70 articles listing +400 failed startups, filtered by country, industry, customer, and cause of failure" - https://www.failory.com/failures
Ycs rep overall has become damaged from his and others behavior which is unfortunate.
Elon is overrated and i think one could argue based on your metric that he would not be overrated?
You may not owe whoever you're complaining about better, but you owe this community better if you're participating in it.
https://news.ycombinator.com/newsguidelines.html