364 comments

[ 3.0 ms ] story [ 290 ms ] thread
I hear its a shitty place to work.
> Note that it’s scoped to Amazon—not just AWS.

Well, it’s also scoped to products that the employee worked on or received Confidential Information about. Not just all of Amazon, full stop. IMO, that’s far more reasonable.

Work only on AWS and get no Confidential Info about other aspects of Amazon and it’s scoped to just AWS for you.

"or supported", which can be construed very broadly.
How does refusing to sign a non-compete clause typically play out? I imagine it goes back and forth, and I'm trying to imagine a tactful way to do it that doesn't burn the relationship.
(comment deleted)
It depends on the value you can deliver. If you are valuable enough, a negotiation takes place. If you're a cog, the job offer will be rescinded. Never give notice at your current gig until you've seen everything you'll be required to sign at your new gig.
I don’t think it burns the bridge. It is acceptable to have a moral and ethical objection to NDAs if you are just a staff IT worker.
I agree entirely. I have (politely) rejected several AWS recruiter inquiries because of Amazon business practices.
I've joined a small company who, upon my request, scoped the non-compete very specifically and added a clause stating that work I produce that did not compete belonged to me.

I've joined a big company who said "this is the contract, sign it"

Personally, I've had a varied experience here. In one company, I explained my moral objection to this agreements and ended up getting in writing that it would not be enforced from the CEO/Owner of the company. That email and the fact that the scope was fairly tight (as opposed to this article) made me feel comfortable signing it.

In a second case, I was actually able to negotiate it away. I ended up not taking that job for other reasons, but before that decision was made, they had retracted the need for it.

Anecdotal, but maybe useful.

If you are already employed this is a big thing to ask of an existing employee. Easy to say no, just be prepared to get fired. I don’t think there is a lot of nuance: “I don’t feel comfortable signing this agreement.” It unfairly limits your ability to earn a living IMO. Good luck getting in the door of a big company if the NDA is “policy”.
The good news is you will be free to compete.
Some non-competes are written in a way where they are effectively asking you not to practice your profession for a year or whatever after leaving the company. You wouldn't ask a lawyer for that, or a doctor, etc., and shouldn't ask an engineer either.

Sometimes the company can justify it if they provided something compensatory, like months of company-paid high-value training and skills development that significantly advanced your profession. Especially if the non-compete duration begins after that training ended buy while you still work for the company. Finish your training, stay at that company for the duration of the non-compete, then you're free to leave and work for a competitor if you want. Company gets their money's worth, and you're not stuck with a non-compete that begins the day you leave.

Depends. If it's a big company with centralized administration, it's not going to happen. With a smaller company, a less assholey company or a somewhat independent division of a bigger company it's possible.
I have had a non compete clause suggested by my last few clients. Usually initially 12 months. For the last few the conversations have usually been like this:

(client): "Here is our standard contract"

(me): "Please remove the 12 months non compete clause"

(client): "How about 6 months non compete?"

(me): "No"

(client): "3 months?"

(me): "Fine, where do I sign?"

I don't mind 3 months non compete. I can take a longer holiday if I desperately need to go straight back. I never have and 6 months is probably ok as well.

It is mostly if I go somewhere else and it for some reasons finished early after a few months, then I am free to go wherever I choose.

Well, the linked article claims that they tried to negotiate out of the non-compete and it was absolutely refused, so they didn't work there.
I've also turned down countless Amazon interview offers. In fact, I don't get how I'm still on their recruitment lists after asking several times to be removed.

Amazon has arguably the worst culture out of any large tech company, and generally treats its workers like dirt. Given all my friends that worked for them, almost all have quit within 5 years. Given their abysmal warehouse management, it's no surprise they have the second highest employee turnover out of all Fortune 500 companies[1]. This scummy way of enforcing a "never enforced" NDA is just Amazon doing Amazon things. I mean, just think about the stress and money that must go into fighting a multi-billion dollar corporation in court. Keep away.

[1] https://www.ibtimes.com/amazoncom-has-second-highest-employe...

How many friends do you have who worked for a company more than 5 years?

Work for Amazon for 2 years, learn a lot, get paid a lot, move on.

Except the vast majority of your equity award, which itself makes up the vast majority of your total compensation at Amazon as an engineer, vests in your third and fourth years.

Your first and second years you vest 5% and 15% (reportedly).

Being an intern is a huge bonus here. My wife got a decent equity grant under the terrible 5/15/../.. plan, but also a 20k cash bonus for each of the first two years for being a returning intern.

This makes it very attractive to quit after two years, imo

I don't think you need to be a returning intern to get the cash bonus. At least I got one without being an intern
And yet Facebook offered $50k for retuning interns on their first year. This was 5 years ago when I was an intern manager.
That's nice! In the time I've been in the industry, fb has generally been considered a better payer than amazon, I think. Would you agree?

I was just trying to say that the amazon vesting percentage doesn't adversely affect a returning intern's total first/second year comp.

You get cash bonuses the first two years to make up for that so your total comp doesn't actually change that much.
You get a first and second year signing bonus that is equal to the total comp target that you’d have with your 3rd and 4th year stock, so it’s the same thing.
Amazon benefits are shit and you generally can't negotiate a raise within 2 years. Generally, you're not really off the chopping block until you're an SDEIII or entered as an SDEIII and performed "above the bar" for at least 1.5 years or a requisite number of quarterly reviews.
Shit compared to what?

If you think Amazon benefits for software engineers are shit you should check where the surface of your bubble is. There's a big world outside it.

Amazon does not even pay a lot. It's 80% of everyone at best (yes, including the grossly overweight restricted stock units).

Amazon (among others) imports legions of new-graduates and mid-level engineers from oversees on a variety of visas, pays them the local wage but in the US. If you leave the company for any reason, you have something like 7 days to pack up and go home.

It's modern indentured servitude.

80% of the other FAANG companies is at least double what most developers make, right, at mid career?

https://www.levels.fyi/SE/Amazon/Google/Facebook

has Amazon at 116K, Google we 123K and Facebook at 112K, just cash for all three, not including bonus or stock, for entry level employees.

Paying Chinese employees Chinese wages, but in America, would be both hella illegal and very obvious.

Thank you for pulling out the data. That's a cool site.
"quit within 5 years" is a poor indicator since most tech has much quick turnover.
I've never worked at a tech job for more than 5 years so I'm not sure that is a great metric.
There is no such thing as a "recruitment list" to be removed from, unless you remove all traces of yourself from the internet. Sourcers don't work from a shared list.

Also, you might be surprised to hear how often people will say "no" at one point, and later say "yes." Circumstances change. Asking again later works.

There is certainly a recruitment list.

I get emails from Amazon that start with the sentence "We already know that you applied in 2012, do you want to try again?" or something similar.

I have asked twice to remove me from their applicant database.

Not sure it works the way you're thinking. Obviously they keep a record of everyone that interviews, but I seriously doubt they look at that list before deciding to email you. There is no list of candidates to remove yourself from, as every recruiter will just troll github/linkedin/facebook/twitter and email you.
> Sourcers don't work from a shared list.

Presumably they do have a referral database, though. I can't remember the exact verbiage, and can't be bothered to go digging for the emails, but I know I've received several similar solicits after asking to be removed from their referral pipeline.

Amazon recruiters don't talk to each other at all. I actually applied for a position from a local ad, and shortly heard from a recruiter. I assumed it was in reference to my application, but it turns out it wasn't and this recruiter had no positions availably locally (only in Seattle). It's a shit-show.
Yeah, amazon recruiters seem almost intentionally siloed off from one another. I’ve been contacted by a recruiter recently even though I have already signed my offer and start there in a couple weeks.
I worked at AWS and interviewed SDE candidates, and thus had to enter updates into the system that manages the whole hiring process. They have interview notes going back to the company's founding. (FWIW, we could only view prior notes on people we were interviewing, the permissions are quite strict.)

The recruiters are absolutely using the same system, they have to enter all their contacts with candidates in order for the interviewers to schedule an interview. So if you're getting contacts while you've signed an offer, I'd suspect they're just spamming a list and only checking the system if people bite.

