+1 on leaving for a different company. I was in the same boat as you, working for a big financial services company and I felt the same frustrations, career stagnation and general corporate BS. I left for a medium-sized company with a start-up feel. Now I have all the things that are important to me (growth, new tech, new challenges...) and I also am compensated better.
Anyway, my opinion on working for big corporate is that it is good when you are just starting up your career (intern, junior developer) and when you are in the advanced stages (director, CTO, etc...). I would avoid it if I can if I want to remain as a software engineer.