There was one year I received 3 raises at Travelocity and nearly doubled my compensation. I was hired as a web designer and after 3 months was involuntarily reassigned to a developer role and told to “figure it out”. I got a negative annual review that year and then ended up in Afghanistan on a military deployment. When I came back to Travelocity I was still classified as a developer but was reassigned from marketing to product development where to wages are higher, but I was earning as a junior designer. After eagerly looking for other internal jobs they gave me a raise to catch me up. Several months later I was promoted to a senior developer position and became the company A/B test engineer, which also came with a raise. A little after that another company gave me a better offer and Travelocity countered. This was like a million years ago.
Because most of my career is in writing JavaScript if I want to continue to increase my wages I would have to do the most beginner level shit work because that is common expectation for JavaScript developers.