There are tons of managers - you'll have at most two "manager type" people who know and might appreciate your work - but there are usually 4-5 layers of additional managers above that within any section of the engineering staff. There are tons of sections, too. With so many managers, and the fact that they play "musical chairs" every few months, you'll never know them, they'll never know you - but they control your merit increases just the same. So, unless you have a great direct manager - one who has been at the company a long time, and has held rank above his position - nobody can, or will, vouch for your work...
This is a very poor place to have a fulfilling career as a software developer...
...the majority of senior developers' seniority come from the number of time sheets they've submitted; never mind their ability to guide your career and mentor you through your struggles. If you're hard-working, you'll quickly outpace all of the senior guys, and then realize that they're getting paid 90+ and you, much much less. Hard pill to swallow, as you realize there are no merit increases coming your way, and it's nearly impossible to earn a compensation increase either. Most senior engineer's (software developers) are stuck in the 90's - where there wasn't much special technology coming out, aside from Standard Edition Java and .NET - and they're still livin' it up in the 90's! The business also has a proven track record of abandoning certain factions of developer's hard work: every *worthwhile* senior developer I have met here, has a very depressing story about how a great idea was lost on the poor decisions and lack of interest by the managers and business development team.
People are flooding out of here like crazy - with the majority of people staying only for pension benefits, because they're too tired to jump back out on the job market, or that they literally couldn't get hired anywhere else.