So the only answer I can give you is "maybe?" because I don't really know how all FAAMGs operate and I don't know exactly how much productivity you are actually seeing.
I will say a megacorp feels much less productive than a startup, because of the amount of overhead involved. Meetings on product design, meetings to coordinate development, meetings to talk about how many meetings we have, a month spent writing perf reviews, launch processes that require buy in from three different PAs to change the color of a widget.
If you've also worked at a smaller company or a startup where you are one of five or ten developers given vast authority and responsibility for broad swaths of a codebase and you spend all day pounding out code, it can feel very unproductive.
The problem is that you can only have something like 20 or 50 developers working on tangentially related projects like that before they stop being able to work effectively.
If you have a software project that needs, say, 10,000 developers to pull off, what you end up doing is hiring 20,000-40,000 developers and having them spend half their time or so coordinating the development. This feels unproductive to the individual developer, because you could be writing so much more code, but it really isn't -- if you had all these programmers programming indiscriminately, you'd be writing a lot of code twice, not writing some code that's needed, and writing a lot of the wrong code. It'd be a mess.
Of course, sometimes things are broken, globally or locally in a megacorp. Sometimes the planning goes out of control and too little actual work gets done even by megacorp standards. Sometimes a project is actually a small project and you have a team of 40 developing something that could actually be developed by a startup of ten. Sometimes things go wrong.
The point being: if you feel like a cog in a machine, well, you're always going to feel like that in a megacorp. But do you feel like a effective cog in a machine that's doing something important? If you don't like being such a relatively small fish, you might want to go back to a smaller company. If you don't feel like you're making a meaningful contribution, even accounting for the necessary overhead, or you don't like what you're contributing to, consider another job in a different or different part of a megacorp.
> Meetings on product design, meetings to coordinate development, meetings to talk about how many meetings we have, a month spent writing perf reviews, launch processes that require buy in from three different PAs to change the color of a widget.
This starts to happen to small and medium sized companies once they start hiring from the megacorps.
Yeah, the worst thing of all is when you have a small company that doesn't actually need that much coordination overhead aping it from the larger companies. Spending 2 hours a day in meetings and complicated performance calibration processes is an unfortunate necessity of working with a few thousand other people; you eat the cost because it's the only way to actually get thousands of person-years of useful work done each year.
But if you're a 10-100 person company and most people are spending 25-50% of their workday on coordination and process, you're probably paying the same cost for no actual gain.
Tinfoil hat opinion: maybe FAANGs and other megacorps are happy to lose a few managers to these small companies, so they bring their big corp culture to these companies and bury them with process, risk aversion and meetings before they become a serious competitor?
I will say a megacorp feels much less productive than a startup, because of the amount of overhead involved. Meetings on product design, meetings to coordinate development, meetings to talk about how many meetings we have, a month spent writing perf reviews, launch processes that require buy in from three different PAs to change the color of a widget.
If you've also worked at a smaller company or a startup where you are one of five or ten developers given vast authority and responsibility for broad swaths of a codebase and you spend all day pounding out code, it can feel very unproductive.
The problem is that you can only have something like 20 or 50 developers working on tangentially related projects like that before they stop being able to work effectively.
If you have a software project that needs, say, 10,000 developers to pull off, what you end up doing is hiring 20,000-40,000 developers and having them spend half their time or so coordinating the development. This feels unproductive to the individual developer, because you could be writing so much more code, but it really isn't -- if you had all these programmers programming indiscriminately, you'd be writing a lot of code twice, not writing some code that's needed, and writing a lot of the wrong code. It'd be a mess.
Of course, sometimes things are broken, globally or locally in a megacorp. Sometimes the planning goes out of control and too little actual work gets done even by megacorp standards. Sometimes a project is actually a small project and you have a team of 40 developing something that could actually be developed by a startup of ten. Sometimes things go wrong.
The point being: if you feel like a cog in a machine, well, you're always going to feel like that in a megacorp. But do you feel like a effective cog in a machine that's doing something important? If you don't like being such a relatively small fish, you might want to go back to a smaller company. If you don't feel like you're making a meaningful contribution, even accounting for the necessary overhead, or you don't like what you're contributing to, consider another job in a different or different part of a megacorp.