I was drip-fed raises my entire career, ranging from $1200 to $4800 annually. The company nurtured the idea that $4800 was exceedingly rare and anyone should be proud to receive a raise that high. I had many annual reviews where I was told that I had done exceedingly well, but the budget was tight, so what I got was what I got. After 10 years at the company, I was barely making 70K annually.
Unless you are being promoted to management, most promotions are the equivalent of an elementary school golden star. You will be expected to do more work, but you will not see any competitive raise to warrant your work. There are some employees that refuse promotions because they are aware it won't amount to much and they'd rather coast along with less responsibility.
The bonus, which used to be great for tenured employees, is percentage-based from your past five years salary. It went down almost every year to the point where it is now a joke. The bonus percentage got so bad they added "personal" holidays, where each year you're allotted 2 days of paid time off, separate from your vacation days. Personal days don't carry over each year.
A company 401k was only introduced in the past couple of years. The company will not match your contributions and it is entirely self-funded.
The company will require most of its employees to be placed on an on-call list until you have been employed for 10 years at the company with some exceptions. This means during weekends or weeknights, you might be called to work on an issue. The issue could take 20 minutes or 5 hours; you'll get compensated the same. You earn about $80 after taxes for a senior staff member. I have been called at 2am before.
The technologies used are dated. I worked with five different programming languages (MagicSource, $T, NPR, M-AT, FS), all of which are proprietary languages. There are some customers still on very old versions of the software that occasionally requires support. Only a few employees know how to navigate all of Meditech languages. Some employees have been with the company over 10 years, still only know one language, and drag their feet to learn more.
Only in the past five years has development attempted to thoroughly document their code. Many older programs still have no documentation. Development tests are not scaled for large data models, and often inefficient code is pushed into production environments causing many issues for support staff.
While the co-workers in your group mostly view each other as a team, you will often see scenarios where different groups spend more time arguing over who is responsible for resolving an issue than actually getting it resolved. Issues are kicked back and forth at the expense of the customer and typically management needs to be involved. The rare few employees that blur the lines between groups and take the initiative to resolve any issue presented to them are often treated as a dumping ground for difficult problems.
Working at home has had a shadow cast over it under the new upper management direction. Time logging is required every day. Missing a day will not go unnoticed. Instead of being used for data analysis, such as viewing which customers require more work-hours than others, it is mostly used to check in on employee productivity. There has also been a big push from upper management to have employees return to the office 30% of the time (down from 40%) per pay period.