Problem
“This won't scale” is simultaneously overused and sometimes exactly right
“This won't scale” is one of the most common things engineers say to founders, and it's one of the hardest claims to evaluate without a technical background. The phrase is used to describe genuinely urgent architectural constraints, premature optimization objections, and design preferences the engineer wants to pursue anyway. From the outside, all three sound similar. The business consequences of responding incorrectly to each are very different.
Founders who defer to every scaling concern spend engineering cycles solving problems that won't arrive for two years — or that won't arrive at all, because the product changes before the system hits those limits. Founders who dismiss scaling concerns get burned when the problem actually arrives: a database table that takes 45 seconds to query at 5 million rows, an email queue that backs up permanently once inbound volume triples, a session management system that breaks under concurrent load you didn't anticipate. Both failure modes are real. The question is how to distinguish between them.
The skill you need isn't the ability to evaluate code — it's the ability to ask the right questions and recognize whether the answers you get back are concrete or abstract. Concrete answers are actionable. Abstract answers are a signal that the concern may not be fully formed yet, and you should push for more specificity before deciding how to respond.
Requirements
What a scaling problem actually is
Scaling problems are about resource consumption growing faster than linear with load. A system that uses twice as much database query time for twice as many users is scaling linearly — that's fine, you just add more capacity. A system where query time doubles every time you add 20% more users is a scaling problem: the relationship between load and cost is nonlinear, and at some point the cost becomes prohibitive or the system stops functioning. The technical term is “algorithmic complexity,” but the business translation is simply: at what load does this system become unacceptably slow or expensive to run?
It's important to distinguish between a performance problem at current scale and a scaling problem at future scale. A page that loads slowly today is a performance problem — fix it because it's hurting you now. A system that works fine today but will fail at 10x your current load is a scaling concern — fix it when you're 3–6 months from hitting that load, not immediately. And a system that works fine at 10x but might have theoretical problems at 100x is speculation — it's worth tracking but not worth acting on until you have evidence you're on that trajectory.
Process
The questions that turn a vague concern into a prioritization decision
When an engineer raises a scaling concern, there are three questions that convert it into something you can reason about. First: at what load does it break? You want a number — users, requests per second, data volume, whatever the relevant unit is. If the engineer can give you that number with confidence, the concern is specific and measurable. If they can't, ask them to measure it before you decide how to respond. Running a simple load test or query analysis usually takes hours, not weeks, and gives you the data you need.
Second: how far are we from that load today, and what's our trajectory? If the system breaks at 500,000 users and you have 3,000 today with modest growth, that's not a near-term concern. If you're closing an enterprise deal that will bring 200,000 users in a single migration, it's urgent. The same architectural problem has completely different priority depending on the growth curve. Third: what does it cost to fix it now vs. the probability-weighted cost of deferring? A two-day fix that prevents a potential outage when you're 6 months from the limit is probably worth doing. A two-month rewrite to address a constraint you won't hit for two years almost certainly isn't.
If you get specific answers to all three questions, you have a prioritization decision. If you get vague answers or answers that shift when you push on them, that's a signal to ask for a spike — a short investigation that produces concrete findings — before putting the work on the roadmap.
Structure
Three kinds of scaling claims — and how to tell them apart
The first type is a genuine architectural limit with a predictable load threshold. These are real and they need to be addressed before you hit the limit, not after. Common examples: a database schema that requires a table scan to answer a query that will run millions of times per day; synchronous processing of work that should be queued (so one slow operation blocks all subsequent ones); N+1 query patterns where one API call triggers hundreds of database queries. All of these have measurable thresholds and known solutions. If your engineer can describe the problem in these terms, treat it seriously.
The second type is premature optimization — a concern about a future load state that doesn't create urgent risk at current scale. These are common because engineers are trained to think ahead, which is often useful but sometimes misdirected. Rewriting a service that handles 100 requests per day to handle 10,000 is premature optimization if you're nowhere near that load and the current implementation works reliably. It's not wrong to think about it; it is wrong to prioritize it over work that has immediate business value.
The third type is a design preference dressed as a scaling concern. An engineer who wants to use a different database technology, adopt a new framework, or restructure the codebase may frame the desire as a scaling requirement because it's easier to justify than “I'd prefer to work with this tool.” You can usually identify this pattern by asking whether the current system has actually exhibited the scaling problem under any real load. If the answer is no, and the proposed solution involves adopting a new technology rather than fixing a specific measured constraint, approach it skeptically. That doesn't mean the preference is wrong — sometimes the new technology genuinely is better — but evaluate it as a technology choice, not a scaling requirement.
Learn this properly, not just for one decision
In-depth courses and books that teach you to think like an engineer — not a one-off answer you'll need to look up again next time.
Frequently asked questions
How do I know if a scaling concern is real or premature?
Ask for numbers. A real scaling concern comes with a load threshold: “this query takes 200ms at 1,000 concurrent users and will time out at 10,000.” A premature one comes with intuition: “this won't handle the traffic when we grow.” If your engineer can't tell you what load triggers the problem and how far you are from that load today, the concern is theoretical. That doesn't make it wrong — sometimes intuition is right — but it means you should treat it as a hypothesis to measure, not a blocker to act on immediately.
Should I fix scaling problems before launch or after?
Almost always after, unless you have strong evidence of immediate load. Pre-launch scaling work is optimization against a load profile that doesn't exist yet. Your bottlenecks in production will almost never be the ones you predicted in development. The better approach is to launch with monitoring in place so you can observe where the system actually strains under real usage, then address those specific points. The exception is a known hard constraint — if you're a B2B company signing a contract with an enterprise customer who will bring 500,000 users on day one, that changes the calculus significantly.