I have no reason to doubt that in the particular corner of your organization that may well have been the case, but you cannot generalize this over the whole field. As stated elsewhere, I never played any game to be promoted, I simply never consciously sought the goal of promotion, and I was promoted anyway just because of the real, substantial job I did.
So, sincere question: for those of us who haven't worked at a FAANG, why should we believe that your experience is the norm while the other people's is the "corner"?
EDIT: What I mean is, you need multiple passionate people across many levels to achieve that. If reward culture wasn't somewhat healthy, I don't believe this could work.
PragmaticPulp specifically said the engineers his team hired were actually rather good, just had bad habits:
> The strange thing was that many of them were actually good programmers when it came down to it.
And I did see other peers who did not play any games that I could see be promoted for merit.
So maybe generalizations over large companies just don't work well.
If there is no somewhat healthy reward culture, the multiple passionate people in the many different levels needed would leave.
I think that this largely depends on how good or bad one's immediate management is. Good managers hold the line to insulate their teams away from this kind of corporate culture to the extent possible. And the proportion of such managers varies from company to company, and even between different units in the same company.
What I am saying is that there are a lot of good engineers don't get promoted, despite doing important work on vital systems, because they don't aggressively self-promote and optimize their careers around the promotion path.
There are also companies that are good at recognizing good yet normally-under-appreciated work, and there are companies that are bad at it. FAANG is bad at it, in my experience, and the experience of people I've worked with. It's an anecdote and not data.
I even stated that I don't doubt this may have been true for you. But if every large company were really so bad in general as is portrayed here, the people who make good stuff, and who need to work with each other a great deal to achieve that, would leave.
I have heard lots of stories about how the only real way to get promotion/real raise was to change company you work for. Because getting raise is harder compared to hiring someone of the street with hefty premium on top.
I have heard lots of stories about how the
only real way to get promotion/real raise
was to change company you work for.
That's definitely the best way. Here's my take. I am ignoring promotions/raises given to junior/intern type employees who become regular engineers.80% of engineering promotions/raises come from switching companies
10% of engineering promotions/raises come from doing greenfield work. If you can find a way to do greenfield work you will look great (because you can move fast) and multiple other people will be dependent on the mess you left behind and they will look bad because they are moving at a fraction of your speed.
10% of engineering promotions/raises come from engineers who show obvious managerial talent and are interested in a managerial role
0% of engineering promotions/raises come from maintaining somebody else's system
YMMV, just like everywhere else.
Each of the 5 is a huge sprawling organization with 1000s of separate teams, working in very different ways.
Anything you can say about "working at FAANG" will be true of some parts and untrue of others.
I’m talking about directors, senior managers of engineering who worked their way up the corporate ladder. The system worked for them, so they think it’s a good system.
It’s essentially a form of survivorship bias.
I agree with what the other commenter is saying. I’ve been in several teams with several managers and xfn partners and you have a lot of different cultures. From the toxic wasteland to the ultra focused get shit done right fast environment engineers love.
To your point about why more people complain than not, it’s the human condition. Haters hate is stronger than non haters happiness and are more than willing to share their salt
I don't see my colleagues self-promote very much at all. I am in a very practical and focused team though, there is certainly a variety of team cultures. I will say that the performance review process is a pain, I feel like it is a lot of work documenting everything I have worked on...
Literally every single company I've worked at has had loads of bullshit to deal with. Some BS was easier to handle than others! Overall I feel like things are interesting and there are good opportunities to grow in a big tech company, so I am happy for now. I've learned more in one year at meta than multiple years at other places.
In my case I just find scale...fun :)
Oh, good lord.
Listen, you're talking about companies with hundreds of thousands of employees scattered all across the globe. Do you really think there's one homogeneous culture across everything? Single orgs can have the population of small towns. "culture" is a local phenomenon.
There are promotion oriented people. There are not promotion oriented people. There are mutants who work 12 hours every day and call into meeting while on vacation because they want to climb the ladder. There are teams which are hyper focused on visibility and self-promotion, and there are teams which just quietly churn out good tech. There are hundreds of thousands of people. You're going to get different experiences. I'm not sure why that's such a crazy idea to you.
So then don’t get promoted? I was at two large companies for many years in my career, (almost) everyone’s obsession with promotion was bewildering. A FAANG L5 salary is pretty rewarding for just executing IC work, and that’s about what is expected of that role.
You simply working on a project isn't useful to a company, what's useful is working on the right project.
You get promoted and compensated more if your work aligns with the company, and less (or none) if it doesn't. It's your job to figure it out. Just as it's the company's job to figure out what the market needs. Yeah, projects that are most valuable to a company will be competitive. If you don't want to compete, you'll have to figure something out on your own that isn't as sexy but still provides value.
This becomes especially true as you become more senior at this kind of company.
If you don't want to work in that environment that's fine, maybe that's not the right corporate culture for you. I hope you found somewhere that was a better fit!
Because it sounds like OP was doing that: making something useful for the customers, just not for the other engineers. Hence the engineers couldn't vouch for the system and secure OP a promotion.
That being said, bad projects definitely exist within big companies, and it's not always easy for (junior in particular) people to know if they are working on something useful or not.
Sorry, maybe I was unclear. I wasn't intending to opine on that aspect. I think product and infrastructure are both super valuable. You're goaled on impact not necessarily on whether you build infra or product per se. Infra you're rewarded based on the impact of the product teams leveraging your infra - and product teams you're goaled on moving specific metrics.
I've worked at 2 FAANGs - on product teams - and my experience has been that if your product moves metrics that your org has decided are important then you will be rewarded.
What I meant when I said "leaf services like that" was "leaf services whose measurable impact doesn't align with org goals."
> That being said, bad projects definitely exist within big companies, and it's not always easy for (junior in particular) people to know if they are working on something useful or not.
Yeah, that's basically what I was trying to say.
This was not the case for me. I was told that my project had significant positive impact, and had many product teams vouch for me, but it didn't matter because "the principal engineers don't know who you are".
You just did not approach this constructively. It would have been better if you asked first about how the impact was and could have be measured. Or at least responded more directly when they tried to explain the impact better. Instead of making and sticking to an assumption that the service wasn't useful.
It may well be that the person misunderstood their impact, but your arguments did not address that after the person came back with theirs. They could have been an edge case, that they are in an unfortunate situation in the human process of deciding rewards, where choosing and calculating metrics is itself subject to errors in judgment, and you tried to generalize your experiences to their corner of the world, which normally requires a stronger questioning.
A common chokepoint in an engineer's career development is challenging others' preconceived notion of what is important. Often this is with non-technical management, but unfortunately this is sometimes needed with technical peers too. It's politically convenient to just go with the flow and align oneself to the most visible metrics, but that way only a limited amount of bottom-up innovation can happen, and those can be critical to the business.
The best one can do is to establish the importance of the project before you do it, but I've seen important projects that were initially not supported by management, and only got traction when an IC did it anyway and demonstrated the value. Sometimes ICs were lucky that the impact was measurable and recognized, sometimes not so much and were deemed to have wasted precious company resources.
The world is not perfect and we often have to choose between taking a calculated risk or to conform. It's hard to get business processes 100% right, and not easy for a person to do things with guaranteed outcome, so we just have to live with it and try our best to navigate strategically.
For internal customers. Not real customers. Because they are captive audience. What they are going to do if generating a report takes 10hr? Purchase* different tool? Force devs to make w better one? Not their pay grade. They aren't even allowed to set requirements for features/functionality.
*That's when consulting firm swoops in to make great promises about how tool that they will make will solve all the problems. But because people who are using such tools can't set priorities for features/functionality, reports will generate in 9hr, but they will have to click ok every X minutes.
> You simply working on a project isn't useful to a company, what's useful is working on the right project.
No, my project was measurably useful to the company. It wasn't useful for engineers, but it was useful for internal, non technical users.
I helped build a team from scratch and launch a product with high internal user satisfaction. But I was told that I needed, specifically, engineers from outside my immediate team to vouch for me. And I met with other people with the same problem and they told me "Don't work for products for business users."
As an aside the internal tooling for non-technical users was atrocious. Wonder why. :)
Sorry if it came across that way, that was not my intent.
> No, my project was measurably useful to the company. It wasn't useful for engineers, but it was useful for internal, non technical users.
If that's not what the company values, then that's not a project the company wants to incentivize you to make. If you choose to make it anyways, would you really expect them to reward you for it? It sounds like the issue was as I was suggesting, that what you were trying to solve for wasn't what the org wanted and wasn't what they were goaling you on.
A healthy organization should reward developers for making internal tooling that is deemed necessary for the functioning of the org and drives value, yes. You're kinda ignoring the part here where I said that it was measurably useful to the company.
If you're saying that you need to ignore necessary internal tools and get on the big visibility projects to get promoted, then thats exactly optimizing for self-promotion. Companies that ignore vital internal work that is not sexy and don't provide ways for engineers working on that vital internal work to advance their careers will end up unable to drive revenue due to low productivity.
This is the problem in a nutshell, no? A company that does not value a team that delivers measurable value to non-technical teams, and that provides no "alternate paths" for its non-technical users to vouch quantitatively for the promotability of technical team members, is creating a culture that is suboptimal for its financial goals. That quantitative bar must be high, of course, but if I heard as a C-level that people were getting advice "don't work for products for business users" I'd clear my calendar and get to the heart of why that was, because the very "routing fabric" of the company would be at stake. If they're not allowed to build i-tools, your technical teams will miss insights they need to build the right things, from the users who know more about the domain than anyone else.
Unfortunately I was helping out with our hiring process, and let's just say with the recent downturn that hasn't been the most important work lately :(
I have never worked at a FAANG. Wouldn’t it be the manager’s job to figure out what I should be working on? What is the manager’s job at such a company?
Figure out how to argue for more headcount, by expanding the scope of the team or by asking reports to narrow the breadth of their work to create headcount gaps.
If you're junior it won't really matter. If you're senior, and you're sitting there hoping your manager is going to give you something meaty you're not long for that company - because that is not your job.
This was my experience at two FAANGs and also at one non-FAANG company over the last 10 years. Maybe it's different at the ones I didn't work at, but your snark is neither useful nor interesting. It also gives folks considering FAANGs here a false impression of what working there is actually like.