I am a software engineer.
About 7 years ago, I started my first job out of college at Alpha Inc. (fake name, to protect the innocent). Alpha Inc. was in what my mentor called the "large startup" phase; the company had about 50 employees and a handful of products that it sold to customers around the world (some of these customers being large government entities). Over the course of 5 years, I was mostly relegated to two specific products, while other engineers took care of the others in their own teams. Over the course of these 5 years, the company continued to grow, and my team of about 5 engineers fluctuated over time to sizes in excess of 30 engineers.
About 2 years ago, Alpha Inc. was bought out by Gamma Inc. (again, a fake name). This was extremely out of the blue and caught many in the company by surprise. Basically over night, half of my department filed their resignations, and as their retirements were implemented, I suddenly became the single most senior individual remaining in Alpha Inc.. Of those who didn't quit, only about 5 engineers were actually retained by Gamma Inc. post-acquisition, myself among them. Our team basically shrunk to about a fifth its size over the course of those two months.
Gamma's employee base was roughly 5x that of Alpha's at Alpha's height. It is also located on the other side of the country (USA) and they terminated the lease on our office and instructed us all to become remote workers.
After Gamma had officially absorbed Alpha, Gamma started enacting plans to incorporate our work into their systems and business model. Both of the products that I had worked on for years were cancelled and eventually sunset from our customer base because Gamma already had similar products in place and a business model that allowed them to make more money off of those products than what Alpha had created. So, all of the work that I had been responsible for up to "The Acquisition" was effectively thrown in the trash can. I would tell myself "Well, whatever, this is business and that's life, I guess," whenever I though about how I should feel about it.
That left me in a position where I had to adapt to products that I had never worked with before. As I started working on my ex-colleagues' code, I quickly came to the realization that their standards for quality and correctness were leagues behind those enforced in my old projects. This isn't a software engineering board, so I'll summarize it like this: the code I had inherited was crap. It's buggy, has many embarrassing technical limitations, and is very hard to maintain. Also, since almost all of the people who had worked on this code had scattered to the winds at the time of The Acquisition, I've basically been flying solo through this endeavor.
What I've discovered is that, in addition to inheriting the code for these products, I've also inherited my new coworkers' ire for how poor the code is. They often express curiosity in such questions as "Why was it allowed to get this bad?" and complaints about production downtime and maintenance windows being too long. I've been doing my best to redo that which was done poorly, but there's so much of it (several million lines) and only a grand total of two engineers in the company (including myself) who officially know the programming language used (Java), so it is very much an uphill battle.
I've done my best to shrug off the complaints and to keep on trudging through the muck, but then one day recently, there was a particularly bad production outage that affected an extremely big customer for about 12 hours. Our contracts obligated us to give them a free month of software usage as restitution for the outage, which amounts to tens of thousands of dollars of yielded revenue. Gamma Inc is currently a multi-billion-dollar company, but still, not a good day for us. At this point, my boss came to me and expressed his disappointment in our team's ability to create dependable code and--when I tried to explain that it was something that Alpha's engineers had created that caused the outage--he fired back with the threat of "renegotiating" my salary if it ever happened again, which could be disasterous since my current salary barely even covers rent and basic daily goods (thanks, Housing Market). Suddenly, the crap I had inherited and the frustrations that my new coworkers had with it were more than a cloud on the wind that I could shrug off: the quality of my ex-colleagues' work could have a very real negative impact on my career.
I've tried to express to my new colleagues that, had I actually been in a capacity to work on these products in my time at Alpha, I wouldn't have allowed them to get into such a state of disrepair. But, putting myself in my coworkers' shoes, I can see that there is little worth in throwing my ex-colleagues under the bus & that it certainly doesn't help the business' bottom line. I have also suggested that we would be better off if we re-created the projects from scratch, but those suggestions are always shot down, stating that it is unacceptable for my team to go dark for several months at a time rewriting a product that's already on the market, no matter how much better the outcome might be in terms of quality.
I'm feeling frustrated and a bit lost. How should I best handle this scenario?