I took a job at Amazon, only to leave after 10 months
benadam.me
benadam.me
"Urgent to not block progress, but also ironic that they are asking a person who has no clue what they are doing to deliver critical work"
Friend of mine started a role there (this was 4-5 years ago) and was fired (sorry... more or less asked to leave, being told he could keep his signing bonus if he just left) within about six weeks because he wasn't immediately delivering on some insane amounts of work. Truly, he recapped it for me, the expectations were absolutely incredible and I'd consider him a hard worker who has found a ton of success in his current role.
I bag on Amazon a lot on here (which if I were to review with my therapist is likely because I had an absolutely HORRENDOUS experience in an interview loop with them my first step out of college that still makes me nervous in interviews, even 15 years later). But living in Seattle, a notable chunk of my social circle works there. I'd say a few enjoy the scale of things they get to work on or perhaps the brand name, but overall none of them ever talk about liking the work environment/balance/culture.
One friend, at a director level, just quit on a whim because he came back from parental leave and his direct reports had all been put on a PIP while he was out. He told his VP to fuck off, left, and is now on sabbatical. I've never seen him so happy.
Wow. It’s really difficult to imagine a likely scenario where that’s justified.
Not that that is a justification, but it's almost certainly the reason.
https://www.businessinsider.com/amazon-tracks-unregretted-at...
Actually, writing this down made me think that big companies (like the FAANG mostly are) are quite anti-capitalistic. I'm not sure how to call them, because sure as hell they're not socialist or anything of the sorts, but it's reasonably clear that many of the theoretical capitalistic principles that many of us know in one way or another do not apply to these economic entities.
A business is a socialist command economy embedded in a market economy, which has odd boundary effects at the interfaces.
One counter-example comes immediately to mind, but mentioning that would cue a whole tedious discussion of "But that is socialism, it's even in the name!" vs "Just because it's in the name doesn't mean it actually is socialism!", so I won't spell it out.
> In particular, businesses really don't fit the definition of socialism.
No, true. As others have mentioned, feudalism ses a better fit.
Because actual capitalism is just the means of production being privately owned and operated for profit. It says nothing about how companies operate or what kind of dystopian politics they might have.
These companies could make competing internal IT groups and datacenters competing for projects and services in the company.
But companies don't like free markets and competition, every company strives to establish monopoly control. Likewise, middle management doesn't like competition, it clouds their promotion paths.
I've shared about how I was forced into early retirement, in 2017. I had tried getting another job, after leaving my company, but no one would even talk to me (I won't go into why).
It absolutely infuriated me. It was humiliating and scary. I decided that I didn't really need to be patronized and insulted anymore, and just gave up.
But I was quite able to stand on my own. I didn't need the money; just the work.
After over four years of working (harder than I ever did, as a corporate shill) for a nonprofit (and learning new stuff), I can't see myself ever going back to the rat race.
A PIP is a situation where you are told you are not performing at the desired level and needs to improve. In a respectable company being on a pip can be good for you. In my personal case I was not performing well due to personal issues. Getting on a pip saved my job. It gave me the resources and attention to turn the situation around. You get a clearer plan of what you need to do and closer relationship with mentors to help you on the way.
But again if you don't improve you are fired and you have that hanging over your head.
"what the company represents"
of course they are not going to represent it as, "we are going to fire you".
Good for you to keep the job (if that's what you wanted) but in general it's a legal process companies do to easily fire people.
There is no actual ass-covering need to put someone on a PIP. If a company in the U.S. wants to fire you, they generally don't need a reason.
Individual company cultures will, of course, vary. There are a lot of shitty managers out there.
All that said I agree they can be genuine. They also can be ass-covering.
That's only true if they can prove the reason isn't one of several prohibited reasons (racism, sexism, ageism, etc.). And how do you do that? Have a PIP system in place in which the acceptable reason is documented in detail and all employees are treated consistently.
That's why PIPs are effectively termination at many companies. Even if you survive it will be permanently on your record and your opportunities for advancement will narrow significantly.
They don't need to prove anything. In employment discrimination cases the burden of proof is on the plaintiff.
But a documented process, that was followed, that set defined goals, and recorded failures, is going to be a much faster and more sure trial.
Also with respect to the attorney fee provisions, in California they are almost entirely one way in practice even the ones that are loser pays in reality.
For me as a manager, the PIP allowed me to set up an environment where the developer would be able to perform their job in isolation with specific, measurable and concrete tasks that do not depend on any third party.
I've successfully applied this for some devs that were doing really bad for more than 6 months, and it allowed me to find that the person was in the middle of a lot of shit. Once the developer was isolated and given specific tasks, they showed why we have hired them in the first place.
I also have let go a developer for whom the performance plan was more on the people skills side: This person was just not a team player, and was dragging the team along with him. A PIP allowed us to show him exactly why he ended up not being a match for the company.
And then there was another one who was just lazy... didn't do stuff, and after the 2nd month of the PIP he acknowledged that he was just being lazy, and waited for the PIP time to expire so that we fired him (with 3 months severance).
This is true as far as it goes, but exceptions to the at-will rule include Title VII claims, so if they have an illusion of a dream of a identity-based claim, you need some documentation.
Since most companies don’t want to pay even the minuscule amount required to get a valid release, this is the alternative.
Which is why I advise anyone who asks me about PIPs who I deem is sufficiently introspective to immediately secure another job and leave if they receive one. The pure game theoretic approach for employees to use is: unless they have overwhelming historical evidence their manager is someone like you, it is safer for them to assume they are in the majority lumped in with sub-optimal management (much less leadership, both activities tough as hell to pull off well), and insta-bail as soon as they can.
The challenge with PIP's is there are no governance controls around their deployment, so they are weaponized for purposes other than their purported staff development role: as budget controls (deliberately hire some people with the intention to PIP them to maintain headcount), as knife fighting, as political machinations, as compensation-busting tool, etc.
There are legitimate employees who need a PIP for the ostensible purpose they were created for. They're more rare in my experience than how many times PIP's are actually used.
But it was really a time for a parting of the ways at that point.
It's "I don't want to fire you, but you need to fix these things. Let's put this in the books so there's no disagreement over whether you're aware, and what you need to do."
In most cases at-will employment means the employer/manager can fire a person, so if that was the only thing going on, it would already be done.
For anyone who is a member of at least one protected class (which everyone who has any [or where this is possible, no] race, sex, ethnicity, religion, or national origin unambiguously is for each that apply, and there's some others that are less universal, and that's just under federal law) there is always a risk that that they will file a claim to have been dismissed for that reason, and under the civil preponderance of the evidence standard, if they have any substantial evidence indicating that might be the case the employer needs to overcome it with superior evidence that it is not.
And that is what a PIP is for, to provide the evidence trail supporting that alternative reason. They also serve as notice to people to get out before they are fired, which (unless bungled bad enough to support a constructive termination claim) also avoids wrongful termination liability, because the departure is voluntary. PIPs have nothing to do with performance improvement and everything to do with liability containment.
For actual performance problems that the employer wants to resolve, regular performance reviews and informal counseling that occurs before a PIP is the means to address it.
Once you have reached that point, it's almost moot whether or not the plaintiff will win, as lawsuits are sufficiently headache inducing and expensive that a settlement is likely.
The odds of the above happening might be low, but being made aware of the possibility causes employers to CYA more than you might think in an at-will state.
Lawyers tell management this and get blamed for the law and courts being the way hey are. “Buy them out with a severance and a release” gets “why should I pay for something I’m allowed to do.” A few months later in house counsel gets screamed at “why is outside counsel charging us $50,000 for this summary judgment case?!”
“Well, I told you that——-“
“This is your fault! Why doesn’t EPLI cover it”
“You said it was too expensive, so we got the one with the high deductible.”
Since the defense bar also lines their pockets with these cases, and scare pieces on their blogs “review your employee handbook now or else!” No one fixes anything.
And you can't just gather those reasons for employees in protected classes or that itself is discriminatory treatment of employees.
So you have to make a choice as a large company: PIP systems or set aside more money for legal fees and settlements. Most opt for the former.
And in the U. S., anyone can sue anyone at any time with no reason (though there should be some semblance of a reason, or good luck finding counsel to take the case). Maybe you fired me because I'm black, maybe you didn't, but without any documentation of what the real reason was, the company stands a good chance of settling to avoid the time in court.
Judges hate this be careful. If you sue for "not enough ham in your subway sandwich" - I would bring overnight clothes and a toothbrush. Contempt of court is a thing. Judges hate time wasters.
Better documentation means only increasingly bottom feeding plaintiffs lawyers will take the case.
Defense usually wins if they have good documentation of putting employees on a PIP, even if the reason is obviously dubious*.
Maybe I'm cynical because I've only seen it in a lawsuit context, but if you're put on a PIP, start applying. There's no out.
* like, discrimination, company wants to fire long-term employee because of an injury, company wants to fire an employee for union organizing, etc.
I'm a manager at Google and have therefore been privy to a bunch of PIPs. I know a bunch of people who have survived them and many of them have later gone on and had successful promos. I've seen exactly one case where everybody involved was resigned to the fact that the PIP would almost certainly fail and that is because the person being fired was a raging asshole. A manager who wrote a PIP designed to be impossible would themselves be given shit performance reviews.
A PIP isn't just a closed two-way conversation between a report and a manager. In every case I've seen there are multiple eyes on a PIP and revisions to them.
It's rare (not unheard of, but rare) to work your way out of a PIP. In general, if you get put on a PIP, I would immediately start doing some soul-searching as to why I might be on the PIP and how I can improve AND I would start looking immediately for a new job.
I feel it would have been possible to work my way out of it, I think different companies use them in different ways.
Ah well, most of the team got poached by Revolut anyway. I find WFH suits me a lot better because as long as I can go to stand up after a heavy weekend (which is a lot easier if you can do it from home) and then achieve above and beyond the rest of the week, there's a lot less anxiety.
The cure? Don't allow corporations to set your value, specially not mad and crazy corporations like amazon and space penis.
No matter how much you might try to "ace" it and put in your best effort, more than 9 out of 10 times, the person will not come out of it. Anything and everything no matter how minor is likely to be used as supporting evidence. So interpret it as a notice of eviction of sorts where they pay you some months to find a new job.
Yes, there are exceptions. Thing is do you want to try your luck with HR?
Technically, there are two desirable outcomes to a PIP:
1) the employee improves and no longer needs to be on a PIP (rare)
2) the company successfully fires the employee and doesn't get sued because they covered their ass with a PIP
From HR's perspective (and the manager's), it is indeed the reluctant last resort, but it's essentially a win/win for the company. Either the employee improves, or they can fire them while minimizing legal risk.
In other words, it fulfills its intent quite nicely. It just doesn't always end positively for the employee. So I guess in that sense, it depends on which way you look at it.
Because the rational choice is to take the high severance (being handed the PIP means your manager and manager's manager have already made up their minds against you, I've seen a coworker given an impossible task), that means that being an average Amazon engineer will have a 50% chance of being fired by your 5th year.
It's like if someone threatens you with a lawsuit. You don't communicate with them ever again, you tell them to contact you via lawyer and hopefully you never hear from them again.
On the other hand, if the employee in question is fairly certain the PIP conditions can't be satisfied, signing the PIP is a very bad idea. It amounts to written acknowledgement of failing to perform the employee's end of the employment contract and gives the employer justification to fire the employee with cause. If that's the case, declining to sign the PIP and asking about alternative next steps is the way to go. In that case, there's a good chance that the company will offer an exit package in exchange for a general release. One of the upsides of this approach is there's no PIP in the employee file, on the off chance eligibility for re-hire is a concern.
The manager might lean towards salvaging or maybe documentation. Usually, an honest manager would give some hints as to the nature. Like, maybe it’s best you look at other opportunities kinda nods. Some people are also just bad as reading the crowd and would ignore a written sign that stated “you will be fired.”
I’ve seen bad managers give a junior work that needed a whole team to resolve. I stepped in during reviews and fixed that train wreck. However, on their second chance with simpler work it didn’t turn out much better. At that point we probably soured the engineer. Later we removed the shitty manager. He took off as soon as he received his PIP.
One of my first batch of directs I took over was in the latter group. He made no connection that this could lead to termination. I would love to have heard the conversation with his previous manager. Also, he might have been feigning ignorance for more time. He quite simply just needed direct coaching on interacting with people. He went from the worst engineer to someone I tried to give the highest rankings. My manager wouldn’t have it, but we did compromise.
A lot goes on in the background, but something I never did was bend to statistics. I didn’t care what HR thought was the expected target. Some people are spineless and just rollover. Drives me mad. What are they going to do? Fire me and send me some place else for more money?
Best advice I can give someone who gets on a PIP is don't wait or work the process, just make an exit plan and act on it (interview quickly) and own your destiny. Also if you've been a stellar performer and you move to a team where things aren't working out within the first 3 months, transfer quickly (go to HR and claim mental and emotional wellbeing) before your performance reviews get trashed and then it's impossible to transfer.
The Big G. Your past performance primarily only influences the decision on whether you have a good track record of delivering, but once you transfer you essentially reset the clock with the new team and manager and the expectations might be completely different for whichever reason, it could be personality or org structures etc. I don't know if my experience is the norm at all of them since I haven't worked at all the FAANGs, but as I said it's important to "read the tea leaves" early, and if the new team doesn't feel right make your opinions known early and plan an exit before you come a statistic.
Hey, I had a similar experience with Google! It was my first technical interview for my first job out of college. The interviewer laughed at my code, and then after going through the logic said "Wow I can't believe this actually works."
Personal grievances aside, I've come to think that the Leetcode interview style has morphed from a "let's see how you handle problems at scale" test into an ego-driven hazing ritual. My biggest gripe is that Leetcode is systematically favoring candidates who have months of free time to memorize arbitrary logic puzzles. It makes me sad for the less privileged candidates who might be working a job while also trying to break into the IT field.
Very good point. I didn't really think about it much before. It is even difficult for candidates who are in IT field but not in FAANG type companies.
EDIT: Most ideas I've seen about replacement for live coding - like take home projects or contract-to-hire - are not really any more friendly to people with busy schedules anyway.
Or another mostly (rightfully so IMO) choice you see here. Set a low bar to hiring but have a probationary period after which you fire a notable percentage.
For example, I see at all of my clients entry level help desk positions to do things like help with provisioning a new employee's Wintel laptop, answer internal software packaging problems, intake VPN trouble reports, that sort of activity. But not nearly as much as when I entered the industry, because so much has been automated away or folded into centralized management systems, and the trend continues with advances in desktop engineering. On the other hand, I see an explosion of demand for the desktop engineering team positions.
This is being reflected in many other IT areas as far as I can tell. There is a constant push these days at all my clients to automate all repetitive work, and a much bigger appetite from leadership to automate entry level work even when the ROI payoff is longer than 1-4 fiscal quarters than when I started. The push isn't due to direct labor savings though: it is to drive down variance of configurations exposed to the more senior and expensive roles, so the real high-payoff automation can really shine, and they can reduce business-as-usual work hours remediating the impact from those variances.
If companies were grilling people new to the career trying to figure out if they could FizzBuzz their way out of wet paper bag (I realize some can't) it would be one thing. Without a track record you don't have much to go on, but the fact that you can work in the industry for decades, ship well-received products people have heard of, have a long list of references willing to verify that you were instrumental in shipping those products, and a lot of companies still expect you to jump through "reverse this string in place" type code puzzles seems kinda bonkers to me... but a lot of the industry just accepts that This Is The Way.
You can bypass this with direct personal connections of course, but its weird to me that so many companies put effectively 0 weight into prior easy to verify accomplishments if the people looking to hire don't know the person on a personal level.
All that said, this is a systematic issue that gets blamed on individual interviewers when the blame should fall on the company. I'm a decade into my career, worked at companies of all sizes, and I've never had or heard of anyone getting trained in interviewing. Outside of informal efforts with coworkers, I've never had a job provide me with a rubric for what I should be interviewing for (shit, I usually find out I'm interviewing someone day-of or day-before). If companies gave a damn about interviewing, I think the process wouldn't be so slapdash, and fewer interviewers would fall back on crap like FizzBuzz.
Otherwise there are plenty of companies that haven't fall into leetcode cargo cult.
At most, you might be allowed to skip the phone screen. Or you might be given slightly more leeway in getting the solution.
There are exceptions of course. One close friend/ex-colleague has an uncanny ability to network himself into a coding job at various NYC hedge funds. These being hedge funds, they all pay at least above average (we're not talking about Citadel or Jane Street here), but the downside is that he has to be very unpicky about what the role exactly entails. So this can lead him to very unsexy jobs like shuffling XML feed files back and forth or doing MS Access/Excel VBA stuff, etc. But he can snap his fingers, make a few phone calls to executives and managers he knows at multiple mid tier hedge funds, and start working in a matter of days.
This really doesn't fix the problem of breaking into CS, and it's not even practical when there are too many candidates. Leetcode gives a gigantic number of false negatives, but that's a price companies are willing to pay.
I’d much rather dedicate a weekend to solve a take home challenge using technologies I already know than dedicate many months to learn a set of algorithms I would rarely use.
Finding people who are willing to spend months in order to get the job is one of the biggest reasons companies use leetcode.
> ego-driven hazing ritual
:-)
--
Such a den of.... you can fill in the rest...
I know someone who was literally fired for being "too social" -- and all they did was participate in the stupid parties that were had like "Build you're departments happy hour bar, here is $400 for alcohol to stock it up!!"
A way more apt comparison would be evaluating him on his knive sharpening skills.
It'd be a bit like 'someone else has set up a software development environment for you, now write some code' I suppose.
On the other hand typical Uber driver does not need to know anything about the car other than what pedals are for and you turn the wheel to steer. If he tries to take the car to the limit, he probably gets 1 star rating from scared passenger. No need to know how car works.
You decide whether Google engineers are more like race car drivers or Uber drivers.
> It'd be a bit like 'someone else has set up a software development environment for you, now write some code' I suppose.
I make my own knives.
This is a dicey proposition when flying: Carry-on is not an option so I have to bring my B-grade knives that I won't miss if the airline loses them.
What keeps you from having a couple sets of A grade knives? Is it cost, or some other thing?
I'm asking because I have a few tools I LOVE. One is a set of dial calipers and I've had them since the 80's. I can get new ones, and have, but that tool I know well. My measurements are most repetable with it.
My B-grade knives are Shuns, which are still much better than 90% of the knives in a typical American kitchen but a bit more tolerant of abuse and available everywhere.
Thanks, that makes great sense.
Is this a nonstandard perspective?
It typically looks like a 15 minute phone interview with HR, followed by a lengthy Leetcode/ take home exam (that's auto graded, no humans), a computer form where you input your school, GPA, and courses taken (seriously). All of this info gets turned into a number and then HR takes a sample of the top X and hands it to the hiring manager: "Here are the 'viable' candidates".
The hiring manager then has to (basically) interview the candidate themselves. Ensure they actually have the skills for the position, determine their interest in the role, etc. So this is probably what you're doing right now. Just imagine someone filtered a bunch of your resumes first.
Take with a grain of salt, but I have heard of some folks explicitly getting permission to do hiring outside of HR at said large companies. The kids they get out of undergrad and through HR's Leetcode process are apparently complete garbage. Don't understand C, pointers, memory, or Linux at all. Don't even know what files are.
How I got my job is I searched linkedIn for <company name> + recruiter and just added all of them. That alone generated lots of recruiter calls. This was 2018, not sure if things have changed
Which is of course exactly what these companies should expect if their idea of candidate "preparation" consists of sitting in front of a webform and being asked to type in functions, one after another.
Like a rat in a cage.
I've done a lot of interviews, and I just accept that I need to explain what a byte is to the candidates. You'd think people with a programming background would know what they are, but it's not a hard concept, so whatever. I don't really care if they know how to open a file or what a byte is, I want to know if they can describe their output, and then write code that does what they said. And if they can write a loop with a loop in it without going off the rails. Bonus points if they can communicate reasonably throughout. You can teach someone how to use files, and unless you're a C shop, most people don't need to use that much C that they can't learn it when it comes up, if they need to. But it's hard to teach 'make a spec, follow the spec you made' and if you have to teach a programmer how to do nested loops, they aren't a programmer yet. (which is maybe fine, if you're interviewing someone who's only programming adjacent or something)
What started off as "write a binary search" has turned into a massive gate-keeping process to try to select candidates who fit a profile. I'm not sure what that profile is, but I know I don't fit it. I grinded Leetcode for 2 months and failed Google, Facebook, and Amazon. I thought there was some luck involved and decided not to put any more time into it. But, I don't fault others who do.
I do think the large pay increases the candidate pool, so there has to be some form of testing. I just don't think as a senior developer, it assesses my skills.
I don't know if it's fair to say the candidates care more about prep than solving real problems if they're just reacting to what at least some employers are expecting.
I wouldn’t use automated screening tools. These tools select for irrelevant criteria in my opinion, and are mostly useful if as an interviewer you’re too lazy or too incompetent to formulate your own questions that tell you whether a person can solve problems and interact well in a group problem solving situation. But I’m an oldster so YMMV.
I assume you do a much better job given your positive feedback, but it’s not something that every potential interviewer will replicate well if they try to follow your description.
Interview questions with one solution "that’s pretty clever" are IMO, bad. Even cliche "easy" fizzbuzz. Ok...so you know modulo.
Rationing out hints towards that "one weird trick" sounds slightly like a cat toying with a struggling mouse.
Lots of people who come up through the ranks only know how to do coding interviews - coding is what they do in their job, it was the interview they passed and it is what they know in depth. These are also the people confused about why their careers stall.
I never used coding for interviews at Google - even for junior engineers I wanted to see if they understood issues beyond their fingertips. Of course there was always a coding interview or two, so that base was covered.
Can you explain? AFAIK Google has a set criteria for engineering interviews. 2-3 coding, 1 design, 1 something else. AFAIK if you get asked to do a coding interview you have to ask coding questions. The people who review your interview would not find it acceptable to not do it.
From the parent comment I guess they were the ones doing the design or ‘something else’ interview, with the coding interview or two being covered by someone else.
If you want button-pushers who will keep their heads down and do exactly what they're told, even if it doesn't make sense or is detrimental to the company, then leetcode is a good way to find those people.
If you want actual human beings who are able to think abstractly, critically, and contribute to the team and help the company grow, then look for people who have been working long enough to know that leetcode is a dead end.
I am very against Leetcode style interviews. I promise every candidate interviewed by the org I lead that they won't be asked academic CS trivia.
But, I don't think what you said here is accurate.
If it were true, these other companies where all the critical thinkers have been flocking to would have displaced the FAANGs.
There are good reasons to dislike Leetcode, but your comment reads like sour grapes to me.
They just don't take their day jobs seriously enough and spend most of their time on LC, when you hire them, they leave in a few months because that is what they are good at.
This was in 2004 though so maybe that has changed but it certainly stuck with me.
Wouldn’t this be true of almost any other selective interview process?
Not a developer (though was an engineer) but I've never studied for an interview beyond maybe spending an evening reading up on a company. But, to be honest, the (few) jobs I've had over the past 20 years or so have always come through knowing people.
I’m just suggesting some companies may want SREs who understand fundamental computer science and are able to apply it to novel problems, perhaps as a proxy for finding candidates who could create their own terraform or quickly learn whatever tool may supplant terraform in the future.
As an analogy, it’s valuable to hire an electrician who knows the whole electric code really well, even though your project may seemingly only require a subset of that knowledge. For example it’s not obvious adding an outlet could require rewiring the whole circuit and upgrading the panel to meet code.
Symmetrically, as you point out, one may find value in hiring a less expensive handyman to do their basic wiring, if you’re confident you just need a dimmer switch installed.
I've never seen her spend more than a day or two preparing for an interview. And she gets paid near the top of her position, and has worked on dozens of multi-million dollar proposals.
The only reason it takes her a while to find a job is there's not a ton of positions that are willing to pay her what she's worth now (she's gone through job interview processes only to be given an offer half of the bottom of the range she provided multiple times), and she usually has to try to sell them on what she can provide to the team that they weren't even looking for (but should have been). Doesn't always work, obviously. Budgets aren't always there.
Meanwhile I've spend 2+ weeks or more preparing (hours each day) for SV interviews and still failed them. In Facebook's case, I was asked three questions by an HR person and gave the right answer to the third question, just not the term they must have had written down for them on the paper, was told I was wrong, and then got a rejection email. At Zynga I was asked to come up with and speak the code to a permutation algorithm, over the phone, on the spot, without using a computer. At Google, in one of the six interviews, I was asked how to convert a 3D grid of buildings into a 2D skyline with a single line, and I had difficulty figuring out the logic for overlapping buildings in less than 30 minutes using only a whiteboard.
I always spend at least 2-4 weeks refreshing algorithms and technical trivia questions before I even start looking for a job in tech.
Or is this some trick?
I was under the impression he was wanting me to figure out how to do it using only the bounds of the rectangles mathematically, and not by changing how it rendered, from what I can remember.
Maybe there's some 2.5D cheats like DOOM did since the 3d model is all on one plane.
Agreed, a ridiculous question.
These questions where you either know the algorithms of giants, or are expected to reverse-engineer algorithms that people did research on for months or years... The height of arrogance.
I agree to some extent but moreso, I think it heavily favours those with a theoretical CS background, which means effectively you are favouring candidates from top colleges in a round about way.
No offense, but you study python, learn its basic syntax + "algorithm design" book + 1 practical book about algorithms and data structures and you're good enough for performing good/optimal leetcodes.
Some things you might miss, for example some exercises you can optimize better if you know some algebra/maths, but 90% of that stuff is more or less repetitive. Once you learn the tricks etc, it really becomes repetitive because finally it's just if/else and for loops. (I don't mean to minimize in any way the effort it takes to make such exercises, it's just the feeling I had while doing some and failing a lot of them).
It's always about specializing one or two specific algorithms you have found in the book[s]. Sometimes it requires coming up with very creative ideas - better for loops. :)
For me Leetcodes are not per se bad. I still learnt something from "being forced" to do them which I probably wouldn't have done if i hadn't been forced. What I despise is the fact that companies have lost accountability in hiring. It's hard to interview, so it's better to rely on an "industry standard" - after all Amazon and Google do the same, so why shouldn't we?
Last time I did an interview where this wasn't the case was 1998. Granted I don't really interview anymore.
This was a long time ago, I get work through my network now, interviews consist of going to lunch and shooting the shit.
OK, not professional, and fair grounds for deciding you don't want to work there (interviews are as much for you to evaluate the employer as they are for the employer to evaluate you) but.... have a bit of a thicker skin. Carrying something like that for 15 years instead of immediately dismissing it as the commentary of an asshole is just no way to go through life.
But the integral of having to deal with these assholes over the years (both in the hiring process, and when you start to actually work there) -- meanwhile having a real life to be responsible for (family, kids) -- can start to wear you down, after a while.
The Amazon interviewers were engaged, excited when talking about their work, and seemed like they were rooting for me to succeed.
Google interviewers were condescending and looked like they were unhappy to be part of the interview process and were just going through the motions because they were forced to. I had a lot of self-doubt after being treated like crap by the Google interview and decided to never do that to myself again.
Or maybe they are putting on an act to seem hostile to push your buttons.
For me, leetcode is basically just what is taught at university level. So they're hiring people based on if they know stuff they would learn and forget from university.
The thing is, it's not about having free time, it's about being so dedicated to getting the job that you'll spend ages learning things you would never do during your day job and if you did do them during your day job you would be considered a cowboy because there are predefined libraries that are optimised to do those things.
For me, the main reason I don't want to work for FAANG is they have a reputation for long hours and that the hardest thing at the companies is the interview process.
I thought working at Google or Facebook was supposed to be a pretty chill "rest and vest" situation, esp at the former (?)
Remember, with the kinds of education people have at these companies coupled with the amounts of money they are receiving, "the bullied become the bullies" is a serious occupational hazard.
I think this is only true if you want to work on something interesting. If you're willing to work in some obscure corner of ad infrastructure or Google Surveys or something and you're not trying to get promoted, you can stick around for a long time at Google and not get much done. At a big organization like Google the pace is pretty slow even if you are trying to get some work accomplished, so that provides cover for those who aren't as effective.
Ha ha, fair enough!
Usually a good manager can spot pitfall projects from a mile away and put you on a good path to a promotion. But only being good is not enough, you have to work on the right projects, have the right results and the right visibility. If those variables are not there you may go through a downward spiral that ends up in a PIP.
It's like asking why you should write a resume when you won't resumes as part of your job. It serves a similar purpose of trying to get to know who you are.
I wonder if this is an intended side-effect, namely also filtering out people who would have passed if only they did rote memorization instead of actually mastering the CS fundamentals.
I'm 48 and I've been a software developer a long time. The technical interview at many companies has been an ego-driven hazing ritual my entire career, well before Leetcode even existed.
I told google that this style of interviewing is discriminatory, especially towards people with families, or other commitments. Never got another call for an interview since ^_^
personally I think they do make some pretty cool things here and there but they do have very pretentious vibe all throughout
the phase of technology that they own/owned is nearing end soon anyway
Silicon Valley, season 1 episode 1: "But most importantly we're making the world a better place. Through constructing elegant hierarchies for maximum code reuse and extensibility."
Mike Judge is a genius.
He really is. Any one of his properties would prove that by itself. Having such keen insights into disparate facets of humanity tells me that he just gets humans on a level not many other people do. Hopefully that doesn’t sound too flowery and pretentious.
Not to say he’s not a master of his craft, and king of the hill especially had tender moments, but maybe that’s just not what he’s interested in
That's a fair criticism. Much of his work comes off as deeply cynical.
Same result as you: The recruiters stopped bothering me.
UPD: I have provided negative feedback to my recruiter and they still reaching out to me. Really doubt companies ever act on any of candidate feedbacks since candidates are not employee (I know my previous company didn't, asking for feedback was just a "wanna look good in your eyes" question).
And what happens later when the market is not so hot? I was around for both the dot com bust and 2008 recession. The current hot market should not be taken for granted; it isn't going to last forever.
I'm not looking for a leetcoder. But I've had to reject candidates who otherwise seemed really strong, but then it turns out that they completely struggled with every aspect of a simple python question.
The difference is that a candidate with a good attitude and growth potential is usually worth hiring even if they're not a fit for the role they applied for, and so the hiring manager will get creative trying to make something work.
Perhaps some of the well known tech companies don't put the same level of care into their interview pipelines, and then folk become jaded and irrational? Does anyone remember that Office episode where Ray Romano interviews for the manager position and talks about how all his old coworkers are jerks while eating a sandwich out of his briefcase?
In my experience, it turns out to be some dark corner of the language, or a keyword that's not in common use today. Examples are: 'void' in JavaScript and 'boxing' in C#
But this is exactly the point, to be discriminatory while using a valid excuse for doing so.
No.
Also my impression is that Amazon’s effective comp is significantly below the headline number because they heavily backload RSUs and they burn out or fire so many people in the first couple years.
You'll be lucky to make half the compensation a FAANG engineer makes at a typical investment bank while always being treated as a second class cost center employee.
Amongst the FAANG companies, my understanding for compensation is:
Netflix, Facebook > Google > Apple, Amazon
...adding in the MULA companies, believe Uber, Lyft, and Airbnb are towards the upper end of the spectrum while Microsoft is towards the lower. Correct me if I'm wrong.
I don't think most civil servants qualify for the high pay portion (at least by comparison to SV pay scales), as their pay is capped. And work as a contractor brings about a host of other issues
The academia route certainly exists, but the glut of of PhDs compared to available positions combined with the amount of complaining I've heard from non-tenured professors would make me a bit hesitant to advocate this route as a general recommendation. But there are other staff positions that might better fit that bill
But I don't think those jobs exist unless you're already an expert in something and can get by on the expertise that you already have. Please prove me wrong!
For your example combination, I've known entrepreneurs who've met that mark, but it took some initial risk taking and sacrifice. The work isn't sexy by most SV measures but they make extremely good money and one in particular takes months off every year to travel in Europe while in his 30s. I wouldn't call them an 'expert', they just found a niche that other people didn't find interesting enough to pursue.
Likewise, for other combinations (say 'interesting work + high pay') you may have to put in early work for a PhD where you aren't getting paid well initially. For other combinations ('work-life-balance + interesting work') I've known people who essentially worked for free in order to network and prove themselves until they were offered one of those positions.
I guess the point I'm making is that those desirable combinations don't naturally just fall into the laps of most of us but are the product of deliberate and conscience up-front work that can't necessarily be templated out.
No company is perfect, not even FAANG. However despite their many warts, I would argue they are still better than working at most other companies outside of the Silicon Valley tech sector where the vast majority of SWEs are employed.
* Of course, there are exceptions. Amazon seems to be particularly notorious.
As you get to more senior levels it seems like companies still expect you to do passably well on those questions - but make their decision based on other data-points such as impact/past projects etc.
When I interview people I try really hard not to do stuff like laughing at a serious question or suggestion from a candidate unless they're obviously trying to be funny.
Right, probably wasn't meant to be rude. Not hard to imagine that she might have had a lunch conversation recently about Kotlin, or just finished reading a long HN thread about it, and that was the laughter.
But in general, yeah, we all need to be mindful in our language. The interviewer is under zero stress/tension during an interview, while the interviewee is on high alert.
Anyone who has worked at a big company knows how much terrible legacy cruft runs the world, and it does take an effort to not be jaded during the interview.
I work for a major cloud hosting company and was fighting with the team that owns a resource manager that runs on each node over some "fancy C++11" features I used, and in an interview I had the same day, the doe-eyed new grad candidate asked me:
Candidate: So do you guys have a chance to use C++20 yet for work? I find it pretty neat Me: Well...it's hard to explain C: How about C++17, are you at least on that? Me: ... C: 11? Me: the standard we use is older than you are
The guy eventually joined and at least I have a pal to commiserate with now.
Most interviewers are nice people. Assuming good intent when they laugh is going to be the right assumption most of the time.
> The point of interviewing is to make judgements. There is no irony. This judgement is: people who assume the worst of others are toxic to work with.
Whew.
The saving grace here is you're so cavalier about this sort of borderline paranoia and megalomania.
It tells me you won't hide it well, and the shrewd candidates will run for the hills.
It really is helpful, socially, to assume good intent. It avoids unnecessary arguments (/wars). Additionally, if you spend a little time digging in when you have assumed bad intent, you'll almost always find that the person has good intent, there has just been a misunderstanding, or miscommunication, or they face very different incentives or have a different set of underlying assumptions.
As for megalomania - it's likely we live in different locations/and or work in different industries. Where I am, interviewers don't hold the power. Candidates do. Especially candidates who are judged to be good. Good candidates make a judgement call as to where they want to work because they have many options. They exercise said power, negotiate higher salaries, and leave if they don't like the arrangement. And good for them, they have in demand skills and a good attitude.
I understand it isn't like this in all locations/industries.
If I caught a whiff of half what you've said here I'd end the on-site early. My industry is too competitive to put up with this sort of childish antics.
I'm quite certain you have good intent. Maybe you've had truly rude people interview you, they exist. Maybe you have worked with a lot of jerks who were rude. Maybe we just have different definitions of "judge".
The most generous take of my intent is ~ "this person really wants to avoid a dysfunctional work culture".
If you assume good intent, you'll face fewer problems in life. It's one of the few pieces of advice that actually work with few exceptions. If you catch a whiff of something, and it smells like bad intent, maybe forcing yourself to rethink it from another perspective will work.
By the way, you should let HR know about your helpful intent to shield the company. They should have a wonderful commendation for you, and some COBRA paperwork to go with it.
This is an example of assuming ill-intent. I didn't say I'd try to make people uncomfortable. Here is what I actually wrote:
>I think I'd be happy to laugh and offend said people as a mechanism to keep them away
An interpretation of this assuming good intent is: "If I find something funny, I'll laugh. If it has the side effect of keeping people out who assume everyone has ill-intent, that's fine. "
An interpretation assuming ill intent is: "i deliberately laugh to see who it upsets".
Most people have read what I said in the generous way. There are a lot of upvotes. Hacker News isn't filled with a-holes who get excited when someone says something awful.
This is the definition of ill-intent.
This is what intentionally making someone uncomfortable looks like.
Glad you learned something today :)
You might as well save your breath at this point, you'll notice everything I've said was a very simple point, and every reply you've had was a roundabout treatise trying to pivot away from <very simple point>.
That's because what you're doing is defending an indefensible position.
-
If you had just said it was a joke it would have been better for everyone involved... what a way to live life if this is really what you're about.
Edit since I can't reply to your comment: if you lack the emphaty to understand why people may be very reasonably insulted in such cases, you really shouldn't be conducting interviews, IMHO. The irony part is that you actually describe a behaviour that "assumes the worst of others", as you said.
The interviewee is not your friend, he/she do not know your brand of humor or internal jokes. Additionally, he/she may have cultural differences.
You talked with someone an hour in an unbalanced stressful job related situation and you really think you know something about their personality? Behavioural researchers think that you can't know much. I wouldn't be so judgmental of people you've just met. You should be more aware of the limitations of the interview platform and stick to what you can deduce. (Which is not, that a person is toxic, because he/she felt laughed at)
This is the problem. There are many situations in a career which aren't "normal" and will make people nervous. Giving presentations. Talking to the CEO. Or the boss's boss. Or the leading expert at X. Being in a meeting with all the execs. Or in a performance review. Meeting with clients/customers/potential customers. If every time a person is nervous they assume ill intent of others at the slightest hint, they are going to be problematic. They don't intend to be problematic, but they are.
The point of a mechanism like that given is that you don't have to make a judgement. It's self selecting. In this specific scenario, the kotlin example interviewer a) laughed b) offended a person and c) probably wasn't even aware they had caused offense and d) kept the person out of the company.
If b) had gone down the other path, the person isn't offended and (all else equal) is still enthused to work at the company.
I don't take offence easily but honestly if there wasn't an explanation for laughter I would straight up ask "What's so funny?".
Imagine how a Russian candidate would feel, when it's culturally "odd" to smile for no apparent reason?
Re the Russian - it sort of depends if the company is mostly Russian or not. If the culture at a company is such that it's offensive to smile/laugh then it would be better for a laugher to join a different company - ie be gated out, no?
Is it possible you had a better solution that the interviewer simply didn't recognize?
And I replied, “Is it even remotely possible I came up with the correct answer by chance?” They agreed not. “Then why should it be my problem that you can’t understand my method?”
In retrospect I was an ass, but I got credit and passed the class, so…
More realistic is to talk through a process that can be sporadically described in various 1-3 line code samples that will eventually be put together to form a program for something boring. A good boring example is something like transmit a file from a file system across a network and perform an integrity check. Boring but enough steps to talk through and demonstrate with a couple instructions. Nobody does this. I would hear a discussion on proper use of APIs and step by step walk towards success than see somebody lost writing for loops and conditions.
Google India (c. late 2000s / early 2010s) used to be notorious for this, so much so that Googlers I knew would rather have their referrals give interviews at Google HQ (MTV), instead (not that it was any better, but rather it wasn't as worse).
One piece of advice I received early on was, interviews aren't meant to be a pissing contest but often are. As an interviewee, accept that and try not to take rejections personally (easier said than done). As an interviewer, know that you're in a position of power, and try not to abuse it (easily done but never said).
It’s fine. I’ve seen code from FAANGs that evoked the same reaction from me.
But, I did work for Amazon several years before and that was mostly a good experience. So, luck of the draw, depending on which manager/team you get assigned to.
Don't hold it against your colleagues. A lot of this knowledge isn't obvious to anyone and people chiding people for not knowing would be the last to come up with solutions themselves. This is just insecurity and bickering.
Google has been a publicly traded company with a massive scale. If the technical problems aren't interesting to you, I doubt it is worth it to work there. The culture of such companies are always the same. Detached to minimize problems, don't make personal problem a problem of the company. Good colleagues can make you forget this for a while of course.
... as fast as possible, whether it actually works in all cases or not. As Dilbert says "our boss can't judge the quality of our work, but he knows when it's late".
I have another friend who was offered a job there and turned them down, then the hiring manager fired back with "Oh c'mon, you just have to last a year here and then you can put Amazon on your resume" which is hilarious and totally fucked up.
"We aren't going to pretend that you will actually like working here but if you suffer for about a year, it's gonna do wonders for attracting future employers"
I often wonder if Amazon wouldn't actually be more successful if they treated their people better. I think there's a strong sentiment of Emperor Bezos' New Clothes and survivorship bias that has Amazon leadership convinced that being evil bastards is the only reason/way the company can be successful.
Facebook and Google basically have one product that is a money machine which funds everything else. The rest is mostly window dressing.
Amazon does not have the luxury of being able to rest.
I think you will find a similar culture at Netflix, which is also in a competitive market.
---
"I'm sure I'll take you with pleasure!" the Queen said. "Two pence a week, and jam every other day."
Alice couldn't help laughing, as she said, "I don't want you to hire me – and I don't care for jam."
"It's very good jam," said the Queen.
"Well, I don't want any to-day, at any rate."
"You couldn't have it if you did want it," the Queen said. "The rule is, jam to-morrow and jam yesterday – but never jam to-day."
"It must come sometimes to 'jam to-day'," Alice objected.
"No, it can't," said the Queen. "It's jam every other day: to-day isn't any other day, you know."
"I don't understand you," said Alice. "It's dreadfully confusing!"
Ya, and the recruiters always try to get you into what sound like would be the worst orgs (I would guess positions in good orgs are "known" about outside of what the recruiters are trying to fill).
I am not certain what they were going for, though I can tell you I left knowing that even if I had gotten an offer, there was no way in hell I'd be accepting. It's obvious there are some very successful (happy?) amazon people (amazonians?) but no thank you, I enjoy living.
I've heard that, because of the stack ranking, if managers want to keep their current team unchanged, they sometimes hire someone new just so that they can turn around and fire them.
Its crazy how these FANGs promise the moon, the serious RSU vesting starts only after 1 - 2 years and the average tenure is like 1.5 years.
>>he came back from parental leave and his direct reports had all been put on a PIP while he was out
I've heard this quite a bit at many places, when you go on a longish leave of any kind basically people kind of replace you. When you come back you discover your job is gone, for this reason alone I don't know many people who take these long leaves/vacations.
I've read articles claiming that Bezos had certain opinions about people being lazy, and that he intentionally structured Amazon to make it almost impossible to get promoted. Basically, people are hired to do a specific job, and they will never be allowed to do any other job or be promoted until they quit from overwork. The exceptionally few people that both deliver the impossible and don't quit over the workload are treated as valuable, but only at the specific job they are currently doing.
From what I've been able to piece together, this was always at least somewhat true, but has gotten much worse the last few years. I think Amazon is likely going to start running dry on willing candidates in their engineering and management teams within a couple of years and we'll see them start to lose market share as a result.
EDIT: It seems this is not intentional, some of the stylesheets are returning 404 for me but not other people... weird.
EDIT: Amazingly, it turns out this site is hosted on the platform of which I'm the lead engineer (Cloudflare Workers / Pages) and the problem is in fact our own fault, not Ben's. Wow. We'll... get on that. Sorry.
FINAL EDIT (hopefully): Not necessarily a bug so much as classic cache skew... explanation here: https://news.ycombinator.com/item?id=29814868
It also has <p> styled with a zero margin, which makes things hard to read as well.
I've been thinking of writing a Firefox extension to auto-detect the page background color and set the text color to the polar opposite of that. Haven't done it yet, but I'm getting close.
Crazily enough, it looks like the missing files are actually a problem on our (Cloudflare's) end. We're looking into it. But a re-deploy should fix it for now, I think.
(It just updated for me, looks much better. But the old version might still be cached in some locations.)
The root cause was actually something we fixed last month, but it seems problems can stick around if the site was originally deployed before that fix... we're working on that.
The problem is that your site generator produces different file names for each version, but doesn't preserve the old files. So when you upload a new version, then the old version of the assets become 404, unless they happened to be cached. But it's possible the HTML is cached and the CSS not cached, in which case people will get the old HTML which refers to a CSS file that is now 404.
This is a classic problem and we need to find a better way to solve it. In principle, though, you could manually avoid it by preserving older versions of the CSS such that they continue to be served under new versions of the site.
Alternatively, if you change the config on your domain so that it doesn't cache at all (or at least turn off the "cache everything" option), and instead rely on Cloudflare Pages itself to manage caching, that also should mostly* avoid the problem. Pages does do its own caching, so adding a second layer of caching on top of that shouldn't be necessary.
* There's still a problem if someone is unlucky enough to load the site exactly when it's being updated, but at least a refresh fixes that. We need a better answer, though...
I have to admit it was quite a plot twist, but this is why I love HN: we're both users and developers at the same time!
I thought the author was incredibly fair/objective, and at least the way I read it, it wasn't so much that he had such a miserable experience or could only stomach 10 months of pain/abuse (in fact if you actually read to the end, he praises his manager, his teammates, etc.), and more so that it only took him 10 months to realize that the company culture and way-of-working was not aligned with his personal preferences. He does have legitimate complaints about parts of his experience, and makes some keen observations about the consequences and tradeoffs of Amazon choosing to adopt the culture that it does (though I also think he's wrong about a few things too), but overall it's less of a "Amazon == bad" piece and more of a "this is why it wasn't to my taste" reflection.
Frankly, I would congratulate the author, and think of this as a success-story. Paraphrasing his own words, he learned a lot, met some good people, found some good practices that he's going to carry forward with him... isn't that a successful outcome (minus the annoyance of another round of job hunting, but hey in this market, another job hop is probably just an opportunity to level up comp, rather than an existential threat that you might be unemployed and starve)? Obviously the team/org he was in is suffering major attribution problems, and that's obviously a bad thing, but that's not his problem either.
Note: in case it wasn't clear, I do work within Amazon, but these opinions are my own, not representing my employer, blah blah
Are you absolutely sure that there are no legitimate problems with Amazon, or that maybe we're a little itchy with Amazon for a reason?
Question about this specifically. Was it ever revealed if that order was to get people indoors to a reinforced building that happened to collapse? I remember SMS screenshots of a delivery driver who was killed, and to have sent him on the road would have been a death sentence.
Isn't the only difference between the Amazon-bashing and OP's take just a matter of delivery, tact and perspective? I personally prefer a communication style that doesn't involve bashing, and I would probably choose to write a post much like the OP, but I think it's also very charitable to Amazon, almost to a fault.
For example, section 3: "Everything is Urgent (but takes forever)" resonates with me deeply, because many of the issues described are similar to the issues I face at a different platform company. These issues weren't always present (I've been here long enough to see the growing pains evolve), and my conclusion isn't "this just isn't the right place for me", but rather "the company is trying to continue operating in a manner that only works in small orgs, and must make deep fundamental changes going forward". Now, to be fair, if that change doesn't happen, then it does become a place that "isn't for me".
But "This isn't for me" implies it's a matter of personal preference, and perfectly fine for some folks, but some of these issues are deep, fundamental problems that must be solved and likely require changes in the org or every person who takes that role going forward will reach the same conclusion (or someone who's too desperate to care will just deal with it). That doesn't make the underlying problem go away.
Realizing that a place isn't for you and thinking about it that way is arguably healthier than getting angry about it and staying in that environment. But the reason that place isn't for you might still stem from organizational issues that make Amazon (or any company with similar problems) arguably "not the right place" for just about anyone.
As for whether this indicates deep flaws that it might not be the right place for just about anyone... well I think there is the existence proof that Amazon employs 10k's/100k's of people, and while it may have higher attrition than peers (does it? I don't actually know, but I'm willing to take that on faith), still at least a sizeable majority is relatively satisfied with their careers here (based on internal tech survey results). So, "not right for anyone" is definitely an over-exaggeration.
Not right for you, if you are the type of person who shares personality traits and career goals/preferences as the author? Sure, quite possibly.
In terms of OP's public persona, absolutely. And as I said, he writes the kind of post I'd probably write in that situation.
I was referring to how the HN community often discusses Amazon, which generally happens anonymously. In this setting, someone ranting and raving about issues at Amazon and someone politely spelling out those issues at Amazon don't result in very different outcomes (I say this while appreciating a well reasoned response over a fiery/impassioned response).
Employing 10k's/100k's of people does not imply that problems don't exist, or should not be addressed. The restaurant industry employees millions, and yet it's fairly well known that the industry is rife with problems, and the Anti Work movement is a manifestation of that. I don't think it's useful to conclude "well, only work in a restaurant if you are compatible with those conditions". The industry needs to change.
> Not right for you, if you are the type of person who shares personality traits and career goals/preferences as the author? Sure, quite possibly.
Many of the problems the author describes are not a matter of personal preference. They are an indication of organizational dysfunction.
Are some people better suited to work in a dysfunctional org? Sure. Does that mean the org should focus on hiring compatible people over fixing that dysfunction? That's certainly one possible approach. An approach that leads to a continuation of those problems, exacerbating them until only people who fit those "preferences" can possibly succeed.
I'm personally predisposed to stay in bad situations and deal with shitty leadership/environments thanks to years of conditioning via a very traumatic childhood. It's what I know, and so I can do it well. My ability to operate in such conditions doesn't mean the conditions are acceptable.
Some of the things the author observes, like having 56 different frameworks that roughly do the same thing, or so many business processes running in Excel, are really not about dysfunction, and are actually "by design", but in a nuanced way.
Amazon has a strong thesis about how organizations should function and how they should execute work / produce useful outputs, and part of that thesis is, to be incredibly and nigh-unbelievably averse to coordination costs. You can also think of this as, a consequence of the frugality mindset leading to an aversion against premature optimization. Yes, it is wasteful to some degree to have 56 different frameworks, but OTOH, the ROI of spending the effort to consolidate them, simply isn't there to justify fixing it... if it takes a team of 2-3 engineers 6 months to consolidate it, well guess what, in the same time, that same team of engineers could launch a $10M-$100M business opportunity (seriously). And trying to put a single central team in charge of maintaining a universal framework that can support all current and future needs forever, simply never works out (eliminating gatekeepers is a common refrain, in service of moving faster). Compared against the ROI of actually delivering value to customers, who cares about some extra frameworks?
Or put it another way: Amazon does not optimize for waste elimination, or "cleanliness" of organization, or unity of purpose; Amazon optimizes for deploying capital (in the form of launching software/services/products) as quickly as possible across as many opportunities as possible, and then rapidly evaluating and doubling down on winners. Is there waste? Absolutely (I mean, what VC has a 100% hit rate?)! Does it seem dysfunctional? Probably. Is this way of working effective (meaning, does it actually function at achieving the goals of the organization)? I think the growth of Amazon in the past 20+ years speaks for itself.
Does this way of working put people/employees first, or optimize for their happiness/well-being? No, not particularly, but neither do many industries (investment banks, public school teachers, or as you point out, the restaurant industry.). Should that be fixed or at least improved? Well, I'd like to think that's why I'm here, and also why post-retirement Bezos has pivoted to working on making Amazon "Earth's best employer" [1] (which is a significant shift from the original focus of being, "Earth's most customer centric company"). I realize those sound like platitudes, but it actually is a meaningful statement, showing a reallocation of energy/focus between customers vs employees.
[1] https://www.cbsnews.com/news/jeff-bezos-amazon-employee-care...
---
EDIT: One further thing I wanted to clarify: if I am arguing in favor of anything, it is that Amazon as a whole organism, is far from dysfunctional at the macro level. But if you zoom in to individual pockets, individual orgs or teams, then yes absolutely there are many, many bad leaders, bad managers, poorly planned roadmaps, over-burdened/over-allocated engineers, terrible on-call cycles, etc., like what the author of this post observed. You are always taking a risk when joining Amazon, that you might end up in one of these bad situations. How high is that risk? Without trying to be overly precise, I would venture that it's closer to 80% good and 20% bad, then vice versa (but you don't have to believe me).
Another curious thing I've learned to appreciate in my team here, is that there is practically no other company in the world, where you would get the opportunity to learn how to operate a culture like this, at this scale, with this level of effectiveness (imperfect though it may be). How valuable or translatable is that experience though, I'm not sure... it's not like I can feasibly take my knowledge, and start up an Amazon-killer, or really get the opportunity to exercise my knowledge of how to design a company culture like-this-but-better, at this type of scale. But it sure is fascinating to watch it tick, from the inside.
I'm not questioning whether or not Amazon is successful. That is clear. My own employer is also doing extremely well in the market. The internal "dysfunction" remains. To your point, if you define success by output, and ignore the human cost, many companies/industries are "successful".
Maybe a word other than "dysfunction" is needed here, but my goal is to try to distinguish between "this business is successful" and "working there is a nightmare for xyz reasons".
When cost is measured purely in terms of dollars, it's easier to evaluate the appropriateness of that cost.
When cost is measured in people, it's a bit harder to evaluate what's acceptable/what's not.
The Restaurant/Education job markets are fundamentally broken, but also very necessary, and by some measures, successful. But we can examine success/output separately from the underlying issues that are rampant.
Nobody is dumb enough to write a blog post trashing Amazon under their own name. He wants to be able to get another job.
I agree that it definitely doesn't read like a straight tale of horror and abuse. But I don't see how can you sum it up it by saying "he found some good practices" when he takes care to point out, for example:
Everything is Urgent (but takes forever)
Sounds like a grind, day-in, day-out, with lots of made up stress.
Unfortunately, the majority of my time is spent doing “program” style work which leaves about 10% of my time for technical work. Ultimately this is not what I want to be doing with my career.
So the work sucked basically. And definitely wasn't what he was expecting.
One of the projects I was assigned to had an engineer who had never done web development (didn’t know HTTP, HTML, CSS or Javascript) was tasked with doing the front end system design for a React application (and the API that would power the UI).
Standard sweatshop practices, sounds like.
Oh and did we mention on-call? About which he says:
To be blunt: it sucks.
Which (among other reasons) is why he quit after 10 months. Which is definitely not a step to be taken lightly, because (aside from losing on the compensation) it basically amounts to a resume stain.
Now of course he said positive things as well, and it wasn't a simple condemnation of Amazon, by any stretch. But still -- it strikes me as rather strange that you are somehow able sum it up as "he had good things happen to him there" and it was a "succesful outcome".
To my ears, his experience there read like a very mixed bag.
My paraphrase of his report would be: "You learn a lot there, but it's a grind that will suck you dry before you know it."
Your paraphrase isn't wrong either, but I would suggest a modification to it: "it will suck you dry, if either (1) you don't fit in with the company culture, or (2) you are placed in a bad situation on a team with poor leadership and high attrition".
Perhaps shockingly, not every team at Amazon is constantly quitting (e.g. my direct team in the last two years has had 1 person voluntarily leave for a better opportunity - and we wished them well, and 0 attrition otherwise), and also some people actually appreciate and gravitate towards some things like, what the author calls "team are fragile" culture (because it is in fact a kind of durability/resiliency that there is less reliance on special rockstars, irreplaceable dependencies, and that teams can be fluid but the product mostly works/lives-on).
* New manager who was a nice guy but didn't help me or other folks onboard
* A skip-level (who I expected would be my direct) manager who was about as hands-off as could be and seemed interested in building his own empire.
* SDE3 who was nominally my mentor but was less than useless. I asked him to whiteboard our services, and he said he "didn't know" what we owned. I asked him for help configuring a monitor for a service, and he said he couldn't figure it out while literally backing away from my desk slowly.
* A culture within our team in which no one was willing or able to help others out. It was very much every man for himself.
I GTFO of there and have been happy across the lake since. Paying back my signing bonus was well worth the significant reduction in stress and quality of life.
As they say - the problem with incentives is that they work.
The larger meta game of civilization obviously rewards this kind of subsystem, so again...
Don't hate the player (Amazon's toxic corporate culture), hate the game (the civilization that rewards them with dominance).
Like we say "well that's the incentive" like that makes it ok?
One thing I don't see mentioned enough is the forced PIP policy.
Basically every manager is forced to stack-rank their entire team, and the bottom N percent is put on a PIP. So even if your entire team is comprised of very top-notch engineers you will see forced attrition. It also disincentivizes helping team-members in deep ways and incentivizes back-stabbing politics.
Of course every org/VP has some latitude, but this is a common principle adopted by many VPs to appease the "bar raiser" standards as well as giving enough motivation to axe employees with considerable equity despite how good they may be on an absolute scale.
This was the policy at a number of orgs when I was there 5 years ago, and I have heard similar stories as recently as 2019 pre-covid.
I've heard this leads to a "hire to fire" strategy: managers hire some schmuck that's not expected to succeed in order to protect the rest of the team from the policy.
Which is another reason I'd never touch Amazon with a ten-foot pole: it's not worth the risk of getting used and abused like that (on top of all the other issues).
I agree, but the managers are gaming the system so there's no way they could be transparent about it. As a new hire, it would be a huge punch in the gut to be setup for failure like this and not be in on it from the start.
That sounds like a huge disincentive to mentoring and developing your team.
I've heard there are huge communication issues within teams, thanks to policies like this. You have to look out for yourself first and foremost, otherwise you are up next for the stack ranking. Better to sabotage your team mate's onboarding than risk being next in line for the firing squad.
It's actually worse, because it's actually a "unregretted attrition" (URA) quota - which Amazon HR has spent decades developing into a sinister fear-based culture. They have a secret "FOCUS list" (used to be called devlist) which managers don't even tell their directs they are on. A secret list which if employees leave while they are on it (and remember, they don't even know they are on it), they are marked as URA and cannot be re-hired. HR directs managers explicitly not to tell employees they are on this list. Many employees only find out once they try to switch teams and are blocked due to being on these secret lists.
It fosters a culture of fear, uncertainty, and doubt - combine that with overly political managers fighting for their own lives, and Amazon can be a brutal place to work. The best teams are those that shield you from all these politics, but when push comes to shove managers are forced to make these URA decisions constantly.
Bezos believed his employees were inherently lazy and needed these types of mechanisms to scare them into doing their best work. Now that Amazon is the size it is, you can find crazy and absurd anecdotes of these policies being twisted into some truly bizarre Kafkaesque situations - like managers hiring individuals solely to fill the URA quota, and team members sabotaging onboarding on new members to try to avoid the firing squads themselves.
I have a joke for you, goes something like this: "Big rich guy goes to Mexico for vacation. There he meets Julio, a simple worker who after work is drinking in the bar with his friends and enjoys a simple life. Rich guy asks why Julio doesn't work longer & harder to make more money.
Why?
So when you grow older to have time, like me, to enjoy life and party with friends.
I can party with my friends right now and enjoy life just as well"
A story I don't really tell people is about my 3 days working at an Amazon warehouse.
The short version is, I'm a self-taught dev who didn't realize he was good enough to be a full time dev (spoiler as an L6 making >500k TC, I was!)
So I applied to a few labor jobs: Amazon Warehouse, pushing carts at WalMart, etc.
And a few dev jobs: Nothing fancy, a few local dev shops looking for a mobile dev.
-
I get a job with a local dev shop, but I'm still not sure I can actually make it there. So I still take my Amazon Warehouse job thinking I can work both somehow... I fell asleep at my computer on my first day at the office, which is why I only worked at that warehouse for 3 days.
But those 3 days are permanently etched in my mind. BDL5, I still recognize it looking at random Amazon deliveries when I visit my parents.
I'm not sure what it is about that place that makes me slightly sick to even recall, I think it's a mixture of:
- The awful lighting. That place was lit in this sickly blue light that made you feel sleepy and wide awake at the same time, and stuck with you after you went outside
- The noise: BDL5 is a sort center. It's tiny compared to a normal fulfillment center. And it was still constantly noisy. Something like 3 acres of open warehouse, miles of conveyer belts, constant truck loading and unloading.
- The nature of the work: I think part of what makes me sick thinking about it is how depressingly menial the work was. Again, I was only there 3 days, but it's a nightmare to imagine standing on your feet for hours wrestling with comically large shrink wrap rolls for a living. Or packing useless crap into a truck for hours on end. I don't believe humans were meant for that kind of repetition. This was when BDL5 first opened and you could see how uneasy people seemed to get as the weight of the work landed on them.
-
Amazon is such a depressing company. I mean I know all of this and of course, and I still use Amazon, it's just that ubiquitous and all-encompassing (although not as much lately)
It's just reached this point where something needs to give. I'm ok with not being able to place orders at 4 AM and getting them before 8PM. We'll live if 2 day shipping becomes 3 and that allows some shorter shifts for the same pay.
But yeah, devs have it easy compared to all that.
Having a team where everyone is excelling is a GOOD thing in most orgs, right?
If all the VPs are cheerful, happy, nice guys, then someone will emerge from the lower ranks to overthrow the weakest member. From there, the bloodbath begins.
This program is obviously not applied uniformly. It's purpose is to be bent to eliminate divisions that lose internal political battles.
I get that some are more impactful than others. But that's just a matter of so many parameters. IME someone producing less output has always been due to some shitty process/documentation/systems. I'd rather fix the underlying problem. But no, like some law set in stone, they have to be ranked and the bottom 10% must be yanked.
/rant
Every single team I've managed, I've given the lowest performers a huge benefit of the doubt, and a long timeline for improvement. In some cases, it wound up being a PIP->firing. But more often than not, I wind up trying one thing after another with the lowest performers, because I so much want to believe in them. They're always nice people, but they don't deliver. They say "I'm working on X... I'm still working on X... Will have something ready in 2 weeks... I hit a blocker, it'll be another 2 weeks." And I try to help them, unblock them, mentor them, reassign them to some other task that might be better suited. But the harsh reality is that many many people are just not good developers, no matter how much you both want them to be.
So on every team I've ever managed, if I'd been forced to put the lowest performer on a PIP, it would have been good for the whole team. And I think I'm probably not alone in this.
(Of course, this applies only to a limit. At some point, you've eliminated the actual low-performers, and shouldn't ever manufacture a PIP just to meet a numbrs threshold.)
In fact, for a couple of quarters, I was asked to name the lowest performer on my team, and then that person got ranked as one of the lowest performers across my manager's org, and it put me in a shitty situation as a manager because the engineer wasn't actually at PIP stage yet (and we didn't ever go to PIP) but it basically soiled their chance of being promoted for however long the other managers will remember seeing that name on the "low performer" list.
There are only two instances when you're happy at Amazon - when you start and when you quit. Doing the latter was the best decision I made, perhaps, in my entire career. I can honestly tell that those RSUs and bonuses weren't worth it.
Avoid at all costs. You've been warned.
Most importantly, Amazon's culture is toxic. Poor leadership (shouting and swearing during meetings) leading to bad hires. It's a cut-throat working environment with high staff rotation. I struggled to cope with the fact how people were treated (planned attrition and PIPs). I was working under 5 different managers during this time, being bullied by the last one. HR did nothing, so I voted with my feet. When this occurred, I was close to reaching a 2yr tenure, so it was easy money for me on the table.
- RSUs vesting schedule sucks, fix it.(5% - first year, 15% - second , then 5% each quarter, i think...)
- Internal tooling is pretty bad (frameworks, pipelines, ....) and the documentation is non-existent, and when it exists , is not very helpful.
- Amazon has the least amount of holidays of all FAANG, why?
- Make it easier to switch teams
probably too focused on frugality to consider retention
I think there's some Bezos quote about people being lazy and it being easier to extract labor from fresh hires trying to prove themselves.
https://www.businessinsider.com/amazon-polices-based-jeff-be...
As in they consider retention unimportant, and something to not prioritize?
Because it sure seems that way.
I am contacted by an Amazon recruiter at least once a week. I’m sure every engineer I know is. I wonder how much of their money they blow on recruiting and how much engineering time is spent in interviews replacing all the burned out engineers. Plus all the talent that won’t even entertain a job at Amazon.
Also got a staff software engineer from Facebook who added me on there, and had in their title "hiring". lol.
https://www.essence.com/news/amazon-burning-through-workers/
It seems like they're more than willing to hire imports. I get more recruiter spam from them than anyone else, and I don't live anywhere near any of their major offices.
They don’t want to fix that. I’m sure they save a ton of money by backloading vesting like that. With their turnover rate, they probably pay out a pretty small portion of their awarded grants.
As I understand it (having never worked there), they are also stingy with granting new stock, and consider unvested grants in determining what to award each year. e.g. “You had an amazing year, but you’re sitting on a bunch of stock already, so take this tiny new grant and fuck off.” I’ve heard this from multiple former employees so have no particular reason to doubt it.
That's true, but it can go the other way too. One person I know got a needs improvement rating and no stock at all, but turned around and did rockstar work the next year. Because AMZN happened to have crashed about 50% in that time, getting the person back to target total compensation for the exceeds rating required granting considerably more RSUs than they would have received had they also gotten an exceeds in the prior year.
I find the attitude in a company starts from the top - so I'd Blame Bezos for the culture that does this, look at how they treat their non software dev workers.
This is done on purpose because a vast majority of employees leave Amazon within 18 months or so. And those who can withstand that environment for 24 months and beyond develop thick enough skin and make enough internal connections to survive till 5+ years.
(bit of a tangent)
> in case HR is reading this
HR's primary (perhaps only) job is to protect the upper management (execs and above) from the nuisance caused by workers down below. It took me a while to sink in but when it did it brought in lot of clarity to the way I deal with HR.
IMO this could be generalised to a reasonable degree. For instance, police force's primary job is to protect the government from the internal threat which is the population at large. Catching thieves happens to be a small by-product of it.
Employees' allegiance is, first and foremost, to their pay master.
So it’s a double fuck you, bc it gets paid out as quickly as salary but is in permanent to your TC as a bonus lol
If they cared, they would have done something about this long ago.
It's actually much easier to switch teams at Amazon than most of tech.
The hiring manager might connect you with an engineer on their team to see if you’re a fit, but it’s not an actual interview loop. You’re certainly not coding.
Source: Been at Amazon for a many, many years across retail and AWS teams. This was never true, and if you saw this really happen, it’s a 1% minority.
Surprised to read this. The tooling is what I miss most from Amazon, but I was in AWS the whole time, I've heard the retail situation is quite different.
This is a crucial part of PIP culture. It took me awhile too realize how common a pattern it is for companies to offer promising RSUs as part of total comp and then drive employees out after 10 months.
That vesting schedule is just some slight of hand so that you think Amazon is paying you XX% more than they have ever planned on. In reality you're getting paid likely less than you would sticking at a smaller, saner company. If you knew that upfront you'd never join.
To be clear, not all companies that offer RSUs are like this (of course most of them have better vesting), but this is a pattern I've seen a bit too often.
It's 5%, 15%, 40%, 40%.
In lieu of RSU's in Year 1, you get a big signing bonus. Year 2, not quite as big signing bonus (hence the +10% RSU). Year 3 and 4, nothing but RSU.
It adds up to the same amount every year assuming no stock growth.
Are you saying you just want double your salary for year 1 and 2 and are planning to quit before year 3 when it drops to nil? Yeah, who wouldn't?
I wouldn't want to be a shareholder of any company dumb enough to offer this.
You’re asked to move fast but constantly delayed by every team or system you have to interact with. Duct tape abounds and that duct tape is usually “go file a ticket and wait 3 days”. This made scoping your project really difficult. Add 2 weeks of back and forth for each team you had to talk with.
On a more positive note, the reason I stayed was because of my incredible manager and team. My manager was of the best people I’ve ever worked with
This is put succinctly.
Seeing Amazon from within was an absolute shock. It is hard to be hyperbolic about the company's technical achievements: Prime, AWS, 2-hour Delivery, Alexa, Prime Video, Amazon Go ... absolutely incredible, world-changing stuff.
But the experience of working there felt like the place was on fire. People transferring teams in droves, joining in droves from outside, entire teams doing duplicate or triplicate work, managers of managers of managers of managers. And yet the speed at which they launch successful products at global scale is unrivaled.
I'm glad I got to be a part of it but there's almost nothing that could entice me to go back.
Alexa is a spy machine that makes already easy tasks marginally easier, and every so often tells a child exactly how to electrocute themselves.
Prime Video is a 2nd or even 3rd rate video service in my experience.
And having moved to Seattle recently, I tried out Amazon Go a couple times and it just sucks? The selection is super tiny and honestly, I just prefer a self checkout with tap payments. I found myself constantly worrying if their camera system would correctly ring me up.
> Alexa is a spy machine that makes already easy tasks marginally easier
For the average person who isn't super-bothered about privacy, the voice-activated functionality is genuinely novel and delightful.
> Prime Video is a 2nd or even 3rd rate video service in my experience
"2nd best to Netflix" is no slouch at all.
> I tried out Amazon Go a couple times and it just sucks? The selection is super tiny and honestly, I just prefer a self checkout with tap payments. I found myself constantly worrying if their camera system would correctly ring me up.
So - an intentionally-small-selection store has a small selection, your personal preferences don't line up with the (you must admit, extremely friction-free) checkout system, and you worried about a bug that (from the fact that you phrased it that way) didn't actually happen? Sounds like it's working extremely well for how it's designed!
(Disclaimer - I'm an Amazon employee, though I don't work on any of the discussed products, and frankly am pretty critical of them all both internally and externally too. But to claim that they're not successes _at the criteria that they are aiming for_ is mistaken)
Additional paid channel packages, commercials in the middle of paid programming, advertisements at the beginning of non-paid programming, new seasons being released in a weekly pattern instead of all at once.
As for Go, I have never seen a corner shop, either in the US or in Europe, with such a tiny density of goods. It is designed to look like a Safeway or a Kroger but then is "intentionally" a small store. It's fine if this is still in the trial stage but that is what it felt like, instead of feeling like an actual shopping experience I would use day to day. Also, there was no one else in the store at all, during each of the 3 times I went, so I am still going to wonder what the success rate will be when tracking lots of people constantly picking up and putting down items.
And sorry for the confusion, I'm not saying they aren't successes. I'm just saying that they are not world wide game changers like Prime and AWS as the original poster said.
Right, yep, I absolutely whole-heartedly 100% agree - hence why I am critical of this technology at every reasonable juncture. I was presenting this as a counter-argument to the argument I mistakenly thought you were making (that voice control is not a successful product because it involves privacy-invasion), not as a justification of the technology itself.
> And sorry for the confusion, I'm not saying they aren't successes. I'm just saying that they are not world wide game changers like Prime and AWS as the original poster said.
Ah, fair. I'll gladly agree to that! Alexa is not meaningfully distinguished from Google Home or Siri, so it can't really be said to be a game-changer; ditto for Prime Video and Netflix/D+, etc; and I do agree with you that Prime Go is, at best, a marginal progression on the current state of affairs (I do think that "not needing to employ checkout people" is probably massively impactful from a business-process perspective, but from a customers' perspective, not really much different from a self-checkout)
Thank you for a respectful and illuminating exchange - this is why HN remains the only social site that I feel good about using :D
I’ve literally never had that happen in my life. Most companies just immediately ghost me if I turn down an offer. This isn’t covert bragging about being some kind of superstar either, it just felt like they were desperate. I know all the horror stories about people getting PIPs, it kinda started feeling like some kind of trap lol
That's what it sounds like. I had a guy from my past (somebody I had worked for years ago, but didn't know that well) call me up out of the blue once, basically begging me to come work for him. I was flattered, and looking forward to (finally) being treated like a human being instead of a replaceable cog for once in my programming career, so I took the job. Good lord, what a mistake. The reason he was begging was because he was a totally abusive asshole and couldn't keep anybody for any amount of money. You would think that watching people come and go would make these people re-evaluate their approach, but in their minds, it's always the "peons" that are wrong.
Is it anything good of working at AWS?
I haven't worked at Amazon in 6 years, but when I was last there, these tools were leaps-and-bounds above publicly-available equivalents:
* Pipelines (CI/CD tool. Still better than all alternatives IMO, including the AWS offering for some reason)
* Igraph (Amazingly good, wipes the floor with Grafana which I have used since)
* TT (ticket tracker)
* SIM? the new issue-management system they added to replace Jira. Soooo much better than Jira. But it was pretty new when I left so I don't know what it has become.
Although I _hate_ Jira so maybe I'm biased also.
+1 on Pipelines being amazing. A lot of people tell me Jira is better than SIM - haven't had a chance to use the former.
And we already know that Amazon exploits and over-exerts their employees in other divisions, like warehouse.
At what point do we say enough is enough? Amazon warehouse employees are already pushing for better working conditions through Unions. When will we finally realize that Amazon is equally over-working everyone and join that solidarity effort so that everyone's working environment becomes better? Quitting doesn't change anything, we can see they just rehire and perpetuate bad culture. Even the author of the article says just that; he was hired to replace someone.
If nothing changes, your friends and colleagues (and your future children if they do engineering) will all still suffer at the hands of Amazon. And believe me, their work culture will bleed out to other companies. I've seen it.
> By that logic won't the company just destroy itself from the inside out eventually?
Yes, but it usually takes an unacceptably long time for something like that to happen, and in the mean time a lot of people get hurt. As they say "in the long run, we're all dead": it doesn't do us much good if letting the problems work themselves out means we'll never live to see the solution.
????? it's super possible to simply not work there
- Internal tooling was poor and most teams DIY. Any centrally managed thing was horrible and either home-grown and poorly documented or some VP picked it and poorly documented
- The companies needs superseded your career goals to the point that very specific trainings were basically forced even if it had nothing to do with what you do (six sigma)
- To get anything done required 3-5 other teams to do anything and took forever. Turn around time to get a server spun up was ~6-8 weeks.
One thing that was different was attrition. This was before remote working and when the nobody in town was hiring you really were stuck.
I like working in smaller organizations where you can have an impact. I only think one of the FAANG would be worthy of me putting up with working in a large bureaucracy again - the other A - and only because I haven't heard horror stories - if you have them, share them.
Not even the horror stories leak ...
My own experiences, the horror stories I've read, the broken/horrible interview trivia loops, the nonstop crunches, the nonstop on-call escalations, the difficult ethical positions that come with working at some companies, etc. have me feeling worse than ever about this profession.
It didn't use to be like this. There was a time not long ago when individual personality and skills mattered. Workloads could be negotiated, interviews were conversational.
But now it seems that a few companies have eliminated all that wasteful "toil" of interacting with human beings by instead treating them like machines, and thousands of other companies follow suit almost blindly.
I'd love to see a job aggregator for anti-FAANGs. Does such a thing exist?
If it is the norm I blame it on the over supply of software engineers. The salaries stay high but the churn is now higher because with that high of a salary they will burn through as many engineers as possible to get the perfect person.
If you don't like this idea, get of my lawn. ;)
> broken/horrible interview trivia loops, the nonstop crunches, the nonstop on-call escalations, the difficult ethical positions that come with working at some companies, etc. have me feeling worse than ever about this profession.
> a few companies have eliminated all that wasteful "toil" of interacting with human beings by instead treating them like machines...
I agree that these things are happening, but this is not happening everywhere. In particular, Microsoft is not true for any of the above over the last 5+ years since Satya came onboard. In my experience, every one of the above is not true at Microsoft, with one notable exception: the interview loop is indeed hard. But other than that, it's a much better situation at Microsoft. There are no difficult ethical positions (ethics and trust are first class core values there). Individuals matter, and allowances are made for different people's strengths and weaknesses. Workloads and deadlines can indeed be negotiated. It's far more "human" there than other places like Amazon, Facebook, Uber, and other places.
You joined a good org and that's awesome, but I believe you can just as easily join a bad one at Microsoft or a good one at Amazon.
Er, when? Old Microsoft was infamous for the ping pong ball interview questions and stack rankings. Is this not just a result of companies in the tech market being successful and turning from plucky underdog to bureaucratic behemoth?
My recruiter strategy has just been to reply with a direct "Hi <name>, No thank you." that doesn't leave room for foot-in-the-door.
I’ve done quite a few interviews for Amazon and the debrief was never ‘this person has strong opinions, not inclined’. If you’re not interested in getting the data to prove or disprove your opinions then that will count against you.
i took a job at AWS myself, and left after 8 months. partly it was pull factor to a more exciting offer, but i wont deny some push factors. Amazon hires generally very smart people, but the bureaucracy and legacy is just stifling for someone used to a faster pace in tech. After a while I identified the 4 things I felt that we had to ship in order to be a competitive product, and having determined that we'd take years to do it, left in good conscience hoping that whoever stayed would carry on the good fight. I didn't know it but my manager would leave 2 months after I did, lol.
good times, decent pay but it is clearly no longer Day 1 in many parts of AWS. If I were Adam Selipsky this would be job #1 IMO. AWS can only coast on past reputation so long.
After only two months at my current role, I was ready to leave. Was catfished into a role which was not what I interviewed for. Management agrees that I am getting short-changed, but is unwilling to let me change organizations. Sadly, I continue to stay here, after over a year, due to the COVID closures affecting my plans.
You embellish your CV as an individual and you overdo it = possible catastrophe.
Companies constantly embellishing job postings = just a regular Tuesday.
I'm having a really hard time remembering a job where the job descriptions really matched the day to day activities, and I've worked for ~10 companies, big and small, from Asia, Europe, America.
Why does Amazon do this? I've bailed out 3 times on interviews with them now because somehow the role they sold me on end up being completely different by the time you talk to the team members doing the actual job. It's a huge time waster for everyone involved.
It was for an awesome team and org, really up and coming.
I get the congrats message that I’ll be getting an offer. Then find out it’s only for SEA. This is after the recruiter insisted it would be SFO because I didn’t want to relocate for various reasons.
Ah so that’s why they flew me to Seattle.. lol.
Ended up being passed around a few orgs recruiters and took a role in sfo that I finally left after 20 months. Sigh.
From the business's point of view, they were trying to plug an urgent hole, from my career's point of view, I wanted to work on mobile Android apps. I moved back to an Android team in a month, which required VP-level approval.
But hey, you bet he knows topological sort and dynamic programming.
Really telling of an organization that your personal skills don't matter when they just need bodies.
Everyone I know says it is worth working there, but mostly as a grab and go for the resume.
I worked for a Japanese company, and they used Excel for everything. GANTT Charts were done in Excel (not Project), documentation was written in Excel (not Word), etc.
They had these monster 3,000-row excel punchlists for QC. If even one test failed, the whole shooting match was scrapped.
Slideshows were done in Excel (not PP).
Such bullshit.
> Strive to be Earth's Best Employer
> Leaders work every day to create a safer, more productive, higher performing, more diverse, and more just work environment. They lead with empathy, have fun at work, and make it easy for others to have fun. Leaders ask themselves: Are my fellow employees growing? Are they empowered? Are they ready for what's next? Leaders have a vision for and commitment to their employees' personal success, whether that be at Amazon or elsewhere.
"Lead with empathy", by creating conditions in which workers feel they have to urinate in bottles [1].
[1] https://www.vice.com/en/article/k7amyn/amazon-denies-workers...
Onboarding was interesting at the general company level, but basically non existent at a team level. I gave it about three months trying to get to grips with the manual tasks underlying their Virtual IP assignment process (was on their networking team). Couldn't make head nor tail of it, had constant problems with the VM running on my laptop and basically started looking around for another job.
However, this little FAANG checkbox I now have ticked has opened lots of doors for me since then. I've seen most of my old team at a few tech events in the interim, and taking to them it seems like I got out in time. The team was "traded" to another senior director, and things got very bad, with loads of folks quitting.
My last day included an exit interview, which kind of stuck with me ever since. Talking to the HR rep, I said that the role probably wasn't a good fit for me, but maybe sometime in the future I'd wind up back at Amazon. You know, one of those throwaway comments you might say to be polite. The HR rep responded with "Well, you never know, maybe" while unconsciously shaking his head at the same time :)
That’s because they have no consistency in their hiring bar. I know multiple people who were contacted immediately by Amazon recruiters after failing an interview loop. “Hey, that other team says you suck but I bet you’re perfect for our team.” When you know other teams are happy to take your reject candidates, you can’t trust internal candidates any more than external ones.
In fairness, Microsoft has a bit of this. The further across the company you want to move, the more likely you’ll need to interview. But it seems within Amazon that there is no attempt at consistency.
That happened to me too but I chalked it up to incompetence. They told me at the beginning of the process that I'd have to wait a year to re-apply if I wasn't successful the first go around.
Enterprise work summed up in one sentence. Impressive. While I agree with Andreessen’s “software is eating the world,” it might be more apt to say “Excel is eating the world.”
https://www.irs.gov/publications/p525#en_US_2020_publink1000...
That being said, if it works, it works.
If it doesn't work, make a case for why and develop a _holistic_ understanding of the costs and benefits of changing the current process. Maybe you can change it, or maybe you learn why it doesn't change.
If it works, but it offends your sensibilities, perhaps this is an opportunity for self-growth.
Version - date changed - who edited.
Add in the universal flexibility (both function and who can use it).
You can hand an excel file off to admin temp staff all the way to the top 3 folks in the org in one file and they can all interact with it successfully in most cases.
This makes this very powerful.
I don't work with spreadsheets much but I completely understand why they're loved so much. They're data, code, presentation, versioning, etc. all in one file that has _very_ good support.
Excel is for the people who want to actually get stuff done and find all tooling a distraction from what actually adds value to the company.
Same with google. Paid plans you can make sure a copy of all sent messages is kept, set retention rules etc. So if folks use email for all their approval / business flows that can be helpful (ie, some orgs CEO might send an email say I approve - go ahead and sign it on big deals rather than shuffling paper or doing a proper e-signature. If so, you might want to keep an archive org level of your email flows
I get what you mean but...
The email thing happens because that's how people who use Excel handle versioning. They'll end up with nested folders of emailed spreadsheets they can refer to or import into their personal approach. This works well for them, especially since they might work offline frequently.
So you mean Excel 365, not desktop Excel?
I've had to learn this lesson. We have an internal microservice whose name is obsolete and no longer makes any sense whatsoever. Everyone is confused by the name until the original reasoning is explained, and they come to understand the original purpose of the service, now long since changed. It drives me up the wall.
I have time and time again made a case for renaming it to accurately represent its modern purpose, which would take an engineer about a week of work - there's a lot of code and config that has to be switched over.
The person running my division has shut me down on this over and over. It goes like this:
Manager: Why do you feel this is a priority?
Me: It confuses people and makes the code less self-explanatory.
Manager: How much time is this costing engineers?
Me: Well, about a minute every time I have to explain it to someone once a week.
Manager: And it would take a week to update? This doesn't seem like a good trade.
Me, mentally spluttering: But the name makes no sense!! It's the wrong name!! It's completely unrelated and has no meaning!
Manager: Do you think you can work with it anyway?
Me: sadly sighs.
I think the manager is right, as much as it offends my sensibilities.
I once named a function
findGreatestCommonDenominatorGCDOfFraction(numerator: int, denominator: int) -> int
and one programmer wanted me to rename it into GCD(x, y) because it was more elegant. While GCD feels more elegant it's actually less clear and less practical. The length and verbosity of the function name above typically has a zero cost because of auto complete and other features you should be using in your editor.Even so, the majority of programmers will have a tendency to react to this as emotionally wrong. Then they attempt to rationalize this explanation with some form of reasoning. Try to catch this in yourself as it could be happening Right now as you read this.
You feel it's wrong but not from the composition of logical explanations. The feeling of wrongness forms first than you try to search for facts to rationalize your feeling.
Let me be clear. There is nothing logically harmful with that name but most programmers feel there is. This type of OCD tendency accounts for about 50% requests in code reviews. Ultimately useless changes to satisfy some OCD tendency.
I do occasionally blow things in to Postgres for my own sanity, but it usually isn't worth it, and even when it is, data goes back out to other people in CSV.
As just one example, if your secops department uses Qualys (and they probably do), that forces your secops department to use it, which means everyone who has to interact with them does.
Everything about internal budgeting is a pile of spreadsheets that gets thrown around.
Hell, when I moved one of our data centers recently, that process with the new DC was all all Excel sheets, despite the fact that we have DCIMs on both ends.
There is just no escape.
excel via email might (unfortunately) very well be the more robust and reliable way to go here
SMEs are going to be way more likely to throw together a spreadsheet to accomplish some immediate goal than they are to sit down with an internal software project manager and spend hours educating them on the problem to be solved and writing "user stories"
I was actually working for a company that had been acquired by Amazon several years earlier, and I was working on a non-feature team. So on the one hand, maybe my bad experience was that it wasn't "Amazon proper," or maybe the lesson is "be sure to work on software the visibly provides profit and avoid working on software that merely keeps the company going as a viable venture."
OTOH, we were pretty well integrated with Amazon at this point. A lot of people from Amazon proper had transferred here, because it had a reputation as having a much better culture. The vesting schedule was much better, for instance. So maybe I just picked the wrong team -- there's probably something to the "avoid working in a cost-center" lesson.
Then again, there's so many stories of people who have had a bad experience, that being "unlucky" seems to happen more often than seems optimal.
I did learn a ton. A lot of the most valuable lessons in life generally come from hard experience, and work life is no exception. Still, I can't say I'd recommend actively _seeking out_ such experiences.
Sounds like my first job out of college (it was early 1990s, big consulting shop).
There was a ton of pressure to arrive early, stay late, 55-60 hour weeks were normal, continually document progress on your tasks, but the project overall was well behind schedule and what had been completed didn't really work.
We got paid straight overtime after 40 hours, and I didn't have much else to do with my time, so it wasn't all bad. I only did it for about a year. It was a good reference for my next job.
Young people can afford a few years in the salt mines to get some perspective.
After a few days of this my manager pulled me aside saying that some of the higher ups had noticed I wasn't staying late with the rest of the team. Of course I wasn't. I didn't have any work to do. I started showing up to the team dinners, but it seems the damage was done. My next review went poorly and I immediately started looking for a new job because I didn't want to deal with that bullshit anymore.
Coincidentally, I believe that was the last review Microsoft did with their infamous stack ranking so maybe the next one would have gone better.
"Documentation is very important at Amazon" - helps alleviate the impact of constant turnover
"Teams are fragile" - um, because of turnover?
"Everything is urgent" - indirectly because of turnover, because if you don't nag people to enable your deliverables, you get fired.
"Everything is built in house" - helps make you harder to fire, gives you bully power over other new hires since you know it top to bottom, protects you from the organization that is trying to constantly turn over people
The whole Amplify/AppSync stack is another massive tire fire.
If there is a 3rd party service or tool that we can use instead of Cognito and if it also works well with other AWS services (Amplify, Api gateway) that would be awesome.
Also why do you want to work for Amazon and Google? There are many great people there, you will not be noticed. Work for a smaller company, they will pay you more, appreciate everything you do and you will be much happier!
"The most surprising thing I encountered when joining was how manual the vast majority of processes are. It blew my mind how many business critical processes were managed with excel spreadsheets being shared via email chains. It is incredible how flexible and effective Excel is for such a wide variety of use-cases."
Amazon is the best and worst place I’ve worked.
It all boils down to making the employees working as hard as possible, that's the single reason those principles exist. To make specially young and clueless employees forget it's just a job, because hey, it must be an obsession!
If you are young, this may seem normal i guess but I would never ever touch amazon.
> It all boils down to making the employees working as hard as possible
This has not been my experience. The way I've looked at it as, these are more explicit ground rules for how decisions are made. At most other places I've worked, the mechanisms for making decisions was often quite arbitrary, and boiling down to whatever the most senior person in the room wants. When the Leadership Principles are done well, you'll see there are checks and balances built in. For example: yes, we have "customer obsession," and we try to work hard for customers, but if my boss told me to work unreasonable hours, he would fail in the "Earn Trust" area, and he would be in danger of losing his team.
I've found my work-life balance at Amazon to be pretty reasonable, and much better than pretty much any where else I've worked.
Counterexample: amazon
if every team is reinventing square wheels, they are adding a lot of inefficiencies which worsens the situation at macro level.
Startups are also duplicating the work of each other, and succeed against big companies because this makes them more agile. I always thought that seeing internal orgs as startups was the master stroke of Amazon and the reason for its many product successes -- but it has the downsides described in the article.
Huh, in Norway the normal resignation period is 3 months. Maybe long, but goes both ways, so you always know your job isn't swept away from under your feet one day.
That's incredible. How are job tenures in Norway? Where I am, lots of people stay 14 + or - 4 months typically.
Where I worked before the avg employee had worked there for about 3-4 years, and that number was heavily influenced by the new hires not having had the opportunity to work that long yet, even. I feel that's true for many of my friends as well, those having switched a few jobs since graduating have stayed avg ~3 years.
And it's 3 or 6 months for being fired.
Note that if both parties agree it can end sooner, they can also fire you straight up and forbid you working if they don't want you to but they still need to pay your salary for the entire notice period.
(I had thought it translated to "Son of man" which is kind of a beautiful way to say human being)
This includes all staff yes, but still shocking. If true.
I've been with amazon for 8 years (still an employee) as a software engineer. I've concluded that your experience at amazon - both work life balance and technical - is entirely dependent on your skip manager and your org.
I started with Amazon in the bay area. When I joined we were still in the very early days of our project. The work was awesome, and it felt like we were creating great things. Unfortunately, the ops burden (oncall) became way too much for our team to handle and the quality of life plummeted. My existence during those days was pure pain. From there I relocated (through Amazon) to Seattle to work on something else. I did the move with the promise that I'd immediately get to work on a cool project, but I ended up sitting around doing nothing for months. I didn't even have a desk. Once the project finally started though, things become great. Both of these teams had different VPs, and the cultures of each org were very different as well. My experience in the bay area started off very positively, and then become extremely shitty. My experience in Seattle started off extremely shitty, but then it turned into the most fun 2 years of coding I've done.
Additionally, different orgs do things differently. AWS does things different from how Alexa/Retail/Music/Movies/etc do things. A good example of this: Twitch isn't fully integrated with all of Amazon's internal systems (see recent news for reference). Some teams don't have oncall rotations, other teams have brutal ones. One of my previous directors used to do bi-weekly (once every two weeks) fireside chats. I haven't even met my current director, and I've been under him for a year and a half.
If you're entering the company from the outside, you might very well be walking into a dumpster fire of a team. If you're inside the company, it's really easy to spot which teams are garbage and which ones are not. Below is my guide:
Red Flags: - No nearby principals (no tech guidance at the director level) - Too many principals (bureaucratic arm chair engineering hell) - Average tenure of engineers on the team is SDE1 (trash code) - No PRFAQ/BRDs (projects have no north star, scope is all over the place, dumpster fire product team) - Ops burden is too high (you can check a teams ticket queue on SIM, high ticket count = bad oncall) .... and many more ....
Doing team switches are pretty straight forward as well (ymmv). Once you're in the door at amazon, do your research and determine whether you need to switch teams ASAP. You can search any engineer's username and look at what code they're contributing. It's pretty easy to investigate the code base you'll be working on in advance of joining the team to determine its health.
Regarding tooling, amazon does and doesn't have great tooling. There are things like Pipelines, CR/Crux, Sim/TT, Apollo, iGraph, etc that are actually world class tools and don't really have any rivals out there (yet!). Then there are other things like people wanting to fork bootstrap and react so that they can rebrand it as an amazon version.... In one of my early teams, I saw the SDETs (test engineers) metaphorically go to war with each other to write the best end-to-end integration test framework. There were four frameworks in the end.
Regarding the leadership principles. Those are predominately tools to be used during the decision making process. There is this concept called "one way door decisions" which would be any decision that is made such that the amount of effort needed to undo that decision is not feasible. Basically if you take that door, you can't come back out. When faced with a one way door decision, you use the leadership principles to decide.
Are you on a fixed timeline because your deliverable is tied to AWS Re:Invent? Then you need to optimize for Bias for Action and Deliver Results. Are you about to create a core platform service that many many teams will build on? Obviously you need to optimize for Insist on the Highest Standards, if not you screw over your org for years.
The leadership principles contradict each other, but that generally gives you an idea of what's being gained and lost in the decision making process.
For software engineers, I would not exclude amazon as an employer just because you read some stuff online. If you can get in, do it and stick around for a year or two at least. The amount that you learn in such a short amount of time is significant, and you can take that experience with you anywhere. If you're having a bad experience at Amazon, remember that the company is massive. You can switch orgs and it'll feel like you just changed companies (only the tooling is the same).
Final thoughts: don't ignore your mental health! I have never had a manager actually ask about my mental well being before. I don't think that culture is actually fostered at all at Amazon. Use your vacation time if you have it, switch teams if you need too, or just straight up quit.
Given today's turnover rates, this isn't even a sensation.
hmm are Amazon in the CRM space?