Comment by awkward
Software engineers hired for custom, in house work are not building a fixed piece of software with the intention of letting it loose unchanged for the next five years.
Software engineers hired to build product are not exclusively building a finished product, and are increasingly necessary as part of the expense of operating that product long term. Industry trends have gone towards combining and blending developement, security, operations, and design.
There are businesses that will build a big custom piece of machinery. Think a factory or a mine. That may last for 20 years, but require workers to operate, maintain, etc.
This is handled in existing tax law; building or improving a capital asset is amortized, repairing or maintaining it is expensed. It can be a pain in the butt, this is why accounting is not a trivial profession.
We could (and I think should) treat software the same. Some software engineer work is absolutely creating a capital asset. Some is absolutely high-priced janitor work. It makes sense to allow for both with your tax code.