Yep it is simply a numbers game for recruiters. I've always wondered what their percentages are. They have to be extremely low.
Percentages as in how many candidates do they need to source to get one that eventually accepts an offer? I’d wager 1000:1 or thereabouts.
To hire a candidate or interview a candidate? 1000:1 could be reasonable, I have no clue.
20:1 or thereabouts as far as people who take an informational call to those who pass the loop and accept.
What’s crazy is that I have a very light LinkedIn profile, what I do have shows I graduated from a no name college over 20 years ago and that I am your bog standard Microsoft Enterprise Developer/Architect. Yet and still Facebook/Google recruiters are “impressed” with my profile and would glad to have me interview. They are no better than the foreign spammer recruiters.

Ironically enough, the two companies that I do have a semblance of qualifications for - Amazon as an AWS Solutions Architect or sales role and maybe Microsoft never reach out to me.

Especially since my profile is fairly buzzword compliant with the profile of an AWS SA.

Ha! I similarly "impress" recruiters with my LinkedIn as well, which is amazing, because I've gone out of my way to make it as useless as possible. For instance, I list my current title as "brogrammer." All past history is similar one-liner descriptions.

Yet recruiters remain "impressed", and think all my "skills" (not listed) are a great fit for "shaping the future of [X]"

When I’m feeling particularly trollish, I sometimes ask those recruiters “what specifically impressed you?” I have yet to get an answer.
Yes did my extensive experience writing line of business and software as a service CRUD apps in C# give you a hint about how well I would do at reversing a binary tree on a whiteboard?
"impress" is just a default in the mass-mail, linked-in scraping salesforce plugin they use.
> Given all my friends that worked for them, almost all have quit within 5 years.

5 years is pretty darn high by tech company standard, as people already mentioned. Partly because of the culture of "you have to jump ship to make more money and promotions", but even the most employee friendly company will barely edge that, just because software engineers have a huge "grass is greener" syndrome.

>just because software engineers have a huge "grass is greener" syndrome

"Grass is greener" is a strange label to use for the ability of even mediocre developers to get $50K+ raises by switching jobs, while the industry as a whole remains myopic about giving comparable pay increases to existing employees.

The grass is greener from the employer's perspective, which is why they manage their HR with a negative risk premium.
(comment deleted)
Yeah, it's really rare that the company where you work for more than 5 years gives you a $50K+ raise, if you get 5k or 10K you are already at the top. But you are invaluable, because of all the stuff you've learned and can do.. leaving will mean bigger costs
I said even at company friendly companies. Basically you'll see this happen even at companies where you CANT just switch job to get a raise (eg: companies that give out RSUs and had huge stock value bumps, making it unlikely you can get the same elsewhere).

I've seen it happen many times. People who got promotions after promotions and are paid absurd amounts, and after 2-3 years will jump ship anyway, often with a pay cut to join their friend's little startup.

Which is fine, its their choice and if they like that better, they certainly can go for it. That doesn't change that it's basically cultural at this point. Software engineers jump ship really quickly, even if everything's perfect (which, admittedly, is rare). I've done it many times myself.

It's a bit like this: if the pay is too low, you make the jump to get the money. If the money is good, you wait a few years and make a jump anyway because hopefully by then you've saved enough to be set for life (assuming normal pay elsewhere)
I think "5 years" is a good indicator for amzn, as many (most?) L4/L5's sign up with a big chunk of stock that takes 4 years to vest.
Some companies have sabbatical programs that arrive at 7-10 years. A paid 6mo-year off? I'm listening.
The longest I've stayed at a job since graduating is three years.

If companies had better career paths and gave good raises that might be longer.

I spent over 9 years as a software engineer at a finance shop known for it's high turnover and burn out rate. Average life expectancy in IT when I joined eas 1.5-2 years. I do and dont regret having stayed that long. Some of my long term health issues are due in part to my time there. No way to prove it, of course.

I worked with a lot of great people, but years of sustained 80-100 hour work weeks, getting called on the rare vacation and the inability to have a personal life (only dated for a total of like 5 months in the 9 years I was there). I didnt get married until 5 years after I left, and ironically to the exwife of a former coworker from the same firm. The pisser is that I was grossly underpaid for 7 of those 9 years. I was taken advantage of because I was a mew hire directly out of college. After several years, I realized this as I became a defect team lead and assumed about 13x the responsibility I was hired for within 2 years. It took a written offer from well, Amazon, to get my pay adjusted. I got a 50% pay increase midyear to stay... Ive since moved on, and honestly, not sure which decision I regret. I'm still in finance, but a lower stress firm, with a dead simple commute, typically 40 mins in the car tops per day, round trip. Id be far happier if I was suffering from the pain of accumulated medical issues.

Given their abysmal warehouse management, it's no surprise they have the second highest employee turnover out of all Fortune 500 companies[1].

Do you think any of the tech companies would treat their blue collar workers any better? It just so happens that all of the products produced by Google, Microsoft and Apple that need a lot of blue collar workers are done by contractors in a different country. I bet none of them think they are being treated especially well.

I bet if any of the other companies had to include their outsourced workers, they would be in the same boat.

I've also heard bad things about white-collar work in their logistics area.
> Do you think any of the tech companies would treat their blue collar workers any better?

Tech typically skirts around this by using contractor/contingent staff.

That’s kind of what I said....

it just so happens that all of the products produced by Google, Microsoft and Apple that need a lot of blue collar workers are done by contractors in a different country.

Yep, wasn't disagreeing; adding confirmation.
> Do you think any of the tech companies would treat their blue collar workers any better?

Okay, but we're talking about what Amazon is doing now, not how other hypothetical companies may or may not treat potential employees.

Those companies are not hypothetical at all though.
Then they're shitty companies that you shouldn't work for, either.

I read scarface's comment as implying that every company is equally shitty, the only distinction being that some have been given the opportunity to show their ass and some haven't.

My counter argument is that companies that are actively doing bad things are worse than companies that aren't.

What I’m saying is that the other companies aren’t actively doing bad things as long as you ignore all of the contract labor that it takes to produce iPhones/Pixels/Xboxes, etc.
> aren’t actively doing bad things

I guess if it happens overseas we can ignore it? That seems like a perspective that classifies companies in different light. At end of the day, these companies are all doing the same thing, trying to turn a profit (maximize revenue, minimize cost) in every legally possible way. Unless we have evidence these companies are breaking the law, we are debating ethics which simply allows for you to pick your vantage point and easily say "ignore all of the contract labor" which is unfair for some and better vantage for other comapnies.

Here's an example of how another non-hypothetical tech company treats fully realized (is that the opposite of potential?) blue-collar workers: * https://www.theverge.com/2019/6/19/18681845/facebook-moderat... * https://www.theverge.com/2019/2/25/18229714/cognizant-facebo...
I'm betting dvt won't work for Facebook, either, and I applaud 'em for it.

(How do we specify that we're referring to a user here, anyway? On reddit, I'd just type /u/dvt and be done with it, seems weird to do it here.)

a lot of people like the single quote, e.g. 'pavel_lishin
Is that a Lisp thing?
HN is written in a lisp.
I'm pretty sure I've never seen that on any forum anywhere.
"/u/dvt" does have the advantage of being readily understood by most HN readers (probably).
It’s not hypothetical at all.

Amazon depends on blue collar workers for its business to run. All of the other companies just outsource their blue collar workers to other countries. Apple for instance depends on hundreds of thousands of blue collar workers working at Foxconn. I doubt that workers at Foxconn are treated better than Amazon warehouse workers. Do we excuse Apple and condemn Amazon just because they don’t employ the workers directly? Google and Microsoft have much smaller hardware businesses, but they use Foxconn also as far as I know.

As opposed to other companies that outsource their warehouse labour like JB Sports in the UK?
Many of these workers are from the prison industrial complex. Pay is non-existent or abysmally low, AFAIK.
Do you have any source for that? If anything, Amazon’s warehouse work is known for relatively high wages compared to other warehousing work.
It is a real problem. People think downvoting will make the problem disappear.

Link 1: https://en.wikipedia.org/wiki/Prison%E2%80%93industrial_comp...

