My friend once told me that the most important skill he picked up at one of the big 3 firms is to appear utterly confident in his ideas and proposals when in reality, he had no idea what he was talking about. (then again, these guys will then turn it around and actually learn a crap ton about the industry in the following 2 days by pouring over research)
I'm sure this clip has probably crossed your screen before, but I think that protagonist eventually realizes he has to out-BS the BS: http://www.youtube.com/watch?v=BKorP55Aqvg
But the point is valid in that we have an industry where every company likes to posture and interview as if they are hiring the top 1% of programmers only to turn around and give them jobs that a well-trained monkey could almost do.
Starting my own startup sounds cool and all but it would be too much work for me and I just because I don't agree 100% with a companies policies doesn't make them an undesirable workplace.
Is it the money? Prestige? You think you'll learn more at one of those places than others? Stability?
* Amazon seems to have a reputation for burning employees out.
* IBM seems quite stagnant. They're basically a huge consulting/services company, not very interesting.
* No one really thinks Microsoft can innovate anymore. They're pretty much coasting on Windows and Office, and that's been eroding for a long time. They don't seem to be able to execute anything successfully. Do you know anyone with a Windows phone? Remember the Zune? Do you search with Bing? What are they doing? Desperately trying to do anything to stay relevant, and failing badly. They're on the IBM lifecycle path, but they're not yet just a large services/consulting company. They're still trying to build products, and they just suck. What are your associations with Microsoft right now? When I think of Apple, I think of the iphone/ipod/itunes. When I think of Microsoft, I think of the Windows 8 interface.
One fellow student of mine wanted to work at microsoft so she could develop the next (I forget exactly) which was never developed at MS, they just bought a little startup, slapped the MS name and logo on it, marked the price way up, and went into maint mode (which is really boring).
She genuinely thought they innovate internally rather than thru purchasing startups (aka outsourced R+D)
Some people specifically want to do maint mode work, but she very specifically wanted to develop "new products" like an example I know was merely a turnkey purchased startup.
Also yes they pay well.
On the other hand, there's something to be said for working directly with the main developers in a room with them!
And right now, I think there's at least a perception that the instability of smaller companies is compensated for by a very strong job market, that you can find very smart people in lots of places, and that most of the non-monetary benefits are unlikely to be really worthwhile at least for young healthy people. Leaving basically pay as the differentiating factor.
I don't whole-heartedly endorse the above analysis, but I think it has large elements of truth in it. If my hypothetical 22 year old niece told me she had job offers from Facebook and also from a small start-up, I suspect I'd advise her to take the Facebook job and quit 1-2 years later. But I'm not sure my advice would be correct.
No idea about the short term stay as they always have interesting challenges, but, yes, Facebook is a household name; everybody's used it. It counts for quite a bit in the self-marketing department, even if you _are_ just doing entry level work.