I saw a post asking how budgets were structured in software organizations. With no direct experience or flicker of wisdom to pass on, I felt like it was a good opportunity to reflect budgets from the senior/lead/principal dev point of view.
I recently moved from about 12 years in small startups and recently joined a big tech company of about 8500 people (you’ve heard of it but not MAANG).
The startups I worked at have had a frugal by nature founder, a quality I actively interview for. Some of the companies were fully bootstrapped first, then later accepted VC funding. So there was a built in thriftiness- an idea that we all had a runway and it was up to us to spend it wisely together. Except for conference parties.
Costs weren’t really managed at the team level. C suite and dept heads had amazing spreadsheets about burn rates and monthly expenditures and target ARRYoY.
At the team level, purchases and tools were enthusiastically embraced. Everyone had access to cloud providers and hardware. Need a third monitor so you can do your job item? Expense it!
It was made clear that our biggest expense was our time and our biggest risk was not using it efficiently. We can’t get more time, but we can buy some with money: spending $1500/mo that saves us 2 months of developer time? Absolutely buy that and then go make something for the users you can’t buy.
At this new large, matured company, budget is a common discussion topic, even at the team level. I’m not denied access to tools (the opposite actually) but the emphasis is on investing in existing solutions: tuning running systems to be more efficient or removing competing solutions. Note that my newish position in a cost center (platform team), the economic forecast and mature stage of the company are influencing this. That said, most of our work has some dollars attached to it.
As to actual structure, teams have a budget that the usually more senior managers handles and one of their responsibility is to provide that context during design and prioritization meetings. Budget wise the cost of each vendor or cloud service is attributed to and split by team. We have a little box front and center on our service directory internal app with the cost and revenue generated from that service. It’s part of the decision making process.
Anyway, those are probably representative of the extremes. So, time to reflect- what did I learn? What would I do?