Link 2: https://static1.squarespace.com/static/58e127cb1b10e31ed45b2...

Where exactly in these two links is anything about Amazon in particular?
Did you even read? The PDF has list of companies that form the prison-industrial complex and Amazon has a place there.

>> This report exposes over 3,100 corporations that profit from the devastating mass incarceration of our nation’s marginalized communities

What else do you expect me to do?

I expect you to tell me where in that PDF is anything supporting your original statement that "Many of these workers are from the prison industrial complex. Pay is non-existent or abysmally low, AFAIK.". That PDF puts Amazon on one huge list of companies, without saying in what exact manner it has anything to do with "prison-industrial complex" at all. Can you quote anything in that PDF that says anything specific about any connection of Amazon with prison-industrial complex?
I gave you enough info. If you are really interested, search on the internet.
You gave me none of the info, and I'm not going to waste my time on searching the internet to verify random claims the authors of which are unwilling to substantiate.
I interviewed at Amazon recently but didn't get an offer.

I'd say there is clear division between white and blue collar conditions and though I don't want in on the warehouse side their main offices would be a major career bump for me. I'd be one of those 3-5 year survival jobs where, like my other AMZN main office employee friends, a promotion means changing teams asap to capitalize on the good PR internally. Like, do my best working long hours on a project, succeed, take my congrats email to another team. As I learn that team's systems, I get time to recover from the last role. Rinse and repeat until I can apply outside for a long term sustainable role.

I'm not saying it's good, but it would be a a jump from my current role and provide a lot of crazy opportunity a smart 20 something could handle. Instead I found a career role with a local company and I'm excited. I wouldn't trade it for any number of AMZN interviews or offers due to the company culture, history, position in the industry, an the quality of the team.

But as a contractor needing a pay bump, AMZN looked great.

I’m seriously debating what I want my next role to be. I’ve reached close to the statistical peak[1] of my earning potential as a software developer/team lead/architect in my local market (Atlanta) and definitely will not be moving to the west coast. That only leaves a few options.

1. Stay in development and make sure I do enough Resume Driven Development to stay current and be happy with cost of living wages. Not a bad thing, my wife and I make enough to enjoy ourselves and reach our short and long term goals and I enjoy development.

2. Go into management - mid level managers don’t make enough more to be worth the headache and I really don’t enjoy managing.

3. Consulting (not staff augmentation), I have the skillset to be an overpriced “digital transformation consultant”/“Enterprise Consultant”/various AWS consulting roles, but I’m not sure I want to do it. But that would be basically the only way I could make significantly more without moving. AWS hires SAs, TAMs, and other consultant type roles that don’t require relocation but require a lot of travel.

[1] I’m sure there is a company out there that is looking for a “rockstar ninja developer” that would pay a premium over market value without having to relocate but that would be rare.

(comment deleted)
you'd think, but no. "rockstar ninja" hunters always offer "competitive" compensation, which means below average.
I work in defense. We treat blue collar pretty well - hands on people are critical to large production of things like warplanes.

We used to treat them even better, of course.

Defense can afford to do that since the profit margin is higher and the risks much higher as well.

I'm not saying Amazon can't treat their workers as decent human beings, just that on the benefits/compensation front they have different constraints.

> Do you think any of the tech companies would treat their blue collar workers any better?

And?

It treats its white collar workers like adults, not privileged overly sensitive babies. Only in the Silicon Valley is that considered “dirt”.
The pride some people have in their ability to tolerate bad conditions is a little silly. I don't understand how you can look down on people who want a better work environment
I was brainwashed in Windows that the grit made me a better developer. They’d always say “a Windows X is an <other org> X+1”. They also convinced employees that if they ever left the org they’d never get back in because they’d lose the cache and not be assumed to have the competency of your level.
> Given all my friends that worked for them, almost all have quit within 5 years.

You lost me here. I don't know many people who have stayed in a tech company over 5 years. Also, if you're just a SWE at the same place for 5 years (as opposed to moving up the ranks), many people I know would view that as a black mark.

As a counterpoint I know one good friend who has worked for Amazon for 4 years with three internal transfers and he's very self aware of his work-life balance. Originally he was in an org with very high operational load so he described being too exhausted to do anything after work, but he switched to a different org after a year and is comfortable with his new position.

I haven't personally experienced Amazon's culture however.

Cue the “it depends which team you’re on!” brigade, as if that excuses anything. Not to mention many people don’t get to pick their team when they get in the door, or at least that is my understanding. Even if you did get to pick, who would pick an obviously bad one?
My doctor is in South Lake Union in Seattle, near a number of Amazon buildings. She hates Amazon with a passion, after seeing so many people in their 20s with health issues they shouldn't have until their 40s or 50s.

There's no chance I'd entertain so much as a conversation with a recruiter.

That's pretty interesting, any idea what issues she is seeing that's atypical for this age group?
The first and only time I interviewed at Amazon, the interviewing engineer was so obviously stressed that he was shaking from it. As the interview itself was fairly light weight I assumed it was due to his work -- nothing I've heard from current/former Amazoners has changed my mind.
> Given their abysmal warehouse management, it's no surprise they have the second highest employee turnover out of all Fortune 500 companies

It's worth emphasising that Amazon employs a LOT of seasonal employees in the warehouses, and there are a really large number of those warehouses. It's a terrific number of staff that are around for 2 months, during various peak times of the year. Not because they're burned out, injured or whatever, but just because the work isn't there for them at the time.

