Scaling is just a large value of n.
I guess in terms of your business metaphor, that would be establishing 'big company' things like written processes, constrained departments, and managers who don't code, so that more people can work for the company than the founders can talk to in a week.
1. Run it on a faster processor
2. Rewrite your algorithm so that it can run in parallel and the tasks can be divided among more cores/processors/servers
3. Rewrite your algorithm so that it's non-locking and the tasks can be completed asynchronously
4. Rewrite your algorithm so that each task takes less time (fewer/faster queries, fewer array accesses, fewer object instantiations, etc).
In terms of the analogy, #1 is equivalent to working harder on the problem--just throwing more time/money/energy at it. Staying late at the office. This is the wrong approach in programming and in life, because it does not scale with the size of the problem.
#2 and #3 are basically division of labor and task delegation in order to divide the time that it takes to complete the problem. This gets the job done faster but at a cost--you're paying for more heads to work on the job.
#4 is finding a better/cheaper/faster way to do each individual task or sub-task in the problem. It's improving your big-O. Having a better big-O alone will not make #2 and #3 unnecessary, but it will exponentially increase the effect of #2 and #3. It's what business types call a "force multiplier." It's really just reducing the amount of sub-tasks an individual worker has to do in order to satisfactorily complete a task. It's achieving the same thing by doing less.
Programming is the perfect lazy-man's work. If you're really good at changing O(n^2) to O(1), then you can pretty much double the output of other teams while also reducing your work. It's pretty fun.
Also, this applies at scaling. If my business model can't afford to hire more people as the demand for the business grows, then the business model is just a bad idea.
Over time I've come to the conclusion that except for "it's broken, and time is money" or "I've found inspiration at midnight" situations it's pretty much never a good idea to consistently work long hours on software projects. It's better to work smarter and more efficiently and to have the resources available to do big refactoring / redesign / performance improvement projects when necessary than to just work flat out and always be in an "ok, that's good enough, moving on" state of mind.
So before you can work smart, you have to know how to work hard. Otherwise you're just goofing off.