I'm fairly critical of Amazon's engineering culture and practices but as a customer I have to admit they are head and shoulders above their competition and frankly most SaaS providers as a whole.
They've secured millions of dollars in revenue from me alone just by being so customer friendly.
I've worked with some of the smartest people in the tech field, building products from scratch for billion dollar customers and learning every day.
I've always told people that it's probably the best place you can start out of college.
EDIT: This was back in 2016, I'm not sure how much has changed without Bezos and Jassy at helm of AWS
Unless your willing to put up with a huge ration of shit on a regular basis, or you make it into management, your time is limited by the up and out mentality of the organization as a whole.
Amazon has created the perfect scenario to spend shitloads of money getting talent up to speed, only to part ways with them shortly thereafter.
Management at AWS arguably puts up with much more shit on a regular basis.
* working in infrastructure means doing a lot not quite so exciting things. most people aren't actually excited by ops, and a lot of your dev work will be on ops. its also the case that ops was historically not as well rewarded, though thats been fixed
* every service needs to be held to the highest tier of operational excellence, and so you can't just chabuduo when things aren't working as well as they should. in the worst case, this means throwing bodies to the ops meatgrinder.
* delivery speed is slowwwww. some of this in endemic to the space, but aws at the end of 2021 (when i left :) ) was a lot slower than than when i joined due to so much risk aversion and bureaucracy
* comp wasn't as good compared many tech peers, and comp could very easily not keep pace if you weren't tippy top every year. this is imo the most self-defeating part of amazon culture as a whole because it incentivizes people rated between ~p10-p20 and p50 to leave.
I feel like this is true for every single large company I’ve ever worked for. Things always feel like they’re regressing from a high point. I have no idea why it it.
All of them had free coffee when I joined, and they’ve slowly removed the vending machines and just never replaced them.
I've worked at Amazon for over 4 years. During this period, I saw around 80% of all team members being promoted to customer, perhaps half of them voluntarily. Amazon provided psychological service to those who felt they needed it, and a couple who quit confided in me they used the service. One guy overtly burned out and never showed up again.
Long work hours were the norm. Plenty of CRs were posted after 10PM. Even SDE3s frequently posted CRs on Sundays. The senior manager was hell bent on proving leadership he could deliver projects in impossible deadlines and not rarely did he warned SDEs that failing to deliver on those promises were firable offenses. This in turn fostered a work environment that led to some backstabbing and less than ethical stunts from team members prone to those and desperate to make a good impression.
It's true that Amazon's salary structure is designed to push out people. It is designed to impose a hefty pay cut after the second year or so. Nevertheless this is not the problem. The problem is the awful corporate culture that's designed to hold SDEs responsible for not delivering things even in impossible scenarios, and the backstabbing culture it sprouts by design.
But I'm sure some people might have a good time working there.
> The senior manager was hell bent on proving leadership he could deliver projects in impossible deadlines and not rarely did he warned SDEs that failing to deliver on those promises were firable offenses. This in turn fostered a work environment that led to some backstabbing and less than ethical stunts from team members prone to those and desperate to make a good impression.
is an extreme situation and one I never saw across ~3 orgs between amazon and aws.
I've been there 5 years, haven't worked more than 40 hours a week ever, and a lot of the people that started at the same time as me are in the same situation. And of those that aren't, they left because they wanted new experiences, not because they didn't like Amazon.
I never had to put up with any "shit", whatever that could mean.
It can’t be all bad, but it’s clearly not all good either.
It kind of makes sense that the people still there wouldn’t have bad stories to tell. What do you think is the worst part about working for Amazon?
Spending the money to recruit the employee, then pay them for a year or two, only to lose this talent is a great way to light cash on fire. That ain't cheap when your talking about hiring software developers!
It's relatively common that people don't make the cut during their probation period for example. Amazon (and other FAANGs) clearly isn't for everyone.
So I would question anyone that takes the easiest job they can find (their old job) after leaving Amazon in less that a year or two.
Isn't the average tenure at Amazon less than 3 years? "Most" of the people who you'd ask would be fresh from the interview rounds and with only one or two performance review rounds under their belt.
But I agree their support is very responsive.
Some abstractions can be proven to be objectively-better solutions, along some axes you care about, for your use-case, such that the existing abstraction you were relying upon is then provably sub-optimal. Switching to the more-optimal abstraction is not then an "homage to the brilliance" of the company that created the abstraction; it's a simple "pay CapEx to lower OpEx in a way that will pay itself back after N years" decision. If you can budget it, you do it.
I'm not saying that every abstraction that the IaaS vendors invent is this kind of better mouse-trap, mind you. You can usually distinguish the ones that are, because they get independently reimplemented and used by people who aren't just aiming to build "cloud-native" software, but instead just really want/need the semantics of that particular abstraction, independent of where it runs.
Object storage is a great example of an abstraction where that is the case. There are many things that do object storage now — both cloud services, and regular deployable software. In fact, even the more-traditional backup vendors, like Backblaze, now also offer object-storage APIs.
IIRC, they may not be pretending. It's not public knowledge what storage medium AWS glacier is built on, but many speculate it is actually tape.
Edit: found in another thread here, the inventor linked the patent (https://image-ppubs.uspto.gov/dirsearch-public/print/downloa...) which confirms it's virtual tapes, not actual tapes.
No, just like it is not weird and definitely not illegal for the things they call “virtual machines” to end up being run on actual machines.
There's still isolation, there's just no virtualisation abstraction.
Is that not misleading?
They physical tapes, if any, would be many layers down.
At announcement time Glacier was using super dense racks of hard disks but only powering a subset of them. This led to some tape-like behaviors, like your restore request might take a long time to process because your data was likely stored on disks that weren't powered on and you'd need to wait for them to come online.
Sometimes people build things/products/companies/whatever not because of the chase of money, but because they want to put their idea in the world. Maybe it's just a case of someone believing they can build something grander :)
We talked about how we want to change our design to copy AWS. Because it's standards, and our users (internal users) know how to use it.