(I'm not generally disagreeing with the rest of your point. Been there, done that, got burned out by it after a couple of years)

> In fact, I don't get how I'm still on their recruitment lists after asking several times to be removed.

My strategy has been to completely ignore emails from Amazon recruiters, under the assumption that getting a reply from an email address will immediately prompt the recruiter to check a box in their internal tool indicating "You can actually reach them here!"

It's the same strategy with spammers. Clicking "Unsubscribe" often just serves to confirm that there's a real human being reading stuff sent to that address.

NDA? The article is about a non-compete, not an NDA.
Amazon is not the only company to sue over this, Microsoft successfully sued as well[0].

In fact, several large companies have pushed to keep these non-competes in place in Washington State[1].

I don't think it's fair to focus only on Amazon. The reality is that in Washington State, this benefits many large corporations ( while being harmful to employees ) so it is the company's incentive to try and keep the non-compete as broad and ambiguous as possible.

[0] https://www.infoworld.com/article/2671108/microsoft-sues-goo...

[1] https://www.geekwire.com/2019/tech-leaders-sound-off-washing...

Applying a noncompete to sales (as in the parent article) or as jimmy johns has done is pretty beyond the pale. I don’t like noncompetes and think they’re hostile but someone at corporate officer level having it enforced is a different world.
Did Microsoft actually win the Kaifu case, the one Steve ballmer famously threw the chair about? They settled, but the terms didn’t appear to be in much of Microsoft’s benefit.
It's a wage suppression device. If you live in Washington, you should complain to your state representative.
Do you want to talk to your representative or AG in this case? I also have a wild idea: software engineers can actually lobby this change. They form a non profit organization, make contributions (say 10k each) and go talk to the right politics. This what corps do, but thus is what people can do to.
In Washington state non-competes are ubiquitous, and hair-stylists and estheticians have been sued over them.

That person that waxes people's legs? Works 36 hours a week so the company doesn't have to call them "full-time" and signs a non-compete that says they can't leave and work for someone else for a year within a 10 mile radius of any location of the prior company, which usually means they can't work anywhere within 50 miles of where they live.

It's criminal how these things are used and they should be banned outright.

> In Washington state non-competes are ubiquitous, and hair-stylists and estheticians have been sued over them.

They are no longer enforceable for employees earning less than $100k, or contractors earning under $250k.

What stops the highly organized HN crowd from writing a letter to attorney general of washington?
> Come on, AWS. Do better than this.

The advantages are too significant. If a company of sufficient size isn't doing this, they're doing something else. Statistically, employees cannot win; there may be outliers where an employee prevails, but in the aggregate, the company will win — and that makes these draconian policies worthwhile.

Companies enjoy economies of scale when it comes to negotiating employment, because they hire over and over and over again. Meanwhile, individual employee candidates must reinvent the wheel with each negotiation.

If you ever end up in court or arbitration, the unfathomable resources that the company can bring to bear means you're not fighting a fair fight. Our court system is by and large for the purchase of victories by those who can afford enough lawyering to exploit every advantage.

The only way to fix this is through government statute to change the labor market. The way the market has been constructed, employees will forever be on the losing end.

There is also a thing called unions.
The tech industry has the best horizontal mobility of any other right now. Why do we need the downside of unions when we can just move company and have only the upsides?
Because not everybody will be in a position to "just move" for various reasons, and you care about your co-workers? Or you simply have the sense to realise that you may be in an unfavourable position sometime in the future that may not be your fault?
I've never been a union member, or worked as a white collar worker at a unionized place, but I'm curious what you think the downside of unions are? I'd personally be quite in favor of the transparency that unions bring to things like pay scales and HR processes. Is it just the dues you don't like?

Edit: the only story I've heard in tech that involved unions was the strike at the Eugen gaming company, and as far as I can tell, they had pretty good reason to strike.

> best horizontal mobility of any other right now

I think you just answered your own question. Unionize while you have leverage to protect yourself for a future where you might not.

Holy shit the unions are out in force today on HN.

Back to your holes, OUT OUT OUT.

As it turns out: You cannot "just move company" unless you live in California.
The entire east coast seems pretty well situated for job switching, too.
I think theyre referring to how noncompetes can be enforced everywhere except California.
It's still a hell of a lot cushier than what others have to deal with.
> The tech industry has the best horizontal mobility of any other right now.

Until you age out.

And you will age out.

At what year does this happen? I'm 57 and finding it harder than ever to land a position this time around, just when one would think otherwise...
I'm not sure I'm following--you're 57 and finding it harder to find a job?
The tech industry has the best horizontal mobility of any other right now. Why do we need the downside of unions when we can just move company and have only the upsides?

Think of it like ageism. The time to do something about it is when you have the leverage. Not when you’re over a barrel.

Damn. Never thought of it that way.

It's like how they say the best time to jump jobs is when you're doing alright, and not when things are desperate or you're clearly on the way out.

A sane company will only employ workers to the extent it’s advantageous for them.

For that reason, I think it’s wise to go cautiously when making it less advantageous for companies to hire. Much of that ends up being taken out of labor rather than companies.

Ultimately, there is a balance to be struck. Labor and Capital need each other even though they have competing interests.

But the proliferation of absurdly exploitative non-compete clauses illustrates just how far we are from that balance.

Capital seems to need to keep relearning the message that Ford got loud and clear:

Labor (aka consumers) is what buys output.

In aggregate yes, of course. It doesn’t have to be their labor though.

I spend about 0.05% of my pre-tax salary at my company. If they gave me a $10K raise, they would expect to see an extra $5 in revenue per year; hardly compelling.

Sure, it's a tragedy of the commons. As a company I want to drive my labor costs down (all input costs, actually). But I want to be able to sell into a market where enough people have income (up to now typically from selling their labor) to buy my goods.

The pool of consumers with disposable income is the commons that no one maintains.

But the goodwill muliplier effect when you tell your mom and she brags to her friends who then apply pressure on there kids to apply there because they pay well. Friends, social groups, churches.. now those people are more likely to buy.
Every time I've talked to AWS Recruiters they've belittled by past experience and just generally made me feel bad about my career. I will never ever work there, no matter how cool their tech stack must be.
I can tell you from experience, the internal Amazon stack is not cool or inventive.
If anything it’s scary. From what I’ve heard software engineering practices at AWS leave much to be desired.
Yep, it's almost as much've a shit-storm as Amazon's internal tools - which are rife with errors and pushed by Amazonians because "open source is shit" (verbatim from a lead engineer).
That seems a bit inflammatory. Anecdotally most of the people I've interacted with especially like open source. My team is increasing our involvement in the open source projects we use.

A lot of the internal tooling is due to legacy and inertia. There's 20+ years of history, and so much has been built and continues to be built that it's enormous investment to steer a different direction. Incremental improvements have higher reward ratio. But people do want better a better development experience, especially w.r.t. idiomatic language tooling.

That being said, initiatives are brewing for that "enormous investment".

Certain things must be pretty cool/groundbreaking though. Just watching things like Youtube videos about how VPC works is pretty amazing. I won't let that blind me to the fact that the company seems pretty toxic.
The best part of the internal Amazon stack is the relative consistency across the company. Not that every team is using the same thing, but it's a reasonable assumption that whatever particular combination of things you're using, someone else probably is too. It makes it really easy to work around the sharp corners present in any stack. Additionally, basically everything is internal-only or AWS, so the people who developed the tech stack are all just an internal search away.

That said, I've done just fine without that benefit since moving on.

When talking to someone at Amazon he remarked "You guys on wall street take a year to do what we do in a quarter." Five years ago that was a fair indictment, based on my current deadlines I'm not sure it's true any more. :-) P.S. I'm not complaining or humblebragging. I just enjoy the hell out of what I do and I've seen first hand a lot of institutional barriers fall over the last few years.
Almost all their tech products are garbage. How cool can the internal tech stack be? They can't even produce decent tech products that don't require a giant team of AWS experts and constant tech support to work. And then there's the random bugs that make it hard to know if it's just a regular shitty product or you've hit a crazy bug. AWS is the worst part of my job, hands down. I wish they never existed. I'd rather be on a VPS somewhere or even putting in hardware servers in a coloc.
Yes. I remember AWS asked about the size of the databases I have worked with in the past, and then negged me when it was smaller than their databases.

Of course the databases I worked with were smaller, they deal with some of the largest in the world.

(comment deleted)
Very eye opening, thank you. I had no idea Amazon treated their employees this way.

I turned down two amazon interviews because I asked them if they still did the whole whiteboard-leetcode-type interviews, and they did so I passed.

Same happened to me. A few years back, I got an offer from Amazon after going through the interview pipeline and the non-compete and outside-of-work IP assignment were the only thing I asked to be changed since they were draconian given Amazon's wide breadth of products. They declined to make the change so I declined to accept their offer.

In general, Amazon doesn't make positive impressions on potential employees by saying "work for us and we could easily prevent you from working anywhere else for a year and a half (and please trust us that we won't)".

This has been my experience with big tech companies as well. Many are willing to negotiate compensation, a few will negotiate holiday and benefits, but none of them will touch legal agreements like NDAs, copyright assignment and non-competes. And if you try the cute “cross off the terms you don’t like and initial them” trick, you’ll get a stern warning letter from Legal to sign it unmodified or GTFO.
A lot of the hiring people just don't have the authority to contact legal and request a change to an agreement because the implications of that change must be reviewed by expensive lawyers.
So this has mostly to do with a non-complete clause. The author is pretty explicit in their view:

> This clause is, to be direct, abusive.

As far as I'm aware this is something that has been apparent for quite some time, and isn't limited to just Amazon. I can't personally conceive of why anyone subject to one of these would have any reason to believe that this isn't just another tool that benefits the company alone, and could perhaps even be used against you.

A discussion about clauses such as this is well needed in general, not just the tech industry. Honestly, the real story that perhaps has more relevancy to tech is having (as the author correctly recognizes) the kind of privilege to turn down a job with Amazon. I'm no fan of Amazon but that would be something very difficult to turn down.

> A discussion about clauses such as this is well needed in general

We can have a discussion, but because money is speech, the voices of individuals will be drowned out by the voices of corporations.

The world has far more individuals than hundred billion dollar corporations.
And their ability to voice themselves is related to how much money they have. After all, nearly all forms of mass communication are directly controlled by said corporations.
Roughly 5 corporations effectively are nearly all forms of mass communication.
The hundred billion dollar companies have the ability to buy the storyline they want portrayed in the media.

How many of those individuals can do the same? May as well have no voice unless they collaborate.

You can do non-competes the right way, too.

I used to work for a company who used them, for a pretty good reason, but:

1. they paid a BIG premium for the non-compete. Employees who were required to sign them got very, very large raises

2. they would pay a good portion of your salary for the duration of the non-compete period, if you left the company

