A couple months ago I joined a team as a junior dev and I recently got added to the support rotation. This week is my week and my senior told me that I should go home early Wednesday as there would be a failure around 10PM. I asked him how he know and why we did not just fix it now and he told me that if things don't fail every 2-3 months in a way that clients see and complain about, management will wonder why they pay for an extra developer to do support work.
I really do get why they do this. They wouldn't buy us a new hard drive for the server until it crashed and was costing 5K an hour in penalties and clients were screaming at our VP a month ago. They tell us to pirate our IDEs or just use Notepad++. They won't pay for a bug tracker, so we just let bugs flood production to be the little explosions which get us attention.
I have other recent grad friends who are doing similar things, whether at Microsoft, Amazon, or small startups without any technical leadership. Is this normally how luddites/business suits are dealt with? Whether it be Boeing or NASA or just the anecdotes from friends, it seems very common. I got into engineering to avoid conflict. Am I going to spend a ton of time fighting with biz school overlords?