The summary: guy interviews and accepts an SDE1 role at Amazon, guy resists building alliances with those holding power in the org, guy is surprised that his work is boring and nobody trusts him to make big decisions, guy quits.
Reality: No large company is going to let newbie junior hires call the shots. Everything in this piece was completely foreseeable and does not reflect poorly on Amazon. You have to earn trust in any company, especially when hired into a low-level role.
I also don't understand why the candidate with 10 years of industry experience decided to move forward with interviewing after being told it was for an SDE1 position. It seems like he missed a big opportunity to realign expectations at that early stage of the interview process.
SE1 is ridiculous for someone with 10 years experience as either they deserve a much better title or they didn't learn enough in the last 10 years and you shouldn't hire them at all.
It doesn't matter if your name is Alan Turing, or Donald Knuth. If you don't do great at solving five pet questions, posed to you by five software engineers of average ability, you're going to get an offer for a junior position.
I hope the net isn't too harsh on this guy for being honest.
That alone is such a major clusterfuck that it should push everyone away from working at Amazon Canada.
Most of what you say is true, except the part about expecting him to work in Seattle illegally. If true, that reflects terribly on Amazon.
All in all I found it was just the normal level of "big company bullshit" that is in fact a necessity whenever you have very large groups of people trying to work towards a common goal.
| given the fact that I wasn’t too efficient with Java (it was not the primary tool in my past experience)
Maybe because his 10 years didn’t give him the relevant knowledge? Also, his attitudes sends a clear ”I’m a junior” message, so SDE1 might have been right call.
Please explain. I don't mind to be called "junior" or whatever title you stick on me, but what is "junior attitude"?
Moreover, I saw quite a few senior engineers and discovered that I do not want to be alike…
This is one thing that I've seen at several jobs I've had and it seriously concerns me. I'm almost 10 years into my career and I've worked at 5 companies. I don't feel like I've ever worked with someone that I really thought of as someone who I want to be like.The senior engineers, tech leads, and managers I've worked with are usually people with more seniority, less energy, and not much more wisdom.
It wouldn't make me so anxious, but that I'm getting to the point where I feel like I'm their position and my less experienced coworkers are thinking the same of me. I try to be better but I've gotten tired of it and I get the feeling that everyone else is tired too.
He has a decade of industry experience, took a new-grad level because he figured he needed to get his foot in the door, and discovered that the promotions process doesn't take his prior experience into account; he might as well not have worked anywhere else at all.
The real issue he has with Amazon isn't that it's bureaucratic - that there's a form to fill out for promotion, or that a variety of senior people he needs approval from seem to be fuckwits. His issue is that he wasn't treated as a person. Meetings weren't about getting the benefit of his knowledge and experience, they were about getting people to figure out how to parrot the figures produced by internal monitoring and circumstances in ways which best fit the Amazon Leadership Principles. That ultimately makes people feel like robots, like cogs in the machine. It's deeply alienating and unsatisfying - nobody really wants to work in an environment like that.
The bit that did paint them in an appalling light for me, wasn't the bureaucratic complaints, that just sounds like average corporate bullshit, you either put up with it, or you work somewhere less corporatey. The thing that I thought was really bad was this -
>Semi-legal business trips to Seattle to close gaps and to speed up processes. The management expects you to be ready and spend your 6 hours of personal time driving to / from Seattle. Although legally you are only allowed to go US for trainings or meetings, however, you can find yourself driving (or taking a bus) to Seattle at 6pm Wed, working in a conference room during the next 2 days in order to meet a deadline. I have seen people doing that… The other day I was interrogated for 20 minutes by a border officer and was almost deported at US/Canada Border because I mistakenly stated that I go to work for Amazon at Seattle. I could be denied an entry to US for the next 5 years!
Fuck any company that puts their employees in that position.
It does seem like standard policy among tech companies though. I came to the US to work for Microsoft (I'm no longer there) as a level 59 (lowest SDE level), despite having almost 6 years of experience at that point. My wife (an SDET) had even more experience than me (she was a Senior SDET before we moved here) and when she got a job her company did the same thing.
One thing the author gets right is that it's not necessarily about being brilliant but being able to work in the context of the team. And this defines the promotion ladder. This is the build trust thing. It's not specifically innovative and it leaves a lot on the table (which is why people leave.. to have a bigger impact).. but after you reach the "bar" so to speak then you will have more higher level work then you can handle.
How long did it take you to get promoted back to your level ?
Thinking back, I can not think of a single manager or lead that I wanted to be like, as well.
In fact, because of my last horrible manager, the worst I've ever had, I want to exit the industry all together.
I just want to go my own way and have my own small business.
* Extremely focused on product quality and defensive code
* Maintenance focused more than feature focused
* Excellent with documentation
* Indirectly focused on self-promotion by writing good books or producing beneficial tools
* Never directly focused on self-promotion
It is so easy to get bogged down with bloated, dependency heavy, framework bullshit at work that product quality is distantly lost. When writing important software as a hobby you don't have to conform to a lowest common denominator for acceptance by new hires. In fact, because of my last horrible manager, the worst I've ever had, I want to exit the industry all together.
I consider myself lucky to never had a truly horrible manager. I just want to go my own way and have my own small business.
If only it were so easy.Client acquisition has been its own brutal process, although working remotely no doubt adds to the difficulty. I’m lucky enough to travel with my wife, who has a good job in a different industry, which has helped buffer the difficulty in landing consistent remote work.
I definitely don’t regret my decision because I’m happy to busy myself with hobby or non-tech work, but just make sure you’re aware of the risks. I wish you and anyone considering the same the best of luck!
Best thing to do, from my experience, is to take some time off (if you can afford to) and get your head clear. Distance really helps.
At this point, I've read enough blog posts about leaving FAANG companies and they all paint a picture that makes me sure that I wouldn't want to work there.
This blog post didn't change anything in my mind about employment at Amazon, which was surprising in it's own way. It was an experience to read because it was different than what I expected.
It's like if you're reading stories from people who were tortured and you're cringing at every twist of the knife. Then one story is about being given paper cuts and you don't cringe at all. (not that it is a fair metaphor for something that may affect your career/livelihood like Amazon)
I've been in his shoes. After a few years into a job, I looked at all the senior folks (not too senior - say 2 promotions above me), and did not envy any one of them. I did not want to work hard to get to the level they were at, because either the job sucked, the work was too much, or the politics were high (i.e. you have to become a crappy person to do well there).
This is not universal. I've worked in places where there were role models, and where I felt like "Yes, I'd like to put in the extra effort to get those promotions".
> You won’t be promoted for doing your job, you will be promoted by focusing on your promotion.
Well, yeah. That's how it is in a lot of companies, especially big ones. Doing what is expected of you in your current position is proof that you are well suited for your current position. Exceeding expectations for your current position is how you get promoted.
If the company has a documented promotion process, (and it seems like Amazon does based on the article), then focusing on that process is not a distraction from doing your job: it is doing your job! They went to the trouble of spelling it out for you because that's what they want you to do!
It seems like the author's idea of "doing your job" was different than his employer's, so of course he had a bad time.
That was exactly his point though. He hoped that he would get promoted by doing an awesome job, by going beyond what was merely expected as "done".
I know where he's coming from. I've had one job in my career that was exactly like that (and I miss it dearly). I never really worked on promotions while on that job. I was very passionate about the stuff we were doing and made sure we were always building the right product for our customers, made sure our code was excellent, made sure we fixed bugs quickly, etc. And I didn't do those things by going around politicking. I just came in every day, sat at my desk, wrote code, had technical discussions with other folks, did code reviews, etc.
I got two promotions while on that job. They always came as a surprise and came with a brief talk with management about how much they appreciated my contributions and my technical skills.
These days I just dread all the career stuff. Thankfully I'm in a position at my current company where I can just "park" for the rest of my time there if I want to. The last thing I want to do when going to work is politicking and forking alliances and whatnot. I want my technical work to speak for itself. If that's not enough, I don't care. I make more than enough to make a good living.
I was frustrated by the expectation to focus on documenting to get a promotion. I don't think it is a good practice and was surprised to see that:
> focusing on that process (promotion) is not a distraction from doing your job: it is doing your job!
Seems like you understanding of "doing job" is different. To make it clear - I used to be promoted by helping a business grow - complete activities on time on an excellent manner, optimize, reduce costs, propose new features / work on POC.
Not by writing self-promotional documents.
> Exceeding expectations for your current position is how you get promoted.
Unfortunately, it is not by "exceeding", but documenting that you have exceeded, and knowing how to document it right, sometimes not really exceeding at all.
> It seems like the author's idea of "doing your job" was different than his employer's, so of course he had a bad time.
Do you think I came from Tel Aviv to Vancouver AND brought my family to just "do the job" and not to exceed? And, moreover, write and share an article about that? No.
>Not by writing self-promotional documents.
>> Exceeding expectations for your current position is how you get promoted.
>Unfortunately, it is not by "exceeding", but documenting that you have exceeded, and knowing how to document it right, sometimes not really exceeding at all.
You're stating the problem to be documenting. Yes, Amazon, I, and many others think that having concrete examples and data outlined explicitly is a good way to make these important decisions. Otherwise you have nepotism and gut-feeling type promotions for employees. If you thought about this more, would you really want promotions handed out randomly? How else do you show you're "completing activities, optimize, reduce costs, work on POC". Do you want to leave this all up to one person, your manager? What if they have a slight against you? Do you want your manager to do the work of documenting your progression? You still run into the single point of failure problem, on top of your manager's workload increasing for each developer, on top of them usually being already busier. Amazon et. al. constantly seek data on doing these types of things better, but you haven't proposed much of an alternative.
(Disclaimer: Amazon employee, opinions are my own, not my employer's)
There are much better places to work for in Vancouver (my opinion :). Hopefully you'll land in one (should have landed that before leaving Amazon :) ). There are definitely places with better management and where good work is noticed. That said you need to be aware of the cultural differences and that things work differently than the way you're used to. I was really lucky in terms of landing in a place with good culture and a team that I really got along with, but still there were culture clashes initially (and probably to some degree still are).
Anyways, good luck at work and surviving the grey winter ;) Let me know how to get in touch if you're interested in some more local advice.
Amazon is a giant machine with hundreds of thousands of employees. How many SDE 1s do they hire Evey year globally? Hundreds? More? How do you possibly treat them all fairly when no single person has met them all?
The result is that companies like that become heavily systematized. Even if your boss wanted to promote you, they would have to defend the promotion to their boss which requieres evidence. And that boss has to justify all their promotions to their director or VP by demonstrating how they are making an impact across multiple teams - thus more evidence.
All that takes documentation. There are just too many people involved for promotions to be based on personal relationships.
What if one boss is super promotion-happy and another never promotes? How do you fix it? Because this happens all the time. Thus you need documentation to justify why each person gets promoted so there's at least so level of fairness - even if that documentation is totally detached from how you feel you do on a day to day basis.
Yes, big tech companies are soulless machines and you are right to leave if you don't want to live that life. The only way to succeed there is to learn how to play the game to some extent. It is just how it is. No one else has found a less terrible system that seems to work much better when that many people are involved and are competing with each other for money and promotions.
This was apparently a relatively recent change. Until about a year ago, apparently managers wrote this document. Previous feedback that the promotion process seemed random, obscure, and allowed favoritism resulted in this change being made, where employees are involved in writing their promotion document.
However, the intention isn't to focus more on documenting your promotion than doing the right things.
At least in our office, senior management is aware of the problems that have been introduced, and trying to find solutions.
> Not by writing self-promotional documents.
If you think the most important thing for promotion is writing your promotion document, you have either been misled by your manager, or you have fallen into a trap.
> Unfortunately, it is not by "exceeding", but documenting that you have exceeded, and knowing how to document it right, sometimes not really exceeding at all.
In my experience, this is not true.
I have sat in promotion reviews where the manager was told to write the employee's promotion doc for them, because it wasn't worth it to frustrate an good employee who doesn't find time to write his own promotion document.
I am sorry that you had a bad experience at Amazon, but your experience doesn't match mine or any of the colleagues at our office that I know well enough to gauge their job satisfaction etc. However, a lot of your sentiments have been reported to arise in junior employees (who seem to focus too much on reaching promotion instead of on developing themselves).
Your case may have been different because you seem to have had a bad hiring experience, where you should have been hired as an SDEII, not an SDEI. But, your manager should have sorted this out for you (by doing the work to fast-track your promotion without letting you do all the document-writing). Either you had a bad manager, or you didn't discuss this with your manager adequately.
I think it is unfair for you to judge the whole company based on what seems to be one bad manager.
I still struggle with it every time I need to invest the work, but c'est La vie.
And if focusing on your promotion is your job according to Amazon, well than there famed leadership principles, Customer Obsession being the first that comes to mind, are just words on some document you have to use for political purposes. What that means for Amazon as a company is everyones guess.
I was (un)fortunate that my first few managers were proactive in rewarding my good performance, until I had a manager who wasn't. Under the new manager, my peers had all been promoted in due time, and my feedback from them and said manager had been positive, as he'd expressed during our frequent 1:1, so I wasn't worried about my progression. That was until I casually brought the subject up at a 1:1. He of course affirmed that it would be forthcoming, but from his demeanor my gut told me that he hadn't given it a thought until that moment. I believe this was not out of malice or office politics, and in retrospect my coworkers had dropped hints to me that I should have broached the subject sooner rather than later -- this was how this organization operated -- but the idea was so foreign to me that I didn't quite process their message. Had it been malicious I would have been screwed. Ever since I've erred on the side of impudence. I hate it, but...[0]
No analogy is perfect, but suppose if you do your job, you expect to be compensated; if you do a good job, you expect to be promoted, get a raise / bonus, etc. Would it be acceptable for a company to not pay its employees unless they bring it up each pay period, because it's "100% [...] part of [their] job"? Indeed there are industries -- often low end retail -- where this happens a lot, and this assuredly contributes to employee dissatisfaction. Similarly, some people would prefer if their work speak for itself, and managers / companies wouldn't neglect to promote them just because they don't bring it up. When the OP found out that's not now it worked at Amazon (and many other large enterprises), he was understandably miffed, as I was from my own experience.
I eventually left because Amazon restricted building games in my spare time with my friends. I just wanted to jam on the weekends on something that would never ship as a creative outlet. Turns out they have a policy that says you cannot make games (even in your spare time) with people who are not Amazon employees and you have to be willing to give up a license (or ownership) of all games related IP you develop while employed.
The policy was separate from the open source policy, and applied specifically to games. I tried everything I could think of to change it, and ultimately made the choice to walk away.
Reading through this post, I see some stuff that I agree with from my six years, and some things I disagree with (or were likely just the result of landing on a bad team). But I'd still be there if I could make some stupid games side projects.
I ask because what you're describing sounds illegal in California.
My manager told me it is trust that I yet to earn — people don’t trust my judgement and I need to build good relationships
with decision makers. I agreed. But that what is called “politics”.
I don't think this is a good example of "politics". I think this is primarily about earning a place in a team among the people who have been sweating it out for years. It doesn't happen overnight, and it's especially difficult in an entry-level role.I've been living in the US for several years now, but I'm originally from Brazil. I started my career there.
In Brazil, my experience was always that people initially trust newcomers, and only lose their trust if they fuck up. I always felt trusted when joining a new team, and thankfully I never fucked up. But I saw people fuck up, and other people lost their trust on them very quickly.
In the US (and I think Canada, both countries seem to have similar work cultures), it seems to be the opposite. When you join a new team, you have to prove yourself worth of their respect. You have to do some initial labor to show that you deserve your place in the team. That's been the case in every team I've joined so far.
I don't know what it's like in Israel, but I wonder if the author of the post had a similar experience to mine.
If someone truly cares about cultural acceptance (above and beyond the superficial diversity jabber), it would serve them well to start by replacing trust (and distrust) with intelligent appraisals.
Trust is an archaic emotion that may have had its value in primitive societies living amidst predators and such demanding instant reactions. However we now live in a safer modern society where newcomers to the team don't come with an intention to kill and plunder others; why not just use the brain's intelligence to deal with their proposals? Why keep these archaic hierarchies alive and the need to "earn one's place" in them?
I think the best option for me is to not derive all of my happiness from the amount coming in to my bank, and instead work on things that I have a clear impact on.
When I graduate this spring I’m going to be looking at medium-sized companies with a bright future, not the shadowy giants.
Even if what you just read is 100% true, it’s from someone else's perspective. So you don’t know what you are missing.
I have worked in both big companies and small. Politics abound in all of them. In my opinion company culture plays a large role in how toxic the place really is.
Another factor is your manager. Sometimes they can even compensate for toxic culture by shielding you from it and having a pleasant environment to work in. Unfortunately I have not been able to come up with a great set of questions to divine whether someone is a good manager or not. It totally depends on how much they believe in having your back vs having their own backs.
Don’t let experiences like these discourage you. There are plenty of big companies where you can have a sizeable impact because team sizes are small and the work is challenging. And there are plenty of small to mid size companies that are just surviving from one round of funding to the next on the whims of their investors.
Only way to find out is ask a lot of questions and try a few of them.
There's also the other side of impact. Sure, it's easier to have a larger impact the smaller the company is. But... the other side of that is that there is a lot of pressure. At least on the ops side of things, a lot of my happiness has to do with how often the pager goes off. I mean, I don't mind being on pager; I can stay sober. But... if the pager goes off too often? we've got a problem, because my performance degrades as my sleep does. You can wake me up once a week. Maybe twice. More than that? and yeah, I'm not going to be so useful.
Larger companies have a lot more bureaucracy, sure, but that's good in some ways. For me? the biggest way that the bureaucracy is good is that it makes my relationship with my immediate supervisor (and those up the chain) feel a lot less feudal. It feels like it's a lot less dependent on my personal relationship with this person. (I mean, sure, your supervisor and your personal relationship with them is still important... just not as important)
But... a lot of people like smaller companies, too. It's a good idea to try both. But if you do get the chance to try working at a FANG company, I recommend you take it; If you don't like it and you leave after a few years, it will make it a lot easier to interview at smaller places.
I want to say that I like their promotion process. It’s designed to be transparent and owned by the employee. I’d much rather have an ongoing conversation with my manager, using the doc as an excuse, that keeps the conversation on how close I am and exactly what I need to do to progress. This is far better than just working heads down and quietly wondering when you’ll be picked.
It’s also designed to persist in the event your manager leaves, which is a high likelihood event in the tech world on the scale of years. It would be really bad if your promotion totally depended on the support of one person who then leaves and you’re left at square one. At Amazon, boxes are ticked and they stay ticked if your manager leaves.
Yes, it takes time to maintain this doc. But it mostly is an excuse for you to have an open conversation with your manger and focus the conversation in a way that helps you grow and progress. It may not be perfect, but it’s designed with all the right intentions and in my experience has been very helpful and effective.
I also struggled with trust early on, but that’s not an amazon thing, that’s a human thing. People will tend to not take the new guy whose preaching big changes seriously, especially if he’s at a lower level. In that case, I found the best strategy was to find the high trust members, get their buy in first, and then present it as “I was talking with X and we think...”. That way, you get to borrow their trust level and he heard, and stengthen the relationship with them. Plus, they probably are better and smarter than you, so the conversation will likely lead to you learning something and being better off than just pushing your ideas on people that aren’t really listening.
Bryan Cantrill has a sometimes hilarious takedown of Amazon's "leadership principles" here, which definitely corroborates this blog post: https://www.youtube.com/watch?v=9QMGAtxUlAc
To me the biggest red flag was the fact that the role/team wasn’t discussed until AFTER the interview was over. Maybe that’s common with hiring events — I work at Microsoft but I’ll be the first to admit I’m very OOTL when it comes to recruitment efforts outside of my team/org. In any event, I know for me, I would need to know what I was going to do and who my manager would be before accepting a job. In fact, I turned down a job that paid extremely well, in part because I had no concrete idea of what I would be doing - and this was after I’d met with the hiring manager and I had a title for the role. Still, the whole thing was really ambiguous and that made me uncomfortable, despite the strength of the offer. That might not be the same for everyone, but it is for me.
But the broader problem I think was that the author just didn’t gel with how things worked at that office. And that’s totally OK. It’s better to leave early than to stick around, especially if you know that early.
The only area I think the author was overly naive was on the promotion front. Obviously there will always be exceptions and edge cases, but it’s generally a bad idea to take a lower-level job with the hopes that you’ll be able to get quickly promoted. Even the most aggressive promotion schedule at a place like Amazon would take more than five months to go from SDE1 to SDE2.
I feel the same way about taking jobs as I do about buying new, unproven gadgets. It’s bettet to take the job based on what it is on paper when you accept it and not what it might evolve into over time. Now, if the job isn’t what was promised and you were actively misled about what you would be doing versus what you actually do (and I’ve had that happen and I’ve also seen that happen to others), that’s a sign you should leave that job as soon as possible. But I don’t think that was the scenario here. I think the author took whatever job he could get because he assumed he’d be able to quickly turn the job into what he wanted it to be. It usually doesn’t work that way.
But that’s ok! We’ve all made the wrong decision about a job or a relationship or whatever. I think it’s great the author was able to realize Amazon wasn’t the right place for him sooner rather than later.
But I don’t think that necessarily says anything about Amazon — just about the experience and fit with the author.
The hiring event is sponsored by Amazon's divisions, it's a massive recruitment - like, we need 30 new developers - go end get em. There was no single person from the actual team I was working for at the interviews.
After I passed the interviews, I was told that they still don't know about the specific job because organizing the paperwork for relocation would take few months, until then many things can change.
As soon as papers arrived I insisted to talk to my future manager (I verified after I started that I was the only person who did that - other people were just assigned a position within a team). It was too late thought - I was already committed to move.
I do take responsibility setting wrong expectations, and as you pointed out (and the article states) it is my experience and observations of what happened.
I'm not sure what exactly he was expecting, I believe this is how life is at all these big companies. Any of the FANGs will have the same level of bureaucracy. If you want a different lifestyle, you can join a startup or a smaller company, but this has been the way it has always been. Amazon is one of the largest tech companies in the world, I'm not sure why he would think it's somehow not a huge bureaucracy and a certain way of doing things with so many engineers.
> It is not enough to get your job done and help the company grow.
It’s a promotion, not a participation medal. Yes, you should get a salary increase but are you qualified for a new title and responsibilities just by showing up and performing adequately at what you were assigned to do and nothing else?
You aren't recognized for doing your job, you are recognized for worrying about your job.
If they can't pay what I'm worth then I wouldn't take the job even if my title was CTO.
From his essay ... Amazon seems like reasonably well run large company by most standards.
The author maybe doesn't seem to grasp that large teams doing big things don't seem hugely efficient.
The bit about the Canada/US border trip was rich, they're trying to get stuff done, it's not like their flagrantly in violation of anything.
"My manager told me it is trust that I yet to earn — people don’t trust my judgement and I need to build good relationships with decision makers. I agreed. But that what is called “politics”. "
It's often in addition to politics, but it's not just politics.
Trust, relationships, competency - those are real things.
Surely some people don't want to work at large organizations, but the author I believe maybe needs some experience to grasp that this is what it means.
I would say to the author: welcome to how it is.
I think the author should have stuck it out for a couple of more years, they might have learned a lot before doing something much more aspirational.
I do not neglect the qualities and agree that "Trust, relationships, competency - those are real things.", but I like them pure, non-situational and not manipulative. And that was not the case.
Its the same everywhere, its not just Amazon. There are only a couple of realistic solutions:
- become a freelancer: this way you can switch jobs every year with no problem. You will get new challenges and you will be able to face this bureaucracy knowing that its only temporary
- work at a smaller company: they often pay the same or more and have a much more personal work environment, with much more opportunities for gaining extra responsibility and performing tasks that are actually relevant to the company.
- start your own small business and become your own boss. This way the only bullshit that you will have to put up with is your own.
Other than that, this is the definition of being an employee working for someone else: you are either doing something that someone else doesn't want to do, or that they don't know how to do.
You will have limited responsibility, and be assigned a supervisor that will control your every move. That is not going to change, its the same everywhere.
They are hiring the brightest and best, paying them large sums of money and then completely squandering their abilities. I mean there's people who in startup could be single-handedly creating best-of-breed software and Google would have them tied up in some marginal aspect of a marginal product.
I'm not sure how that makes me feel...
Although I do feel this is a norm in all big modern companies not just tech. Realistically there isn't a big life goal or changing-the-world impact for any one employee inside the company. I would say once you enter the company, just get used to playing the game and keep advancing, its easier that way.
- dealing with technical debt of other systems
- strictly following a policy or a standard
- fighting with the in-house dev environment
> There were very few interesting problems that actually required to find an effective solution / optimize / enforce security."That's how I feel as well at my current job, but it seems to hold for almost all IT jobs I've encountered.
For me, one of the teams I was on was pretty awful, and the other team was great. Each team is pretty unique.
Too many people like this in medium/big companies. Don't be that guy.
Why on earth?