That's how it's done. A company as profitable as Amazon shouldn't really have a problem with that.

Working for amazon is like joining a fascist cult - you made the right decision.

Source - worked for a startup that was acquired by Amazon. My team was slowly managed out of the company and replaced by teams in Seattle. Most of my team was let go by PIP, essentially claiming we weren't "performing at a high enough standard" since they weren't willing to reprehend my boss for being incompetent.

However, I'm proud of the fact that in my exit interview my incompetent boss tried to have me give a "reason for my willful exit" to which I responded "oranges". I mostly did this because there was an Amazon HR person on Chime (internal Amazon Skype) during the meeting recording a transcript of the meeting. So at some point, my boss had to explain to her boss why she fired someone and explain why my reason was "oranges".

TLDR: Amazon is cheap, doesn't care about workers and is kind of horrible.

exit interview advice (applies everywhere): politely decline the exit interview. there is zero upside to doing an exit interview
Call me a naïf, but I think exit interviews are a great way to speak candidly to skip-level managers about dissatisfactions you have—with the aim of making the company you’re leaving potentially a bit better for your colleagues.

EDIT: I think “feedback” here is somewhat vague. You guys are talking about issues there would be no point in raising. For me this is not systemic issues.

I would bring up more minor things, “I think Chris would be better suited to work on XYZ project”, “The company work parties make me a bit uncomfortable with the amount of alcohol.” “I know Jane wants to be a manager but I’m not sure she’d be so great at it.”

I think these fall into the realm where I wouldn’t bring it up before the exit interview, but they might provide some benefit that skip levels would be able to provide.

I think it's both admirable and naive. My experience with upper management is that it rots from the top, so if you're quitting due to systemic issues or because of your boss, it's very likely due in part to upper management's inability to listen before something blows up.

In game theory terms it's pretty much all downside. If you say nothing or if management sends exit interviews straight to the recycle bin, there is zero payoff for you and zero payoff for anyone else. If you say something and management is bad at listening, you burn bridges and nobody else benefits. If you say something and management is good, you get nothing and others after you benefit. More often than not management is bad at listening. In other words, it never improves anything for you and rarely improves anything for others.

I used to be a strong believer in giving honest feedback during exit interviews, but I definitely don't anymore. If upper management actually cared, they would have gotten and acted on the same feedback from current employees, before they quit. I no longer believe in offering crappy management the privilege of a "I quit" wake-up call at the risk of my own professional reputation/relationships.

if they really cared to fix it, it wouldn't take you leaving.

i guess it depends on who's doing the exit interview. i could see it being beneficial if you have a lot of experience and trust with the manager doing the exit interview (e.g because he managed you before he got promoted). but if you've barely spoken to the person doing the exit interview, it's best to politely decline or simply shut up, so as not to burn bridges.

In my experience, the problem with your thinking is that it doesn't play out that way.

If management is open to criticism and will actually use that feedback to make changes, you probably realize that fact and have already been giving candid feedback.

If they're not open to it, then your openness is just going to burn a bridge. It feels good, and you may not care in the moment, but at beat it's neutral. At worst it hurts you down the road.

I've experienced this indirectly, I was young and naive and figured it'd be best to be honest with why I left a prior startup I was working for, citing issue with my boss' management.

Turns out people in that startup knew my boss, didn't get the interview and was blacklisted from my prior boss even though we were on good terms.

Learned that lesson the hard way.

i think that your feedback can and will be misinterpreted to fit a narrative about you leaving. your feedback will also be regarded as biased (you are leaving, right?).

the best time to provide feedback is while you still have the job. when you see something that does not work speak up. when the time to go comes, nothing you say should surprise anyone therefore no need for the exit interview and everyone having a bad time in this emotionally charged moments.

Exit interviews can lead to you being marked as "Do not rehire" depending on the degree of your candor.

It's obviously your call, but for the most part, I've just been as vanilla as possible when leaving, maybe remarking about the lack of compensation increase while working for a state budget determined salary position. That one, everyone groks and I didn't have it bite me in the butt when I came back to work for the local university a year later.

Exit interviews are mainly used for one purpose--documenting any issues that might be used against the company if you choose to sue them.

HR is not your friend.

I recently had an exit interview at IBM and my manager basically told me not to say anything. There is no point or benefit.
sounds like your boss got at least one thing right :)
At least in the German system, where you get an kind of official certificate from your former employer that also serves as letter of recommendation, I would never do an exit interview without having that document agreed upon and signed in hand. These things are slow to change, but are still being fought over in courts.
Exit interviews seem like they would be cathartic, and they might be but I can’t see any upside. If, as happened to me, you find out you were let go in a similar manner as others who were high performers but coming up for a bonus you might say things in the exit that might hurt your chances in recovering said bonuses when a colleague (who was owed a $1mm bonus and summarily fired for “performance”) decides to sue.
If you're leaving for simply a better opportunity, there's nothing wrong with an exit interview.

During my last exit interview, I recommended my relatively new manager for a promotion and I later heard he actually got it. I guess they took my advice.

Some organizations actually want genuine feedback, and exit interviews are one of those opportunities.

Never had one, but I've also given no thoughts to them. What's the reason to decline?
Reason #1: Burning bridges.

Reason #2: You are helping a company for free, essentially after they have stopped paying you. A company with whom you no longer want a relationship.

> We need this to protect our business.

> It’s never enforced.

If these are true, why would a company with 232.9 billion in revenue be afraid of paying an employee's salary only when the non compete is enforced?

If the non compete is almost never enforced this agreement would cost the company under 0.01% of total company wide employee spend. Surely if the knowledge was that important to the business the company would easily make up the "extra" salary paid in revenue.

It's strange that a company that large wouldn't agree to pay salary if it's chosing to enforce the non-compete. It seems like the choice is motivated by something else than reason. Tradition? Optimizing locally for cost reduction?

Man if I could just work there a month and then quit with 18 months of guaranteed paid severance...
Presumably in that case they could avoid paying you by canceling the non-compete. They could decide whether the information you learned during your one month is worth paying you.
That does sound nice. Ideally though the company wouldn't chose to enforce the non compete because the new employee hadn't picked up any secrets worth sharing in a month.

Actually, this might incentivise a new employee to hunt for secrets so they could quit as soon as possible and enjoy their serverance. That might not be ideal.

Even in the absence of non-compete clauses, you're still obliged to keep your company's trade secrets when you leave, or they can sue you. California companies sue each other all the time over things like this.
Reason does not enter into it. It is the very soul and nature of a US corporation: greed and sociopathy. The worker is a resource to be exploited by the corporation. The sociopathy denies any compassion. The only use for "reason" is reason how to make more money. If you're going to leave the company, you need to be maximally punished. That is done through a sneaky contract that prevents you from getting gainful employment elsewhere.
The only thing that scares me is the IP factor if I work on stuff after work.

From what I am hearing, if I am not in Cali, I am at risk even if I don't use company time/equipment?

Amazon pretty much doubles salaries in areas outside of California, so it's extremely appealing money-wise if you stick around for the vest.

Why its a given for professional tech jobs in the UK.
That's really depressing. Genuinely. If a candidate made a platform of protecting worker IP (created on their own time), I would vote for that candidate based on that alone.
You would have to completely rewrite employment law - there are better achievable things to work for (banning abusive non competes, an all non competes for all workers paid under 75% of the median salary) and I say that as an Activist.
No, this is a common misconception.
What specifically?
No company is ever entitled to work you do on your own time without using company resources, although it might get messy if said work directly competes with the company.
This is a very broad assertion about laws that may differ from state to state. It gets even more complicated when you try to answer what "on your own time" means for a salaried worker, and when you consider the broad IP agreements that many companies give to their employees.

Could you point me to where I could read more, please? This doesn't match my current understanding, and it's a topic of interest for me. Thanks!

I don’t see anything in this article about Amazon offering the author a job, so I’m a bit confused by the headline. Were they offered a position at Amazon the same week as this non-compete dispute became public and forgot to mention it?
The author was offered a position at an earlier time and refused because of the non-compete. The subsections with the quote titles are excuses given to the author by Amazon when he said he complained about the policy.
This is the ultimate humble brag. To work at the leading cloud operation would be an honor.
Author here. Like any job, it's an exchange of value on both sides for mutual benefit. I'm incredibly privileged in that I could afford to turn down the offer; not everyone has that privilege.

