Businesses are taxed on profits, not revenue. Paying people to write code is an expense, so you'd normally deduct that expense (plus all your other expenses) from your revenue to arrive at an amount that should be taxed.
That's the rub. Is it an operational expense, like rent or a capital expense, like buying machinery?
It is sort of between the two in my view and is highly dependant on what the software engineer does each day.
Are they fixing a bug, helping a customer, refactoring? I think that is operational.
Are they building out a new feature? That is capital. But it is not quite like buying equipment because it adds no value to the books. So depreciation seems off.
But the same issue applies to other roles. Is a sales persons day trying to land a sale, or trying to develop the business.
It all comes down to "intangible assets" and whether you are making them.
I think it is easier to just say if you are paying someone to work then you can deduct. There must be better ways to claw it back.
The whole reason for most business to exist is to use operations (operational costs) as a lever to increase the growth and intangible value of the business.
The answer is that it's an operational experience when it's a salaried employee and a capital expense when it's a contractor. Like not in a theoretical sense, this is how it's classified right now.