Where does your budget *actually* go?

I’m specifically referring to engineering organizations here, so, if you’re in one, do you *actually* know where your budget goes? And no, I’m not referring to your AWS data transfer costs, or your RDS spend, or whatever.
You see, as humans, we like stories. We like our world to exist in some sort of linear narrative, where effect follows cause, and everything happens for a reason. The problems with this line of thought are
• We tend to internalize this, and when the world doesn’t work the way we want it to, we get caught with our pants down, and
• We are particularly bad at noticing when the narrative changes.
In this particular case, consider where your no-longer fledgling engineering team is spending its money.
When you started off, it was just a handful of you, and money was tight (it always is tight, unless you’re Google ). Odds are, you went through some sequence of the following pain points
  1. 1. Can we afford to hire one more person? Seriously, it was, about labor costs. Mind you, this never goes away, but early on, going from 2 people to 3 people is a *huge* percentage jump in your budget
  2. 2. Can we afford the hardware? The devs initially brought their own laptops, but that’s no longer tenable. It might be IP issues, or it just might be that the new hire is asking for a laptop, and that’s going to cascade across everyone else.
  3. 3. The tooling costs WHAT? And then comes the moment when you add up the costs across all your tooling — CircleCIDockerHubGitHubNewRelicSentry, hosting environments, etc. — and you realize that $50 here, and $100 there add up to quite a bit of money when aggregated across the developers
The thing is, the above tend to happen in somewhat rapid succession. And the story that we end up internalizing is that labor+tooling is where most of your money goes.
What makes this worse is that this is actually quite accurate for the early stages of your product. When you are in heavy “product development” mode, with few if any customers, this really is where all of your money is going. And, as such, the story you’ve told yourself about costs is actually quite accurate.
Until…it isn’t. Once you move into “product delivery” mode, with actual users using your products, your cost parameters tend to change. While you weren’t paying attention, all sorts of new costs came into play — new instances to serve the growing number of customers, data transfer to get data to/from them, load-balancers to distribute the traffic, storage costs, oh, the list goes on. Without your realizing it, your production services are actually the vastmajority of your cost basis.
The point here is that if you don’t realize that the narrative has changed, you’re probably still going to be fixated on managing labor+tooling costs, sweating over whether you can afford that one new UX engineer, or how NewRelic is soaking so much of your budget. Meanwhile, you’re completely ignoring that if you switched to AWS reserved instances (•), you could probably afford five new engineers.
A good CFO will help you work through this, both reactively and predictively. They’ll help you figure out break-even points, and the metrics that let you know what you need to focus on, and what you can safely ignore. Most importantly, they’ll help you internalize the new story as the ground changes around you, something that is essential in helping you know what to focus on!
(•) Re: AWS reserved instances, the rough break-even point is around 7 months. Most of the times the math on this isn’t hard at all…

Comments

Popular posts from this blog

Cannonball Tree!

Erlang, Binaries, and Garbage Collection (Sigh)

Visualizing Prime Numbers