I strongly suspect that if I were willing to sign the clause I'd be welcomed aboard--but that's not really viable for me anymore. In many ways (such as writing this post!) I'm a garbage employee; I'm just glad I recognized it in time.

> To work at the leading cloud operation would be an honor.

Not if they treat you like garbage.

> This is the ultimate humble brag.

Maybe it is, maybe it isn't.

But the point still stands: that non-compete is draconian. Whilst I highly doubt Amazon would be interested in me, I would not be interested in working for them or any other company that could potentially bar me from making a living for any significant period of time after leaving.

At the most basic level I need to pay my mortgage and household bills, I need to buy groceries, I need to fuel and service my car; maybe I've got a family I need to provide for.

And what's the point of saving from a great salary if you need to spend 18 months burning through those savings after you leave the job? And in what world are most employers going to be willing to wait 18 months to take you on?

Seldom enforced is not the same as never enforced. Humblebrag or not, it sounds like a smart decision to me.

Working at orgs like Amazon, FB, or Google, show poor character and/or low self-esteem.
Do you live your whole life by making blanket statements for everything?
Just my opinion man. But I have heard those companies pay well.
Even if it was a humble brag (which I don't personally think it is), I would let it slide due to the beneficial information it is sharing about exploitative practices.
(comment deleted)
OP Seems to be confusing trade secrets and noncompete
Author here. To be clear, the stated reasons Amazon gave for enforcing the non-compete in their filed lawsuit are already covered under trade secret protections. I'm not the one who's conflating the two. :-)
Ah I see sounds like they where grasping at straws or relaying on compliant judges.

I know on case in the UK where a company (imarsat) tried this American style shit at tribunal - didn't go well.

AMZN even recruits evilly.

I once got an email from them that was an email blast to 100s of people.

"Congratulations <RECIPIENT>! You have qualified to go to <INSERT CITY FAR AWAR> for a recruiting mixer where you may then apply for a chance to then be interviewed."

I want to work for a company where people care about me, at least enough to email me in person and treat me like a human being.

I think people think that working for a powerful evil company is fine because at least they are powerful. As if, if you go in with your eyes open and try and get as much money as fast as possible and get out you'll manage to leave emotionally and spiritually unscathed.

Who wants to deal with that though? Life is too short to have to live in a kind of horror show.

I interviewed with them twice (shame on me after the first debacle).

The first time I interviewed with a DB team - my entire resume up until that point was heavy UI development. The problem is I didn't know what team it was with to begin with, I would've declined since it really didn't cover my skills nor interest.

The second time was with a search team, and by then I was more into middle-tier development. Interview went well I thought, no red flags. They asked me to do a coding assignment, I said ok. Here's where things go to shit. The interviewer told me he'd send me his email so I could send him the code. I did the assignment but never heard from him about where to send it. Contacted the recruiter, they said to send it to them and they'd forward it on. I got the hint, the interviewer literally did it to waste my time. What an ass.

Anyways, I learned my lesson. First, fuck Amazon, their recruiting emails go straight to the trash. Second, no coding assignments ever. I'll do stuff on site if you want but I've never gotten a good result out of coding assignments, and now I'm too experienced to see anything that would be appropriate.

I interviewed with AWS for an analyst/business intelligence engineer role.

When asked to write a query to get the total GDP by month per country, I wrote a query along the lines of:

select date_trunc('month',datecolumn) as month, country, sum(GDP) over (partition by date_trunc('month', datecolumn), country) FROM the_table order by 1

The interviewer asked me if I was missing something. I said no. "Don't you need an additional clause if you're doing a sum?"

"No," I responded, "in AWS Redshift (and postgres and mysql 8.0+ and...) if you do a Sum Window Function a group by is not necessary"

The interviewer made a noise and demeanor changed as if I knew not what I was talking about. While I can't be 100% sure, I'm almost positive I was failed for "missing" the group by.

I went home later that day and wrote exactly the same query, which ran successfully. The AWS BI Intelligence Engineering manager didn't even know how to use a sum window function. I was a bit frustrated at being failed because the interviewer didn't know of a (well-known, well-used) feature, but perhaps I dodged a bullet.

These things can always be childish when working with a bad interviewer. I once had an engineer keep interrupting me while I was explaining how sockets work because I wasn't covering small minutia details. Interviewing is an insane process. This is why building networks is more valuable so you're basically being interviewed by people you've already worked with.
I get too distracted wondering if these people are always like this or just in interviews.

The silver lining is that I don't get jobs where the interviewers make me uncomfortable, so I don't have to deal with them more than once.

> I once had an engineer keep interrupting me while I was explaining how sockets work because I wasn't covering small minutia details.

I'm going to be in trouble when it comes time to interview again someday. I am not nearly as accepting of muscle flexing (anti-social behavior) as I was 10 years ago.

You and me both. I had to walk out of an interview because the interviewer had become borderline rude and I could not think of anything at all professional to respond with.

Here's to future self-employment!

How'd you walk out? "Sorry, but I'd like to respect both of our time and end my candidacy here"?
I literally shot up out of my seat, offered my hand and said 'thanks for your time!' and got the hell out of there.

Not the smoothest, but it was just time for me to leave.

Makes me appreciate working for a large cloud with a core value “don’t be a jerk.”
Is this Microsoft? If so, good to know they've adopted this policy!
Sounds like Pivotal, which literally has "Be Kind" as one of the three core values.
Oracle Cloud Infrastructure, actually. Oracle gets a lot of flak on HN, and some of it is justified. But the reality is that the team working on OCI is top-notch. And the product itself is quite compelling.

Oracle as an enterprise/legal behemoth is very different from the cloud transformation business unit.

(comment deleted)
Sockets are easy. First there was the big bang...
I'm guessing you didn't get to do this interactively? If I interviewed someone and they seemed knew something I didn't and could prove it by actually running the query/code I would be impressed. At the very least the interviewer should have checked your claim after the interview if they were skeptical.

I think it's a real mistake when you don't let candidates write actual code and run it during interviews.

In my FB interview I was told I wasn't allowed to run the code, which seemed completely ridiculous to me. It was even more frustrating when my interviewer told me I'd missed an edge case when I was certain I'd covered it - I'm still not sure who was right.
At least you got to type your code. I had to write mine out on a whiteboard (actually, a patch of wall with whiteboard paint).
I went to an interview where there were no spare computers, so I was asked to write out a blackjack game in Java with pencil and paper. That was a lot worse than any of the whiteboard ones I've had.
Reminds me of programming tests at my college.
Fuck all these losers. I'm not kidding. They can get fucking aids and die at this point holy shit.
Correct, it was a "remote whiteboarding session".

It has made me absolutely loathe non-interactive sessions. Not being able to run the actual code is ridiculous. Some of the best analysts and programmers I know of are "architecture guys/gals" who can create complex systems but may not knock out the actual code so quickly, or, as I like to call it "error message programmers".

Creating an interview test to weed out otherwise-intelligent "error message programmers" is, in my book, poor interview construction.

This is me. I've used so many different programming languages over the years that for the first week of any new project, I am definitely an error message programmer. It goes something like this on day#1

Okay, I need to iterate through a collection. Which is it again?

foreach (int element in elements), no that's C#.

for (int element : elements) .. nope that's java

for (var element in elements) .. There we go.

Probably wouldn't exactly go like this, I know js isn't typed when I sit down to write it. (except for when it is!) ;)

Regardless, I call this my "tooling up" period. Each day i'm faster, and it takes about a week to get to 100%. but then I'm golden until the project is done and I inevitably have to switch techs again. I probably need to flex more than specialists in interviews because of this. Whenever pseudo code is on the menu I breath a sigh of relief.

