One of the things that’s helped me a lot in my career as a developer is understanding the cost of my work (or work I want to do) in the wider business context.
I’ve also seen a lot of developers, especially on the more junior side, not understand certain business decisions or have difficulty making an effective case for their suggestions. This is a primer in understanding what stuff costs and should give you insight into how to better present your ideas.
Let’s say you’re on $50/hr before tax. At the bare minimum, the work you do should be adding more value than what you cost.
As an aside, you don’t actually cost $50/hr! Don’t forget mandatory super contributions. And payroll tax. You take up space in a rented office, and use equipment, there is internet bandwidth to support you and SaaS per-user licenses. When your really think about it, a portion of the costs for some staff (reception, accounting, HR, managers above you) count against you because they exist in order for you to do your work.
So let’s say you cost $75 an hour. You need to either be making the business more than an extra $75 an hour in your work, or through your work be saving the business from losing $75 an hour.
I want to fix this bug that annoys me.
Does the bug cost the company more than it would cost to fix it?
A misaligned text label within an accounts page for legacy users may annoy you, but would it result in customer churn? If not, any work done to fix this bug is a cost to the company without a return on investment.
If the bug only takes seconds to fix, maybe it can be attached to another ticket.
If the misalignment is the result of competing generations of design languages and would take two days including review to refactor the page into the newest design, then it is costing the company 14 hours * $75 = $1050 to fix.
And the other thing to remember here is the opportunity cost. If you spend two days working on a task, that is two days that you have not spent working on tasks that will make money or prevent a loss of money.
Let’s say the misaligned label was on a popular landing page with 10 million unique hits a month. There is an argument that clients won’t sign up if you’re supposed to look professional but can’t even get your website looking good. It could also be used in mems and blogs of “bad design” and cause reputational damage. This could be better justification for fixing the bug.
You won’t always have data to perfectly quantify how much something is worth, but this helps you understand how some bugs are worth more to the business to fix. It might also give you context on why the company prioritises some work.
We should use this open source software instead.
Your 10 person team is bringing in a project management tool. There is a famous SaaS one that costs $10/user/month ($100/month). You recommend a cool, open-sourced, self-hosted thing you saw on the orange website (FREE!).
Where will you host it? If you use a VPS, maybe you’re now paying $30/month, but you’re still saving money! Or maybe you have a server at work and can use that and it costs nothing! Although that takes overall capacity from that server which might have been used for serving clients, plus it will eventually need to be replaced since it’s now a key part of your team’s process.
Self-hosted systems also need regular maintenance; but you’re experienced in the base OS and it’ll only take 2 hours every month between updates, upgrades, migrations, backups, and testing backups. Although if it ever falls over you’ve gotta jump straight into fixing it so as not to block your team. Let’s say it still averages out to 2 hours a month.
So $30/month hosting plus $150/month of staff maintenance. That’s uhhhhh. That’s a bit more than the SaaS option.
Plus your regular maintenance is now time that you’re not shipping features or fixing bugs.
If it goes down while you’re on leave, what’s the cost to the business of not having that software? I’m not saying SaaS companies don’t have outages too, but it is something to consider.
If the company needed to get 200 licenses of the famous SaaS project management product ($2000/month) and the costs associated with the self-hosted version were still the same, maybe it makes sense to go the self-hosted option.
It’s about weighing up the costs.
Let’s add unit testing!
You can also argue that work that costs money might also save or make money in the future. If a non-technical leader is asking why the developers spend time on unit testing, they may not understand industry jargon. Even if they understand a metaphor (always risky), it’s an abstract concept and they may argue that they don’t see the value.
But you could say; if an hour of downtime costs the company $10k in lost sales and churn, and 1-2 hours of unit testing per major ticket prevents an outage a month, that maybe this is a valuable use of time.
Sometimes we want to work on cool shit, but providing figures on how this helps/hinders the business is a good way to be granted permission to do it.
I decided not to go into it here, but look at your business unit. What’s your function? Are you working on stuff that directly makes money (sales, new products, adding features) or somewhere that justification is harder to find (internal tooling, building reporting software).
Often the former category is gifted with more leeway and champagne breakfasts because their direct impact on the business is more easily noticeable. Life in the second category can be a bit harder, but if you can successfully show a large financial impact that your work has it may help when you’re looking for a raise or new staff.