Amazon was a purely political environment where, if you weren't watching your back you'd get stabbed and become a rung in someone else's ladder. In our group, the manager had zero engineering experience (literally had gone to college to be a prison guard, somehow ended up "managing" programmers, though barely computer literate.) In fact, it was so bad that when I'd finally had enough, and quit[1] (because my transfer to the AWS team was blocked by the prison guard) I vowed never to work for anyone else, ever again. Which means, I had to do a startup.
Anyway, the SOA effort was in full swing when I was there. It was a pain, and it was a mess because every team did things differently and every API was different and based on different assumptions and written in a different language.
But I want to correct the misperception that this lead to AWS. It didn't. S3 was written by its own team, from scratch. At the time I was at Amazon, working on the retail site, none of Amazon.com was running on AWS. I know, when AWS was announced, with great fanfare, they said "the services that power Amazon.com can now power your business!" or words to that effect. This was a flat out lie. The only thing they shared was data centers and a standard hardware configuration. Even by the time I left, when AWS was running full steam ahead (and probably running Reddit already), none of Amazon.com was running on AWS, except for a few, small, experimental and relatively new projects. I'm sure more of it has been adopted now, but AWS was always a separate team (and a better managed one, from what I could see.)
Regarding Bezos's micromanagement: I do remember, one fall, in the run up to christmas, surfacing an issue with the site several times. My manager told me that his boss didn't want to change it, but I knew it was a bug. I went above his bosses head and told that guy (who was a Bezos report) about it. I even cced Bezos on an email about it, and of course, the VP chewed out his underling who chewed out his boss, who chewed out me.
Then, at 3AM, the night before I was supposed to fly out to visit my parents for thanksgiving at 10AM, I was awakened[2] and made to fix the problem. The problem I'd wanted to fix 2-3 months earlier. The problem I'd gotten chewed out for trying to surface but been told "won't fix" all the way up and down the chain of command. Because Bezos had gone to buy something on the site and had seen the problem himself. So, my thanksgiving trip was ruined, of course, and I had to do it- RIGHT THAT MINUTE- in the middle of the night.
The icing? After fixing it and going back to bed, and coming in the next day (which was a vacation day, mind you, as I was supposed to fly that day...) I got chewed out by my boss for coming in at 10am.
I don't know about you, but if you get woken up at 3am and spend 2 hours coding, you should be allowed to show up for work the next morning at 10am.
Bezos was right that it needed to be fixed. However, he must be a B player because his direct report was a C player who wouldn't let me fix it when it was discovered.
Yeah, I wouldn't recommend you go work at Amazon.[3]
Sorry if I've gotten off topic. It's rare that you can find candid descriptions of what it's like to work somewhere.... since Steve felt free to be candid, I figured I'd share my experiences. I also worked for other large companies, like, for instance, Microsoft. Microsoft was weird in a sort of cult like way, and had its own management problems, but was much more enjoyable... and really treated their employees a whole lot better. At MSFT, hardship was having to share your office with another programmer. At Amazon, I was literally in a hallway, with a dozen other people, with major foot traffic walking past my desk (And right behind my chair) all day long, a lot of noise and a very large window over my shoulder reflecting right into my monitor... all day long.
Worst Job Ever.
Thank you for indulging my venting.
[1] It wasn't just me either, by the time I left, %60 of the team had already gotten internal transfers or resigned. I was being loyal, and went to HR to try and get some advice or mediation, but despite being promised confidentiality, the notes of my meeting with the HR rep were forwarded to my boss.
[2] At amazon they have this crazy idea that engineers should have pagers. I'm sure it sounded great at the time. I didn't have the pager that week, but that didn't matter to the boss[4], who knew I'd been the one to find the issue. So he called me. I think the phone rang for a good 20 minutes before I woke up.
Never let your employer give you a pager, unless you're an ops guy.
[3] After I left, and after my team was literally decimated by the hostile environment created by our boss, I found out he got promoted! Yep, now he's managing managers.
[4] Why was the boss up at 3am? Well, Bezos called him, but he'd been up already... he was a hard partier who, just between you and me, also was selling drugs on the side. Most of the stoners in PacMed were getting their bags from him.