I work for a big corporation that is one of the best in the business. I joined with a bunch of many other fresh graduates, at an offshore location. After joining, I found out that the firm had hired people arbitrarily - some were given a higher position and salary than others, for the same exact work, for no reason other than they could. I felt discriminated against and I was assured that remediation steps would be taken, which did not happen.

My ratings are high but it's been a couple of years and the appraisals have been terrible - barely covering inflation, not to mention that I am still stuck at a lower grade than my colleagues. The firm is also hiring new graduates which are my seniors by default because they're hired at a higher position.

However, the company's work culture, skill level of my colleagues is arguably the best in the business, and although I enjoy work, I feel that I am treated by arrogance by the highest management - my work is not valued, and they have not promoted me in 2.5 years.

This has affected my morale terribly, I derive a large part of my work satisfaction at the very least on NOT being systematically discriminated against. The company seems to be cognizant yet dismissive of their errors.

I recently got a much better offer from a firm that is also of great quality, but not as good as this one. Upon discussing with my manager, he stressed I should look at long term oppurtunities being part of a great team (the team is indeed great- people are smart and many stay on for a long long time so they're likely being taken care of), he also said I will be happy this appraisal cycle so I should wait for it - however I have no faith in the management; not to mention that their hiring incompetence is well known. I am also sure there is no way they can match the offer I have - my manager has also indicated that they will not enter into a negotiation.

Generally speaking, is it worth it to stay in a great team and culture with only the dangling of long term growth keeping you there?