For almost any web application, one of your first goals should be a deployment architecture that can scale from 0 to ~10,000 requests per minute with almost no human intervention. The cost at which this happens is not material. The ability to scale at any price is more important than the ability to scale at a low price.
When we announced Heroku’s Next Chapter last month, we received a lot of feedback from our customers. One of the things that stood out was interest in a middle ground between free and our current Hobby dyno and data plans, a lower-cost option.
You don’t hate mocks; you hate side-effects.1 When a mock annoys you, it realizes its purpose, showing you where a side-effect is getting in your way. If you refactor away from the side-effect, then you eliminate the mock. The mock is a consequence of your pain, not the cause of it. Please don’t blame the poor mock for doing its job.
My friend Molly has had an impressive career. She got a job as a software engineer after graduating from college, and after kicking ass for a year or so she was offered a promotion to management, which she accepted with relish. It took two decades, an IPO and a vicious case of burnout before she allowed herself to admit how much she hatedher work, and how desperately she envied the software engineers she worked alongside. Turns out, all she ever really wanted to do was write code every day. And now, to her dismay, it felt too late.