> 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.
Agree 100% it’s part of your job. You need to manage your promotion rhythm in any company or you will be left just to the context or interest of your manager.
I don't think it's so cut and dried. I concur that "100% it’s part of your job" in the sense that ultimately you are responsible for looking after your own interests, but disagree that this completely absolves your manager / company responsibilities to evaluate promotions by their own initiatives. If anything, not doing so sows discontent.
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 struggled with the same concept myself. A decade ago my manager provided an additional perspective : initiative, eagerness to succeed,ambition... Desire to grow and willingness o work for it, are qualities the company appreciates in addition to "Doing your job". The onerous process is not maybe the best way to measure it, but it's the best way many big companies have. Explained that way, the 'gating' is a little bit easier to understand.
I still struggle with it every time I need to invest the work, but c'est La vie.
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.
>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.
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)
Thanks for your comment! And disclaimer. Probably that's the best process that the company at such scale could adopt, but please let me dislike it.
Probably it's better than other processes, but still, it has few problems, and I tried to point them out:
1. It doesn't solve "nepotism" problem - especially at the higher levels
2. It puts employee's focus on promotion and the document, but not the actual job
the issue becomes alignment of business incentives with individuals incentives. Employees who work just to check the boxes on the promotion doc do better in the system then people who move the business forward regardless if it is necessary for promotion.
> 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!
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.
I think we are on the same page, and I understand the reasons for having this process... and I don't like it. I am not convincing you to reconsider promotion process, neither propose a good solution.
You can say that I was stupid by expecting something else, and you'd be right :)
Keep in mind Israeli culture is very different from Canadian culture which in turn is yet a little different than USA culture. I can totally see where you're coming from (as someone who came to Vancouver with a cat just about 16 years ago).
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.
Thanks for your comment! Yeah, I completely agree with you regarding the cultural gap. Although my team had only 2 locals, all the rest were from Turkey, Argentina, China, East Europe etc....
I managed to find a job quite quickly, and now am happily employed at a small company that doesn't have any of the problems mentioned. Let's get connected at https://www.linkedin.com/in/agoldis/
> 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:
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.
Thanks for investing your time and writing this comment - it all makes sense!
Keep in mind, that it was just a part of my overall experience at Amazon, and the experience is my personal :)
Or maybe you just had a good manager. It not fair to judge the whole company because it was ok for you. I came into amazon via acquisition. My manager never explained the process to me, and I wast even aware there were promotion documents for a very long time. And when setting my level on acquisition, we were told “don’t worry about it. The leveles dont really mean anything”
> Exceeding expectations for your current position is how you get promoted.
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.
There is one very important destinction to make here. Exceeding expectations =/= focuding on your promotion. The first thing is about focusing on your job and getting things done, improving things. The latter is about making the right connections and playing political games. At one point this means that people focusing on their job are being played by those focusing on their promotion. And tthe job-focused people become a threat as well once reality hits and performance does matter.
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.
Stories like this make me even more sure that my path is not to join a tech giant as an engineer. The money would be great, but at what cost?
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.
Ask lots of questions in those interviews. There are medium sized companies try to emulate giants. You can wind up with a company that's not going to pay you as well as a giant, but tries to implement all the rigid, bureaucratic policies of a giant. Speaking from my own mistake.
Always take other people’s experience with a grain of salt. You don’t know their motivations or their biases or even their situation.
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.
so, just a datapoint, but I personally am much more consistently happy with my situation at large companies. Smaller companies tend to be dominated by how good your boss is (or isn't) - and even when you get a good boss, the small companies just don't have the resources, usually, to treat you as well.
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 think this is getting upvoted because everybody likes to dogpile on Amazon. But nothing this guy says seems to reflect especially poorly on Amazon. If the author is going through another job search now I might recommend taking the piece down; it's not doing you a ton of favors.
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.
Most of your points are good but SDE1 may be all the sycophant recruiters would let him in the door at for a variety of reasons that are a dystopian caricature of "values" and misaligned incentives. If his intentions were to quickly try his luck at a tech giant like Amazon, he probably did so the only way possible.
Not sure what you mean by "sycophant recruiters". Most recruiters I've worked with were strongly motivated to bring good people on board at their company. If you are an attractive candidate but you let them know you're only interested in pursuing roles at a certain (non-entry) level, they'll either make adjustments to slot you into interviews for that other higher role or the process doesn't move forward and everyone avoids wasting time. It's really a win-win to be upfront about your leveling expectations early.
There are good recruiters, who do tend to act this way.
But then there are also bad recruiters, who seem to think that blindly generating as many candidates as possible and throwing against the wall as many resumes as possible, is a good way to do business.
I’ve learned enough in this business that I have been able to avoid bad recruiters for a long time, but not everyone has that kind of luxury — or luck.
Of course, even if you do get a good recruiter who has contacted you about a position, it’s entirely possible that it might be for a shitty company, or maybe just not a company or position you are well suited to.
There’s lots of things that can go wrong in this process.
Because there are developers like him that were beating on the door to get in, the function of recruiters is a joke at widely known companies. The needed function would have been called secretarial work a few decades ago but grifters have flocked into most companies and built empires completely outside the line of business and common sense. He needed to talk to hiring managers and find a good team fit and be placed at a level that reflected his capabilities on that team. Only hiring managers can do that unless recruiters start putting in a decade of building software and managing development teams and somehow intimately know a manager's personality. A hiring manager might occasionally need a search firm to find people outside their own network, but that is a completely different function and the manager should start the interviewing after receiving lightly screened resumes. Bottom line if you want to be a leader you need to step up and do your job, and that means recruiting and building your team.
Someone with 10 years of experience getting offered an SDE1 role is a huge red flag for me and makes me wonder what this person's skill set actually is.
I'm willing to bet if I interviewed at Amazon (or Google/MS/FB/Uber) I would probably be put in a similar role, despite having been programming since I was 8 with 14 years of commercial experience. I never went to Uni and have no degree.
I know engineers in your situation. I've interviewed a few. It is unusual for someone with 10+ years of experience to be considered for an entry-level job, no matter what kind of education they have.
In my experience years on the job are what determine the level someone gets hired at, not skill in a specific language.
Being a senior engineer is not normally about raw coding skill -- it's about knowing how to design a complex system, knowing what can go wrong, being able to collaborate effectively with others, and so on. The specific language used is not normally going to make a big difference in those areas, although candidates who need to pick up a new language are going to take longer to ramp up.
With the type of interview and questions at those places I would probably fail. I’ve read stuff on algorithms but I’ve never been in a job needing to use this stuff so if you asked me anything about them I wouldn’t have a clue. Yet it seems this sort of thing is a key requirement for interview process at these big companies.
so, from experience? Interviews can be the best way to learn algorithms for the interview.
First trick? there are fads in interviews. When I go through a round of interviews? there is always a lot of overlap between one company and another in the same location at the same time.
Second trick? Most places are cool with interviewing you once a year. In my experience? the second interview at the same company a year later is more different than a second interview at a different company a week later, but still, there's a lot of overlap, and most companies are actually pretty okay with you trying again every year, if you are close (and if you aren't close, you usually won't make it past the phone screen)
When I was a contractor, I lumped all my interviews into around the same time of the year, and I interviewed with all the top tier companies, a few of the second tier companies, and occasionally one of the not so second tier companies. (The latter mostly because those are usually the easiest interviews and they usually got back to you fastest, so it was a good ego boost, and a good way to negotiate my yearly raise as a contractor) I didn't have a spreadsheet or anything, but often the recruiters at my targets would hit me up when that year was up. Or I'd start wondering how long it had been since my last raise.
But, point being, when you interview? always remember the questions you got wrong. I put any memorization/trivia into flashcards the night after, and I practice the flashcards year round. Keep the old ones; you won't get those questions as often, but you still get 'em. And they are usually interesting bits of trivia that can come in handy in other cases where you want to look smart.
Go through any algorithms you didn't get with a friend to make sure it is what you think it is, and then with a book or online resource. Note, it's totally okay to ask the interviewer what algorithm it was supposed to be if you get it wrong; I mean, you still got it wrong, but if anything, it shows enthusiasm and willingness to learn.
Also, interview in clusters. At least in silicon valley, the fads change pretty quickly, so the more interviews you can do in a row, the better.
I was in the same boat as you two years ago, (coding since I was 5, no uni degree, 14 years of commercial experience) and I interviewed successfully at a FAANG company (where I still work), for a senior role.
From the outside (I've never worked at any of FAANG, I don't even work in the US) it seems to me that they are the most likely of those companies to actually hire seniors as seniors, simply because they appear to have made hiring preferably seniors (in terms of experience, not in terms of age) a strategy, while the others all seem to have made hiring huge numbers of inexperienced juniors their strategy.
It's Facebook. I've met plenty of people from other companies on that list without a university degree. Although, engineering levels are not something that people usually talk about outside of their close social circles.
Eh, as a datapoint, I also have no degree. I worked at google for a few years as a contractor (with 15+ years industry experience before that) - A few months back, I interviewed and was hired on as a L4 (L3, as I understand it, is where you come in after college, L5 is senior.)
My personal impression is that it was pretty clear to all involved what they'd need to pay me, and they slotted me in at a tech level that made that ask reasonable.
(but then, I think that ask really was reasonable for my skill level and the current market, if anything in this market can be seen as reasonable, so I guess in the end, that means the same thing as slotting in my level based on my skill level. But google and the contracting house both had a lot of information about what I was willing to accept, and about what other companies were willing to offer me. I have a very open negotiating style.)
My other impression is that I totally would have had that senior title at a smaller company, but I wouldn't have gotten paid any more, so again, the money seems to be the honest signal.
Sometime after I left there was a big push to get more and more L5s on board, at the point than in some teams L4s were effectively sidelined (and found themselves with little no ability to advance to L5 depending to org politics, in some "high growth" ops teams they made for convenient beasts of burden...)
Ex Amazon here. If you think you would be offered a junior role just because you don't have a degree, think again. Degrees are treated as a plus; the answers to technical questions is what really matter, including the ones or past projects.
Well we do have more details. The OP wrote in this very topic about his software developing experience: he only worked "3 years as JS developer at a startup. Plus few open source contributions and side projects. I wasn't strong in Java or other fundamental languages"
I worked at IT department of Intel for 6 years.
Then for about a year as a DevOps.
Then for 3 years as JS developer at a startup.
Plus few open source contributions and side projects.
I wasn't strong in Java or other fundamental languages.
==
That is my skillset
It is a little misleading in this context, even 25 years of experience doing IT often won't clearly mean you have the right skill set to be SDE2 (and vice versa).
Then it's equally fair on part of your employer, which is interviewing for a software dev position, to consider as relevant experience only those where you actually did software development...
So it sounds like the role worked primarily with Java? I guess I can see why IT for 6 years plus 3 years as a JS dev wouldn't really prepare you for that and why, as a result, you would get slotted into an SDE1 role (hopefully with the expectation of ramping up quickly and making it to SDE2 in relatively short order). I'm not sure I understand why such a role would be interesting to you, though.
Amazon busts everyone down at least one or two pegs in title. A friend with extensive agency experience joined their creative team and when I saw his title I was shocked but he explained that's what they do everyone. He say this leads to people frequently introducing themselves to others by saying "I used to be title X at company Y".
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.
The only thing it may be a red flag of, is of the Amazon interviewing process. Or, of how poorly he interviewed, which may be tangential to how well he does his job.
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 agree that I don't think anything the author has written reflects particularly poorly on Amazon, but did you make it down to the "Summary" at the end of the article? Because the author basically says "Yeah, probably just wasn't a good fit for me."
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.
> 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.
| 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.
In my experience junior people need to be told what the problem is and directed what to do. Seniors tend to bring up the problems along with potential options.
For one, you accepted a junior position. Then you seemed to expect to be treated as a senior.
Then you seemed to be surprised by the issues, again showing you lacked the experience of a senior. I feel you got good guidance but it feels it was not well received.
The away team experience also felt a bit juniory. Your requests we not priotorized high enough but you didn’t find the tools or means to go around it. Understanding their needs and life in general would be an indication of seniority.
Finally, I think it takes at least a year to see how you are able to cope and progress. It takes time and effort to make any changes in a huge corporation.
In the end, I think that you would not have enjoyed yourself working in that environment so you made the right call. It takes certain character traits to be able to enjoy navigating and gaming such corporate culture.
Source: ex enterpreneur with two decades of experience, atm employed in a >100k employee corporation and loving it.
I somewhat agree with this comment, but I don't want him to take his article down. I really hope people out there manage their expectations and come to terms with reality by matching up their experiences with this guy's experiences, followed by reading comments like yours on HN.
I hope the net isn't too harsh on this guy for being honest.
Why is it "completely foreseeable" and normal to you? OP had a work visa for Canada and he and his colleagues were forced to break the terms of the visa and do work in the US.
That alone is such a major clusterfuck that it should push everyone away from working at Amazon Canada.
> Supposedly, every employee should be guided by the leadership principles during their day-to-day routine. The principles actually make a lot of sense, when used appropriately. As time went, I discovered that the most common application of the principles was to creatively find a leadership principle that best supports the situation.
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
Thank you for your comment. Of course that is not how I see promotions work, I have added a remark to the original article to make myself clear.
Thank you again.
I was super happy with Amazon for 6 years or so. Compensated well, worked hard but fairly (and rarely more than 40-45 hours a week), great peers, good managers, and plenty of interesting work to do.
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.
Which part? Companies can claim ownership of any work an employee does, related to their employer's line of work. Amazon publishes video games, they're free to claim ownership of any game their employees work on.
Having looked again at the specific CA law [1], you appear to be correct. CA is better than most states in this regard, but when there's overlap with the employer's business you're still screwed. I misremembered it as requiring the employee's specific role at the employer to overlap with the independent creation.
> 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?
Thank you for your comment. Of course that is not how I see promotions work, I have added a remark to the original article to make myself clear.
Thank you again.
This was the least convincing blog post on this sort of topic that I've read. I didn't see anything that actually painted Amazon in a very bad light. I think anyone should expect bureaucracy to be a major problem at a large company. Complaining about promotions seems a bit unfair since he was only there for 5 months.
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.
Thanks for your comment! To be fair, I didn't try to convince you - I was sharing my experiences and observations :) Most chances the article is not as good as others, I am not a writer (otherwise I wouldn't have a problem with writing a promotion document) :)
I didn't intend my lack of conviction entirely as a criticism.
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)
Agreed. This reads like a fish out of water experience for someone expecting a company with hundreds of thousands of employees to act not like any other huge corporation. Of course there’s going to be politics, culture as religion, infighting, boredom etc.
Perhaps off topic, but are there any podcasts out there for learning to cope with or adjust to the sorts of things this guy talks about in his blog post?
That’s a great question. I’m not sure of any particular podcast or episode dealing with this but I, too, wish I had a podcast or something to listen to to help me know what to expect when I joined my first startup. I’ll pass this on to the Software Engineering daily podcast and Developer Tea podcast.
Update: I’ve tweeted at both podcasts your idea as it’s a great idea
>I didn't see anything that actually painted Amazon in a very bad light.
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.
All the people that I wanted to be like, growing up as a developer, were people who seemed more focused on their programming hobby than their programming job. Here is the take away that I noticed about those people and have attempted to apply to myself:
* 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.
That's a great list and echos what I have noticed about developers I want to emulate as well.
Any tips on how to be "Maintenance focused more than feature focused" if the culture is focused on pumping out features on tight deadlines? I have, of late, found myself engineering more on nights and weekends—trying to clean up and refactor the code that we have to pump out to meet the deadlines. However, I'd love to find a way to make that kind of work part of the day to day.
>Any tips on how to be "Maintenance focused more than feature focused"
Honestly this is more "how do I keep from having to perform maintenance" but just spitballing...
Do you have defined Service Level Objectives (SLOs) for your APIs? Do you have unit tests so you can both prove changes do what's needed and that nothing else broke (regression testing). Do you have good error handling and readable error messages or is that all #todo? Are your processes idempotent? Is there a documented and automated recovery procedure if not? Add all the features you want, but if you build them to have a high uptime and resilient up front you're really combining a view into maintenance (or more importantly - not needing it) while still delivering features. And if those things aren't true then I guess making them true first before adding features is sort of what the original poster meant?
Spend a lot of time on reported issues from users. If a user is willing to spend time to report a defect spend time to ensure you really understand what they are reporting and solve it as completely as you can.
Don't wait for users to report defects. You have to constantly use the software you write. Stress the hell out of it and really try to make it fail. Write tests to ensure the edge condition is covered against future regression.
Attempt to automate everything. Adding new options and features in the previous version of my application was a pain in the ass. Now they are all listed in a single JSON file. The build adds the options into the supported interfaces as well as the documentation. Now all I have to do to add a new option is update the JSON file, add the desired result into the application logic, and write tests.
Ensure your documentation is well structured. You want to ensure all the features are mentioned, but its helpful when reading the docs if there is a uniform organization that explains the purpose, data type, compatibility, and options of each feature.
The challenge with supporting many features is that collisions of various features can result in unexpected outcomes. You have to really look for these things before your users do.
I had a crisis similar to what you describe about a year and a half ago. I still wrestle with whether or not I want to stay in this industry.
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!
> Complaining about promotions seems a bit unfair since he was only there for 5 months
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.
He should not have accepted the job if he wasn't happy with the SDE position in the first place. It would have saved Amazon and him money if he would have been upfront about what he wanted.
And I'm sure that he agrees with you now. Recall that the guy moved his wife with him halfway across the globe to Vancouver to get the job, and has to move all the way back again now that he has left it (because of work visa limitations). If you think he didn't spend sleepless nights thinking through the consequences, you're (probably) mistaken.
Hindsight is 20/20. The opportunity to make a FAANG salary, even if it requires putting in some time at the lower ranks, is not one to be turned down lightly.
The average computer engineering salary in Tel Aviv is somewhere around $85-95k, before (high) taxes, in a city which is the 9th most expensive city on the planet in cost of living, supposedly more expensive than New York. Level aside, $110k guaranteed, before lucrative RSUs, (I presume) lower taxes, lower cost of living... should speak for itself.
So then you do it like we used to back in the day, where we do our time (at least one year) while you look for a different job. Then your visa does transfer over. Choosing to leave before the one year is up is his fault, too.
I thought the part where they offered him an SDE I position despite his 10 years of experience was pretty bad.
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.
Isn't that clear by now? People want to get into the most famous companies. They think that by osmosis they'll be better engineers themselves, it looks good on the resume, they may be exposed to some brilliance, and, surely, once they're there, these companies will recognize their mistake and promote them into their rightful position. Not to mention that it's notoriously hard for people to self-assess their level, also because the coding gods of one company can be the low performers for another company. And personally, I have no reason to believe that Amazon, Facebook, Google or Microsoft are necessarily on either one far end of that spectrum.
On a different note. SDE1s at some place Facebook get paid better than SDE3 at your other non-web companies.
Also its a tad little foolish to throw away money for designation, in your 20s when you can save up and use that money for retirement later. Especially given the fact that SDE1 and SDE3 have to both write the same code.
It's probably because unless the candidate has some external references of superior qualification (i.e. known expert) and that the case can be made to the team, then it's better to level them in at a lower level so that you don't rock the boat for your current employees. It also sets a work hard tone.
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.
You may have read it a bit different from what was intended. Perhaps substitute people with roles.
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".
I had a similar experience. I worked for a consulting company, noticed all my bosses worked 60+hrs/week and decided that it was best to jump ship because life's too short to spend your 30s and 40s working 60hrs a week juggling a bunch of death marches.
This is expected and predicted by the Amazon vesting schedule. In the case that you're curious, it's 5% in the first year, 15% in the second year, and then 20% per half-year until four years is over. Almost like they expect people not to stick around...
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.
20% coding is very sad. I hate to think how many great minds are being wasted this way. After starting work at a startup, I feel more fulfilled in my daily life. I can easily say I spend around 80-90% of my time coding and feel I contribute much more than I ever did at any of these jobs.
In an already grown company there may be not much of new code to be produced outside R&D departments. Most of others work is ongoing operational maintenance, gluing customizations, not-yet automated grunt stuff.
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 think this might be a cultural issue. It's anecdotal but I think I can offer some perspective.
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.
I think India is similar to Brazil in that regard.
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.
In any case, why do we humans persistently depend on the emotion of trust instead of using our native intelligence to appraise each situation as they come?
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?
On any functioning team, you are trusted to do your job on day one. But one of your first jobs is to learn team customs and share the burdens of the team, and by doing that you earn not trust but true respect. Only with respect can you have influence.
That's the best one can manage when confined by the debilitating emotion of trust/distrust/respect/disrespect. Have you ever wondered what it would be like to rely on human intelligence? (It is a question I've been asking myself lately).
To be truthful, it aint a fair world out there, everything tends to deviate to playing some sort of game. Seems like OP just didn't want to play that game.
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.
One thing that I would keep in mind when evaluating the post is how Amazon is organized. I've been with AWS for about 1.5 years and I've found that experiences are different from team to team. There are even larger differences between internal orgs. I would describe Amazon internally as a collection of startups. Each one is run a bit differently than the others.
For me, one of the teams I was on was pretty awful, and the other team was great. Each team is pretty unique.
I work at Amazon. Was hired in at L4 and promoted to L5 within one year, which is a little early, but not by much. I think 18 months is typical.
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.
In his post he talks about how he doesn't want to talk about money. I'd rather tell them I need $200/hr up front in the first email then to have to go through all their time wasting interviews and find out they aren't going to pay what I need.
Yep, this is what I do for solicited and unsolicited approaches. Weeds out the pretenders and also signals that you are a serious person. Price signalling works!
This isn't a very good rant, and I'm not sure I respect the author's decision (though ultimately of course it's a very personal one so we have to respect that).
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.
Thank you for your comment and advises. My target wasn't to disgrace Amazon and tell people how terrible it is. I wanted to share my experience, possible help others to get better idea about what to expect.
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.
My biggest takeaway from reading this isn’t that Amazon is a bad place to work — but that it was the wrong place for the author to work.
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.
I read your comment and I'd say you are completely right.
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.
My one advice is don't take a job that you think is below your qualifications. Don't even apply for them. Because now you're stuck with SDE1 on your resume after ten years of experience. That makes it look like you must not be very competent at what you do. It's always better to hold out for a higher position. If enough time goes by with no bites then maybe reduce your expectations. But shoot high and don't worry about rejection. And definitely don't worry about getting in over your head. If you're competent you'll be fine wherever you land. If not, well you won't be the first person in the world who has been underqualified at their job. But the future opportunities will be greater with the bigger role on your resume.
I find it silly how he was only offered a junior developer role, but then again if it was me I'd probably tell the recruiter that I don't care about my job title, if I have a certain set of skills and experience I just want to get at a minimum the market value compensation for it, so as long as that is the case they can knock themselves out with silly job titles.
If they can't pay what I'm worth then I wouldn't take the job even if my title was CTO.
In startups, titles are more meaningless but at large companies like Amazon your compensation is completely tied to your job title. The two are inextricably linked.
Sounds just like any other large organization that I've worked at: Too much bureaucracy, mindless procedures, politics, blame deflection, responsibility avoidance, siloed teams hiding behind a black hole support email address that don't communicate with other teams, etc.
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.
What strikes me most about the articles about the big tech giants is this:
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.
148 comments
[ 2.8 ms ] story [ 190 ms ] thread> 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.
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.
[0] https://www.youtube.com/watch?v=0Z2JTPalv_s
I still struggle with it every time I need to invest the work, but c'est La vie.
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)
Probably it's better than other processes, but still, it has few problems, and I tried to point them out: 1. It doesn't solve "nepotism" problem - especially at the higher levels 2. It puts employee's focus on promotion and the document, but not the actual job
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.
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.
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.
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.
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 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.
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.
But then there are also bad recruiters, who seem to think that blindly generating as many candidates as possible and throwing against the wall as many resumes as possible, is a good way to do business.
I’ve learned enough in this business that I have been able to avoid bad recruiters for a long time, but not everyone has that kind of luxury — or luck.
Of course, even if you do get a good recruiter who has contacted you about a position, it’s entirely possible that it might be for a shitty company, or maybe just not a company or position you are well suited to.
There’s lots of things that can go wrong in this process.
Being a senior engineer is not normally about raw coding skill -- it's about knowing how to design a complex system, knowing what can go wrong, being able to collaborate effectively with others, and so on. The specific language used is not normally going to make a big difference in those areas, although candidates who need to pick up a new language are going to take longer to ramp up.
First trick? there are fads in interviews. When I go through a round of interviews? there is always a lot of overlap between one company and another in the same location at the same time.
Second trick? Most places are cool with interviewing you once a year. In my experience? the second interview at the same company a year later is more different than a second interview at a different company a week later, but still, there's a lot of overlap, and most companies are actually pretty okay with you trying again every year, if you are close (and if you aren't close, you usually won't make it past the phone screen)
When I was a contractor, I lumped all my interviews into around the same time of the year, and I interviewed with all the top tier companies, a few of the second tier companies, and occasionally one of the not so second tier companies. (The latter mostly because those are usually the easiest interviews and they usually got back to you fastest, so it was a good ego boost, and a good way to negotiate my yearly raise as a contractor) I didn't have a spreadsheet or anything, but often the recruiters at my targets would hit me up when that year was up. Or I'd start wondering how long it had been since my last raise.
But, point being, when you interview? always remember the questions you got wrong. I put any memorization/trivia into flashcards the night after, and I practice the flashcards year round. Keep the old ones; you won't get those questions as often, but you still get 'em. And they are usually interesting bits of trivia that can come in handy in other cases where you want to look smart.
Go through any algorithms you didn't get with a friend to make sure it is what you think it is, and then with a book or online resource. Note, it's totally okay to ask the interviewer what algorithm it was supposed to be if you get it wrong; I mean, you still got it wrong, but if anything, it shows enthusiasm and willingness to learn.
Also, interview in clusters. At least in silicon valley, the fads change pretty quickly, so the more interviews you can do in a row, the better.
From the outside (I've never worked at any of FAANG, I don't even work in the US) it seems to me that they are the most likely of those companies to actually hire seniors as seniors, simply because they appear to have made hiring preferably seniors (in terms of experience, not in terms of age) a strategy, while the others all seem to have made hiring huge numbers of inexperienced juniors their strategy.
My personal impression is that it was pretty clear to all involved what they'd need to pay me, and they slotted me in at a tech level that made that ask reasonable.
(but then, I think that ask really was reasonable for my skill level and the current market, if anything in this market can be seen as reasonable, so I guess in the end, that means the same thing as slotting in my level based on my skill level. But google and the contracting house both had a lot of information about what I was willing to accept, and about what other companies were willing to offer me. I have a very open negotiating style.)
My other impression is that I totally would have had that senior title at a smaller company, but I wouldn't have gotten paid any more, so again, the money seems to be the honest signal.
EDIT: I completely screwed that up. L4–L6 map to SDE1–SDE3.
Sometime after I left there was a big push to get more and more L5s on board, at the point than in some teams L4s were effectively sidelined (and found themselves with little no ability to advance to L5 depending to org politics, in some "high growth" ops teams they made for convenient beasts of burden...)
How many years of SDE experience do you say you have?
Not sure I would would count devops or IT though
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.
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"?
That's one difference in attitude I can think of.
Then you seemed to be surprised by the issues, again showing you lacked the experience of a senior. I feel you got good guidance but it feels it was not well received.
The away team experience also felt a bit juniory. Your requests we not priotorized high enough but you didn’t find the tools or means to go around it. Understanding their needs and life in general would be an indication of seniority.
Finally, I think it takes at least a year to see how you are able to cope and progress. It takes time and effort to make any changes in a huge corporation.
In the end, I think that you would not have enjoyed yourself working in that environment so you made the right call. It takes certain character traits to be able to enjoy navigating and gaming such corporate culture.
Source: ex enterpreneur with two decades of experience, atm employed in a >100k employee corporation and loving it.
> Then you seemed to expect to be treated as a senior.
no, no.... treated like a human and a professional :)
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.
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
You aren't recognized for doing your job, you are recognized for worrying about your job.
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.
[1] https://leginfo.legislature.ca.gov/faces/codes_displaySectio...
> 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?
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.
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)
To be serious, I wanted to be fair with my writing and not to bring toooo much drama. And I didn't expect such exposure.
Update: I’ve tweeted at both podcasts your idea as it’s a great idea
patio11 wrote about it back in 2011: https://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-pr...
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.
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.
It's been a brutal run so far. I'm failing at it and it's hard not to tie your self-esteem and self worth to it all.
Any tips on how to be "Maintenance focused more than feature focused" if the culture is focused on pumping out features on tight deadlines? I have, of late, found myself engineering more on nights and weekends—trying to clean up and refactor the code that we have to pump out to meet the deadlines. However, I'd love to find a way to make that kind of work part of the day to day.
Honestly this is more "how do I keep from having to perform maintenance" but just spitballing...
Do you have defined Service Level Objectives (SLOs) for your APIs? Do you have unit tests so you can both prove changes do what's needed and that nothing else broke (regression testing). Do you have good error handling and readable error messages or is that all #todo? Are your processes idempotent? Is there a documented and automated recovery procedure if not? Add all the features you want, but if you build them to have a high uptime and resilient up front you're really combining a view into maintenance (or more importantly - not needing it) while still delivering features. And if those things aren't true then I guess making them true first before adding features is sort of what the original poster meant?
Don't wait for users to report defects. You have to constantly use the software you write. Stress the hell out of it and really try to make it fail. Write tests to ensure the edge condition is covered against future regression.
Attempt to automate everything. Adding new options and features in the previous version of my application was a pain in the ass. Now they are all listed in a single JSON file. The build adds the options into the supported interfaces as well as the documentation. Now all I have to do to add a new option is update the JSON file, add the desired result into the application logic, and write tests.
Ensure your documentation is well structured. You want to ensure all the features are mentioned, but its helpful when reading the docs if there is a uniform organization that explains the purpose, data type, compatibility, and options of each feature.
The challenge with supporting many features is that collisions of various features can result in unexpected outcomes. You have to really look for these things before your users do.
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.
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.
Hindsight is 20/20. The opportunity to make a FAANG salary, even if it requires putting in some time at the lower ranks, is not one to be turned down lightly.
The average computer engineering salary in Tel Aviv is somewhere around $85-95k, before (high) taxes, in a city which is the 9th most expensive city on the planet in cost of living, supposedly more expensive than New York. Level aside, $110k guaranteed, before lucrative RSUs, (I presume) lower taxes, lower cost of living... should speak for itself.
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.
How long did it take you to get promoted back to your level ?
Isn't that clear by now? People want to get into the most famous companies. They think that by osmosis they'll be better engineers themselves, it looks good on the resume, they may be exposed to some brilliance, and, surely, once they're there, these companies will recognize their mistake and promote them into their rightful position. Not to mention that it's notoriously hard for people to self-assess their level, also because the coding gods of one company can be the low performers for another company. And personally, I have no reason to believe that Amazon, Facebook, Google or Microsoft are necessarily on either one far end of that spectrum.
Also its a tad little foolish to throw away money for designation, in your 20s when you can save up and use that money for retirement later. Especially given the fact that SDE1 and SDE3 have to both write the same code.
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.
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".
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.
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?
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.
For me, one of the teams I was on was pretty awful, and the other team was great. Each team is pretty unique.
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.
Why on earth?
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.
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.
If they can't pay what I'm worth then I wouldn't take the job even if my title was CTO.
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...
That's how I feel as well at my current job, but it seems to hold for almost all IT jobs I've encountered.