It's technically correct that tax is levied on "net income", but that's an accounting term which means something different from "money_in - money_out" when there are capital assets.
One justification for this is, although you spent the cost, you received equivalent value in the form of the asset itself.
This means if it costs $100k in salary to make software this year, and you get $30k in income from the software this year, your bank balance will lose $70k (which is expected) and you'll have negative income in the ordinary way of thinking, but you'll be charged income tax (which is new) despite losing money, as if you gained (almost) $30k instead of losing $70k.
Your tax accounts will show an increase in net assets, despite the decrease in your bank balance, because they will show the software as being "worth" (almost) $100k, regardless of what it's really worth right now.
This is particularly hard if you're a small company or (non-VC-funded) startup that's already stretching to cover the cost of speculative software development. Being charged income tax even while you're losing money developing software (in the ordinary way of thinking about money) is what's new in the tax code. It makes it harder than before to do speculative developments, making some kinds of development non-viable that were viable before.
If you start the year with 0$ in your bank. After the end of the year you have made $200k in revenue. However you "spent" $200k on software salaries. However, because these are software costs, they must be depreciated over 5 years, so only 20% of that $200k software cost can be applied as depreciation cost which is considered an expense. So your net income for this year is $200k revenue - $20k depreciation expense = $180k. Your 15% tax on this is $27k.
So you made $200k and spent all of it on software, so your bank account is 0, but you owe $27k in taxes.
(Of course an asset that generates $200k/year is actually worth far more than $200k, so in that case 20% depreciation seems even more absurd)
That is a huge assumption that is probably not true.
> in year 2 you could halt further development, use a loan to get through the 2 months it takes to make the money to pay your taxes, and then make $176k profit.
This is almost certainly not true.