Ex-amazonian here, It really depends on the team. There's 2 types of crappy places to be at Amazon: the really important legacy system, or the we need to catch up with the competition product.
In the first case, there's no opportunity for really improving things, it's usually a small team which can really hamper your advancement, and it breaks constantly. You'll work a 40 hour week, but will get paged all the time and have lots of little emergencies.
The second is sexier, and a good opportunity to move up the ladder, but you'll be working 60-80 hour weeks, loads of crunch time, and suffer due to constantly shifting management as the team explodes in growth.
All that being said, there are a lot of good opportunities, especially for younger engineers. Provided you have a decent performance review, mobility is pretty easy, so if you're stuck on a shitty team, that can change after a year+. You'll want to find a team with a manager who's been around amazon for a little while. You're supposed to tell your current manager first that you're looking around at other opportunities, but in practice this is rarely done before all but securing a new position. I recommend the Rowhouse coffee shop for talking with potential future managers. It's usually pretty clear after 2 and has lots of little rooms and well shaded windows.
If you end up stuck on a shit team, without being able to move around, start looking around Seattle. Twitter, Google, Hulu and Facebook are all hiring here, and they all usually pay better, in addition to having better perks. It's quite something to interview at Google's offices and see the difference in culture. If you've just gotten a promotion, or shipped a major product, that's an ideal time to start talking with other potential employers.
In the first case, there's no opportunity for really improving things, it's usually a small team which can really hamper your advancement, and it breaks constantly. You'll work a 40 hour week, but will get paged all the time and have lots of little emergencies.
The second is sexier, and a good opportunity to move up the ladder, but you'll be working 60-80 hour weeks, loads of crunch time, and suffer due to constantly shifting management as the team explodes in growth.
All that being said, there are a lot of good opportunities, especially for younger engineers. Provided you have a decent performance review, mobility is pretty easy, so if you're stuck on a shitty team, that can change after a year+. You'll want to find a team with a manager who's been around amazon for a little while. You're supposed to tell your current manager first that you're looking around at other opportunities, but in practice this is rarely done before all but securing a new position. I recommend the Rowhouse coffee shop for talking with potential future managers. It's usually pretty clear after 2 and has lots of little rooms and well shaded windows.
If you end up stuck on a shit team, without being able to move around, start looking around Seattle. Twitter, Google, Hulu and Facebook are all hiring here, and they all usually pay better, in addition to having better perks. It's quite something to interview at Google's offices and see the difference in culture. If you've just gotten a promotion, or shipped a major product, that's an ideal time to start talking with other potential employers.