AWS Tools Suck
cyclic.sh
cyclic.sh
This is only partly true. Fun fact: Amazon is so big and the churn so high, that hiring talent has become the bottleneck.
So yes, parts of Amazon have prioritised new/more features over improving existing ones, and some are drowning in a sea of legacy. But also parts simply don't have the number of experienced engineers they need to deliver all their goals.
Disclaimer: I work for Amazon.
It was a matter of time for that to happen. Amazon is infamous for having a firing quota, and infamous for Hiring managers to hire people, to fulfill said quota.
As long as these practices remain, the situation will only worsen for Amazon
Here is a recent news mentioning it: https://www.arkansasonline.com/news/2021/jun/27/amazons-unre...
It's called planned attrition.
This is only true because Amazon refuses to pay market rates for talent. E.g. for the folks who write their technical documentation, they require that they have the technical skills of senior engineers, but pay them closer to what you would pay a recent college grad to churn out SEO blogspam. If they actually payed their technical writers the same amount (or more) as their engineers, their documentation would be great. They have the money to do so, they just refuse to actually do it, because they're big enough that they can externalize the costs of bad documentation onto their customers.
The hilarious thing about your "raising the bar" hiring is that the abusive hiring process, abusive work culture, abusive HR policies, and the rapidly declining reputation cap the bar. Why would good people work at fucking Amazon? They won't. So you'll end up with a bunch of backstabbing Machiavelli wannabes.
And those people that shake out of Amazon? They don't have tech talent to rise above the machiavellis, so that means they are the FAILED machiavellian backstabbers. What could be worse? That means they will be ULTRA machiavellian out of paranoia in the next workplace.
Sure, tell yourself "this happens everywhere". "It depends on the team". I have never met an amazon employee that didn't admit the place was a terrible workplace and they only worked there for the resume checkmark.
Usually this pathetic machiavellian game theory plays out in middle management. Amazon however has trickled this down to the tech workers, which is not good.
All that for "ok" pay? Your vesting is a three year carrot that the HR policies try to ensure that you won't be able to cash? What a crap company.
I’m not seeing the kind of organization that you’re describing. There may be parts of Amazon that work that way, but I don’t see it. Maybe that’s an Amazon versus AWS thing, or maybe not.
I would say that any company with 1.6m employees is going to have radically different policies and procedures in different parts of the company. Maybe you’ve only heard about the bad parts so far. I see this as the same issue as the future being distributed irregularly.
We do have a hiring issue in our team, where we are short by dozens of SDEs that we wanted to have by now. And we are definitely still hiring.
I can’t speak for anyone else, but my incentive comp is not backloaded, and I feel like I’m definitely getting market rate pay.
I don’t consider myself to be desperate. I was already on my way out the door at Whole Foods when I virtually ran into a guy on one of the internal channels, and he thought I’d be a good fit for what they were looking for. I interviewed, and I got the job. But I think I could have gotten a job at a lot of other places, too.
@AtlasBarfed — There is no part of what you’re describing that fits what I’m seeing in our team or what I can see of other teams.
But I can only speak for myself and my own personal experience.
Does your team have to align with that? It does not sound like it.
Therefore, your team is an exception to the HR rule. Sounds like you are not typical then.
And this is not an issue of HR policies applied to the "lower classes" of Amazon factory workers. These are HR policies applied to the developer class.
Why are you so short of dozens of SDEs? I would say that is ... 30 or more? Because you can't hire them through your LUDICROUS hiring process? Because you've "desired attritioned" so many? Why are you so short of developers? Ask yourself that.
How old is your team? What is the tenure of your coworkers? What is your turnover? How long have you been at your job? How many developers have you seen turned over? If you're short "dozens" of people, how does your team function? Do they just overwork you? If the team is functioning with 24+ shortfalls, why would Amazon fill them?
Yes, working everywhere in the modern world is all corporate shit to some degree. Maybe you feel comfortable now, but your team can get reorg'd. Your boss may move on, and you'll get a new boss. Then all of a sudden a tech problem makes you look bad.
But personally, never ever working for a big American tech company. They have no soul.
Bell Laboratory's was a thing....
If that's what your interested in go work at Tesla or SpaceX.
And maybe it’s true. But I’m not sure.
> The only conclusion is: bad tooling isn't affecting their sales.
I actually think bad tooling does affect their sales and long-term growth, but that they're blind to it because they can't easily measure it, and they have an obsession with data-driven decision making.
I suspect this is also exacerbated by hiring problems due to their reputation as an employer, forcing them to make tradeoffs that sacrifice dev UX more often than they'd like.
I have absolutely no evidence to back this but I think they are actually making money of the bad tooling.
Firstly, because it requires and also creates an army of cloud AWS consultants that works as free sales persons for AWS.
Secondly, this army creates overly complicated and expensive solutions which then only they can change, and they never do because it looks good on CV.
Maybe a bit too cynical.
On its own, probably, but holistically it’s always more complicated than that. They don’t have infinite resources and zero coordination costs, so they still have to make product development tradeoffs.
Anecdotally, I know a fair amount of companies that gave up on using AWS native stuff and went to EKS for the K8s tooling and ecosystem.
Data says no easy single source of truth- must hide everything in submenus for true kafka maze
However aws-sdk doesn't need to be 70mb, the console doesn't need to be slow and they don't need over 10 unique services to deploy containers.
We're working on a much improved dev ex for cloud providers and Kubernetes at https://northflank.com - with a fast real-time console, a well documented and useable API with auto generated CLI and API clients. 30 seconds of fun - can I get a production ready CI/CD setup for a repo(s) in 30 seconds? Can I get a HA Redis, Postgres, RabbitMQ provisioned and connected to my code in 30 seconds? These are the questions and solutions that developers will be asking for more and more.
On your cloud >> talk to sales
Every SaaS firm on earth wants me to talk with their sales, I'm tired of that. From 2022 and beyond, if you can't give me some Databricks style onboarding, you're not getting my money.
Assuming you're talking about WAFv2, it seems that's because they chose to have a single set of api endpoints instead of regional-based endpoints. And that the CLI --region option is really only equipped to swap endpoints.
Doesn't explain why they chose that path though.
It prevents customers from leaving and it prevents customers from lowering their amazon bills by making more effective use of what's on offer. Amazon makes it really easy to spend money on their platform but very hard to save money by simplifying or more effective use of resources. That is their business model. They always offer an easy and expensive and slow/convoluted, slightly less expensive path for doing anything.
If it was easier, countless companies would be saving a lot of money and Amazon's profits would be decimated. Or worse, they might be tempted to jump ship to a competitor. The primary goal of complexity is to keep customers after they buy into that.
Of course, over time it has exposed them to companies trying to compete with them with a better developer experience. To mitigate that, they invest continuously to ensure those companies never quite catch up. And of course that keeps on adding complexity. Which is good for them.
Most big software companies work with the same business model. IBM, Oracle, Salesforce, SAP, etc. it's all about vendor lock-in through complexity with those companies. It's how they make money. Lure customers in with whatever they need, sell expensive stuff, consultancy, training, etc. and before you know it you are in a decades long relation ship with your customer where you basically cream off their revenue on a monthly basis. AWS is here to stay. However, that doesn't mean it is the smart thing to be using right now for small new companies.
AWS CDK is a breakthrough in infra as code. It will be the standard in a few years to come.
AWS SDK v3 is quite ok and will get better soon.
AWS CLI is maintained and has everything well documented.
Most popular services work well together.
IAM is very powerful and a well thought out solution.
AWS's core is developer experience.
AWS is an API. Anybody who does not realize or can not exploit this fact this pays massive premiums for using it (probably a lot of businesses which should have no business using AWS directly).
The application tooling is extra. And as far as I can tell, AWS is the only major public cloud that has decent coverage by tools of any flavour against their API, and they have the most decent set of language SDKs available. I am not familiar with GCP but anything Azure puts on the table is a catastrophe when compared to the ease of using boto3 to get a certain flow working.
Admittedly, their console has some defects it ought not to have, but with some systems and software development knowledge, you can grok all of the tooling AWS releases pretty easily.
The biggest of my problems with AWS that besides their API, some of their managed services are just not on the quality level as their core services (ec2, s3, ...).
It's a freaking huge API and all of us would suck a little bit more of it without tooling around it.
Exactly.
Most of my grief is wrestling with the misc tools which obfuscate the underlying API. Bad or good design aside, I just need to see what's on the wire. Once I kinda grok the mechanics, I can map whatever tool's (terrible) UX to the reality.
It's my mental quirk. Maybe the inability to suspend disbelief. It's always slowed me down. But once I have a mental model, I can move pretty fast.
Eg https://stackoverflow.com/questions/45602558/devpay-and-mfa-...
Also their docs suck at saying the limitations of their services explicitly in a transparent way.
So "it depends"
This is not to saw AWS is perfect but it’s not like people are inexplicably using a bad option. We still have a lot of maturing to do as a field.
Hard disagree here. The reason why AWS can get away with shoddy tooling is that the competition is orders of magnitude worse. Azure's web UI is an unmitigated desaster, and while I never used GCE I can say I won't ever use it for the simple fear of some "AI" running amok and killing off my Google account - too many horror stories here on HN for my taste.
Disclaimer: I work at Amazon.
AWS isn't a developer tools company. It is ops tools company. In particular enterprise ops tools company. Their customers are IT managers and system administrators from large companies. That explains 1 and 2.
Famously, AWS is organized as huge bunch of two pizza teams. Essentially, it's a huge incubator for internal startups. That's how they manage to churn out new features so frequently and try out and discard unsuccessful products. Also, that is why their tools looks so damn inconsistent and why you never know what's working with what.
Regardless of money, they can't make the tools better without sacrificing something. And that is a space for competitors. Work on developer centric tools for small and medium sized companies.
Utility companies are staid and boring. That's a GOOD thing.
If AWS doesn't restructure, then what does it do? Re-re-reimplement all the internal bespoke systems that run AWS? Doesn't matter, their employees will turn over and the bitrot in those systems is about, what, four years?
Man I hope they are good at microservices!
Second, there's an arms race in cloud infra. So it's more about adding functionality, ticking the box, being ahead, than being simple and usable.
Finally, frankly, poor design. The AWS console is a usability nightmare.
That said, AWS is awesome. It's just infuriating to use if it's not your day job and you don't know it in and out and aren't willing to spend days reading their docs.
Now I'm using Firebase and Google Cloud Storage on a new project, and I've generally found the UIs to be clearer and better-organized than AWS, and the documentation more accessible and easier to understand.
These GCloud tools really do feel tailored with the average hacker in mind, something I often don't find at AWS.
UI/docwise, AWS kind of expects you to to come to the mountain, not the other way around.
As an example, getting Firebase Auth up and running was worlds easier than Amplify Auth, which I flailed helplessly at and gave up on.
Curious to learn more about GCloud, see if the rest of it is this good.
If you have to go to the cloud what else is better. Google, MS? If you press hard enough the same amount of shit drops on your feets.
CloudFormation works in both YAML and JSON. Don't like that? Use the CDK to write in your favorite language and that will be transformed into CloudFormation template. I'm not seeing what sucks here.
The reason most people use Terraform or Pulumi is because they want something that's cloud agnostic. That doesn't mean CloudFormation itself sucks -- it means that people have a different usecase.
Say the eks team responsible to deliver a cli/console tooling?
It's an interesting problem to solve. Any insight on how to go about managing this is greatly appreciated.
Have you tried the serverless tooling from GCP? doesn't hold a candle to AWS SAM.
In the end they didn't buy us and the aped everything they learned and launched a carbon copy product 18 months later. rages
... but...
one thing that caught me off guard during the process was that their teams had no idea about developer experience, didn't understand workflows outside their own domain, and didn't pretend to understand any of it.
Honestly the only card they really had to play was being aloof and condescending. Of course we were very deferential to them the entire time, because AWS.
This was one group within what is a massive organization, so YMMV, but if they come knocking my suggestion is to be aloof, kind of a jerk, and don't share anything that isn't on your www. My guess is that would really be what gets their juices flowing.
They also have everything.
As long as there are other companies building on top of AWS, I’m pretty happy with them.