I'm with you on this, even beyond the first week. Been doing primarily Python for more than a year now and sometimes I still slide back to my Perl days and write the C-style for.
Perl has foreach which can iterate over ranges, arrays, lists and is synonymous with for, yet works just like foreach (that's Perl just being Perl).
This is why the real-tests should be entirely in pseudo-code and about the logical structure.

Any optimization should happen after a basic algorithm that works and might go along the lines of (telemetry suggests our platform has a bottleneck here) how would you speed things up if there's an issue in this section?

When I see a candidate is not sure about some syntax trivia e.g. indexing expressions in Python, names for some library functions like charAt, size, length etc. I tell them to pick one (make it up) and move on. Though lately I've been using a runnable whiteboard with autocomplete so they have been able to figure it out on their own.

It makes me sad to think how hard it would be to remove bad interviewers like above. But as long as they perform reasonably well they won't get fired, and I don't think there is any interview QC system to feed back into the org. And thus we slowly slide from A to B and C territory...

Yup. A company reached out to me after a few years where I'd left their recruitment process because someone else made an offer (and they were being quite slow in their responses). I'd had multiple interviews, a coding project, and apparently they had been "ready to fly me out where, had I done well, I'd have had an offer at the end of that day".

So I indulged them. I spoke to a manager who said that he'd reviewed my coding project, and been happy with it ("so we can skip that"), so we talked (largely about K8s, as I am looking for an SRE management role - I'd told them I was happy where I was but was curious, and after all they'd reached out to me).

I talked about my experiences architecting K8s from a green field mostly by myself, and he was excited.

I spoke to someone else and he was excited. Okay, I thought, this has potential.

Email from HR: "We have a tech screen lined up for you. Please nominate some languages." I went with Python. Bear in mind I haven't written substantial code in _any_ language (except YAML, hah), for years. And was looking for a _management_ role in SRE.

So I had two rapid fire coding exercises (15 mins each ostensibly). Python lists and comprehensions, and some tokenization stuff. I struggled. Google was my friend but there was a good bit of "error message programming". I walked through the processes and my thoughts. I hesitated a bit at what Big O notation some of my code was, but I recognized routes to loop optimization and could see what was happening, even if I didn't know what the name was.

"Sorry, we are unable to continue following your tech screen".

Oh well. If your SRE PMs and group managers are required to write Python list comprehensions, maybe your idea of "manager" and mine... differ.

To be fair, in my opinion, you chose the wrong tool for the task. Why would you use a sum window function instead of a much simpler aggregate sum function (that does require a group by)?

Without the group by, you will be returning every row from the table, which isn't what the task calls for. You'd then have to do an additional row_number() or distinct or something to just get the unique rows per month per country.

I simplified the ask to be honest. It was not a simple `select date, country, sum(gdp) from table group by 1,2`. There were additional components to the question.

And as you mentioned, you can also distinct on the window function. This is not an inefficient operation in Redshift.

Also I fundamentally disagree with your premise. One result set is equivalent to another, and as long as you aren't using unnecessary nested loop joins or such, there are a dozen ways to solve a query.

In another interview at a similarly-competitive company to AWS , I was asked to do some work on orders and orderdetail tables to find all customers where the aggregate total of their orders from 2005 were greater than that of their orders from 2007. I did it using a couple of `sum(case when extract(year from datecol) = 200x then order_amount end)` statements.

The interviewer told me the question was intended to test whether the applicant was able to do a self-join but they were impressed with my alternative solution. That is the proper way to test SQL, not to say someone "did the query the wrong way"

>One result set is equivalent to another, and as long as you aren't using unnecessary nested loop joins or such, there are a dozen ways to solve a query.

If they consume similar resources I'd almost always opt for the simplest one to understand.

In cases where the simpler one is less efficient, I might still use it if the task didn't require absolute optimization.

Sure, and that would be a fair criticism, to say, "is there a version of this that's more intuitive and easier to read with the same load on the server?" But the interviewer (assuming the OP faithfully represented the exchange and the domain) is insisting that the query does not do what was asked -- when it does -- and is saying so based on the interviewer's own incomplete understanding.

That's not a good reason to reject a candidate, even if there might be other good reasons in this case.

Exactly, it would have been fair game to ask why I used a window function instead of an aggregate function + subquery joined back onto the main result set. Or, to ask if I could rewrite the query another way which would be more efficient.

However, the interviewer didn't simply insist the query does not do what was asked (when it did indeed return the correct results).

Instead, the interviewer actually insisted it was an invalid query which would not run at all.

In this case it sounds like a bad interview and that they missed a good opportunity for discussion!
From their perspective, they have hundreds of candidates and need to quickly filter a bunch out. So, having low-technical knowledge recruiters ask questions and look for a standard set of answers is the way they do it. There is no room for technical discussion during this phase, no room for nuance.

I'm not saying this is a good process or that it's fair, but it is the reality right now. You still get OK results and it's far faster and cheaper.

I’d already passed the recruiter screen and another phone interview. This was the technical interview with the manager of the group.
You're exactly right wrt interviewing. I was talking in general and not in the context of an interview.

If you are interviewing someone and they solve the problem you ask, and then you don't give them some sort of guidance or constraints to meet your "correct" guidelines, then you aren't doing a good and fair interview.

In my experience, it is not unusual at that company for an interviewer to have poor knowledge of the technical subject matter they are asking you about, and to be unaware of this fact. Amazon has some extremely bright engineers but, unlike some of the other tech companies, there quite apparently doesn't seem to be a quality floor either and you can be unlucky in an interview.
Rather than be annoyed, you'd probably get bonus marks if you could show him the group-by query (sounds like you could have done that easily), then explain why your way is better. The interviewer would have been impressed at your maturity and skill.
The actual interview was more akin to the interviewer telling an interviewee that "python doesn't support multithreading"; something patently false. No, this kind of erroneous statement should not be glossed over.

For your information, this was the later stage of questions. The very first question did involve a simple summation group by, so I'd already demonstrated my understanding there. I showed no frustration or annoyance during the interview in case you are attempting to imply that was the case.

"python doesn't support multithreading"

wait, what about the GIL?!? did they fix that?

Python does support multithreading. The only thing the GIL does is prevent you from simultaneously running python code in more than one thread. You can still use threads to do io in parallel or to help interleave CPU tasks.
I think the parent is saying you /can/ use threads, but they will all contend on the GIL.
This happens everywhere; The superstar software developer (no) who knows everything (no) gets to interview you, and sometimes they are simply not right.

Your story reminds me my ~7th (?) interview with Google where for LRU caching I mentioned Java's LinkedHashMap; which resulted in he explaining me "what a ridiculous, memory-wasting data structure would that be!" - and going on for a good 5 more minutes bashing my lack of knowledge and me trying coming up with ad-hoc data structures.

Needless to say, I continuously refused all their recruiters since then.

(For the interested: https://docs.oracle.com/javase/7/docs/api/java/util/LinkedHa..., "This kind of map is well-suited to building LRU caches." - part of Java for more than a decade.)

My story: an interviewer stubbornly insisted that my code had to be O(n^2) because it had an inner loop, even though the inner loop was only iterating over the substructure of each element, rather than every pair of elements, and then demonstrated that he had no idea how to resolve a disagreement of that kind, and then immediately vetoed me from the rest of the day's interviews.

https://www.reddit.com/r/cscareerquestions/comments/1ilh7o/w...

If you manually unrolled the inner loop during the argument, would that have worked? (I’m not saying you should have had to, but sometimes you need to pick up a clue by four and whack someone with it.)
See the follow up comments about the experience in the Reddit thread. Everything bounced off this guy. He even thought he had “got me” by asking “what happens when the words are really long?” And I was like, “if the average word is long, that just means there are fewer of them for a given n and it cancels out.” I then clarified definitions about what “n” refers to and showed how it’s the same thing as “average word length L times number of words w”.

I even asked him what he would need to see to believe it was O(n) and he had no answer.

Nothing worked!

This is pretty much why no one should feel bad if you're rejected after some FANG interview. It all 100% comes down to the people in your loop. You're likely to hit an ass hole or two.

I made it into Amazon, but honestly, after sitting in on a bunch of interviews, I now appreciate the amount of pure dumb luck involved (i.e. I got a loop of people who liked me and had questions I understood) rather than any skill (which is, well, pretty limited in reality).

Well I appreciate these interview loops because at least they are still far more objective than big company promo processes when whoever lies the most and forces others to do their dirty work gets promoted. I do wish the interview process was even more objective, just administer and extremely difficult IQ Test instead.
IQ tests are rarely objective and they most definitely don't measure the things most important for a large company.
Nor for a medium or small company. (I say this as someone who tends to take these tests very well, but they’re not that commercially relevant.)
Doesn't have to be a standard IQ test, I would be fine with the test being about algorithms and systems design type questions. Just please remove the biased human component from interviews and use a more standardized metric across a group of people instead of randomly chosen questions for each candidate with subjective evaluation. The current process is not great even for people with good tech skill due to the randomness and subjective evaluation factors.

Also you are wrong about standard IQ tests not being able to measure relevant skills for tech companies. They not perfect but I bet even those would do a better job than the current process. The psychometric research is clear that they are useful for predicting results across a wide variety of domains.

> standard IQ tests not being able to measure relevant skills for tech companies

I am basing this on what the HR department for the company that I work for tells me. They have been administering them for years and they have never been a reliable indicator of company performance. That doesn't mean they're not used - management loves them.

> The psychometric research is clear

Do you have some sourcing for me? Perhaps I can read up and improve my own professional experience with new colleagues.

Skills you can learn. Obviously if you have them already, it is a big plus. Otherwise, if you show you have some skills, that’s a good sign that you can learn new ones too. That’s why some interviewers ask questions more relevant to your CV than the job requirements.

It’s more important that you have a professional attitude and can contribute to the culture and values. That’s much harder yo learn. And a wrong character with even all the hard skills can ruin everyone.

I've (nicely) reported interviewers like this to the recruiter. If other feedback comes back good, they might look back on the interviewer's past feedback, and they might request a follow-up interview.

> I continuously refused all their recruiters since then.

Even the almighty Google has people who don't know what they're talking about. Unless they're all like that, I'd write it off as a fluke. It's an embarrassing fluke for the interviewer--this is their problem, they should know it forwards and backwards and all the common solutions. If you get a lot of interviewers like that, then you should run.

Of all the interviews I've been to, I felt the most uncomfortable at Google. I was surprised how obvious it was that many Googlers are stuck-up, full of themselves, not just the aforementioned person.

Just because, they are Googlers.

Disclaimer: I'm not generalizing, and do have friends working for Google. Also this wasn't in the US.

Just for technical closure: Is the idea that you move an entry to the front of the linked list on access and then expire from the back of the list?
This is the reason whiteboarding gets a lot of hate.

It's really a great way to get insight into how people approach problems and how fluent they are in a subject. And if they get something wrong, but they thought it through, that's a problem that will fix itself pretty readily. The person who doesn't think stuff through likely won't start.

But the naive approach to whiteboarding is to do it as a test, can the person perform task X on the fly. The trouble is it's invariably an ad hoc test that generates ludicrously biased data. The really bad interviewers want to stroke their ego by stumping you with all the cool minutiae they know.

A week after, I passed a whiteboarding with one interviewer, the first of 4, at another large company (not FANG tier) writing pandas and SQL. The interviewer cared about design and the steps to perform a data loading task then querying it, and offered the choice of writing code or pseudocode (I did pseudo for python and wrote out the SQL explicitly).

That’s the proper way to whiteboard.

I remember suggesting one of my colleagues to take an interview instead of me and my manager disagreed and said I never saw him admitting to make a mistake.

Ideally you only hire people with good soft skills, but if you couldn’t, at least you should make sure they don’t do the interviews.

I hired last time someone because he showed us something we did not know yet.
Wait. Amazon's anti-union rhetoric said they want rapid innovation and want to focus on customers!

Are you to tell me that Amazon 'associates' might actually benefit from unionizing?

(comment deleted)
This is a good post about something that doesn't get talked about a lot. NDAs and confidentiality agreements should be able to cover the concerns of loss of intellectual property.
This is worrying on so many levels. How is a person supposed to provide for their family if a non-compete clause prevens them from taking another job that can match the salary ?

Doesnt the employer enforcing non compete have to provide a portion of the salary if the former employee has to work for a reduced salary in different industry?

Also -- shouldn't the suing company have to show what secret sauce the former employee could be taking with them ? And if that secret sauce is that valuable, shouldn't the former employer get a patent on that sauce instead of suing employees.

IIRC salaried workers at Amazon get 10 PTO days. This stops me from even applying. I wouldn't ever again consider less than 20, and really need a minumum of 25.
Nah Amazon has 15 and 20 at 7 years, which is pretty common in the US at least.
By PTO are you deliberately narrowing to vacation? Full time workers also get 6 days/year Personal Time. The current US vacation schedule also changes over time, from worse than 10 days to 15 days.

1st year: 5 days, 2nd: 10 days, 3rd: 11 days, 4th: 12 days, 5th: 13 days, 6th: 14 days, 7th+: 15 days.

Thus, the time-off goes from 11 days to 21 days per year.

Which is still pretty bad...
The max you can hope for is 21 days? That's obscenely low.
Imagine being a new hire in almost every part of the civilized world and still having more vacation time than a guy laboring in the mines for 7+ years.
Wow, this is what passes for PTO at the fabled FAANG companies? I work for a small company in a non-tech field and salaried (exempt) employees start with 20 days of PTO and increase to 25 after 5 years. 10 days is pathetic.
That's not salaried workers in general, only engineers and other roles that are hot markets. You average category manager starts with a whopping 5 days of PTO. Until Seattle passed ordinances regarding sick leave, nobody had a separate sick leave. If you got sick, it came out of your PTO.
I know people who work on AWS and they were telling me that they get 10 days of some other kind of vacation they can use too. So it's like 10 "real" vacation days that I assume roll-over year to year, you get paid for if you quit with them, etc. and then another 10 that are completely use-it-or-lose it. I don't know the details though
That's basically it. You have normal vacation time, then "personal time", which is what is used as sick leave. It doesn't roll over and you're encouraged to use that by the end of the year.
I see, didn't realize it doubled as sick time. I guess that is good if you are a young and healthy person, since it encourages you to not lie about being sick and lets you use that time for extra vacation.

Other competitive companies will often do "unlimited sick days" and start you with 3 weeks of vacation, which I would still personally prefer even though I am unlikely to be sick for over 5 days of a year.

A family member works there and can attest to how crappy the PTO is at Amazon.
As long as they let you take unpaid leave, you can negotiate that into your salary ask.
I once met a guy who was a programmer for a hedge fund. The strategies and knowledge he had would be very useful to competitors. They didn't have a non-compete agreement in the contract, as this is almost never enforceable here, instead he agreed to a six month notice period - after working two months' notice they then paid four months' salary for him to take a holiday while his knowledge became less and less useful to a competitor. I guess the strategies these guys use only have a limited shelf life but I don't really know much about this sort of work.

Perhaps that sounds like overkill but it feels a bit more reasonable and more fair to the employee - if you want someone to agree to a non-compete then you should agree to pay them for their time where they can't work.

(comment deleted)
Can confirm that this is generally how critical financial positions work. They do have a no-compete but the expectation is that the no-compete is paid for at the previous wage. It's quite common to get a 6 month severance during the cooldown period.
Without payment non competes are flat out unenforceable in some legal systems.
I got a couple of months' gardening leave (as it's known in the industry). The most senior guys would typically get six months off work: three paid, three unpaid.

It's just an industry-standard way of doing things. I didn't leave for a competitor but still got a paid vacation (though in principle I was "on call" while I was on the books).

To be honest, it sort of felt like a courtesy they extended rather than a means of protecting their IP. There's already a huge amount of lateral hiring in asset management, so everyone already kinda-sorta knows what everyone else is doing.

> I got a couple of months' gardening leave (as it's known in the industry). The most senior guys would typically get six months off work: three paid, three unpaid.

I don't understand - three months unpaid gardening leave is just unemployment.

Taken literally, the unpaid component isn't gardening leave, but informally people will refer to the whole period of down-time as gardening leave.
Even without a non-compete, you can’t divulge company secrets to new employer. NDA’s are enforceable.