I thought it was a widely-known-secret that at least part of the insane hiring of engineers without clear teams, projects, etc for them to work on initially was to prevent individuals working for current-or-potential competitors.
Purposely over-hiring to prevent work being done elsewhere, and then claiming there is not enough work to be done, feels like it shouldn't be surprising to anyone.
Hell, Google has created ~18 (I think?) different messenger/chat apps at this point. If you wanted a clue that there wasn't enough work to go around (and that your promotion incentives may not be aligned with the business), this should have been the first clue.
>I thought it was a widely-known-secret that at least part of the insane hiring of engineers without clear teams, projects, etc for them to work on initially was to prevent individuals working for current-or-potential competitors.
I've heard this claimed but not sourced, and it doesn't really make sense - there are millions of software engineers out there and Google or Meta only employ a tiny fraction of them.
100,000 of the best out of a pool of approximately 10 million professional software engineers worldwide is a sizeable portion. Additionally, not all 10 million are even close to being up to BigCorps peculiar standards (perhaps the standard is "someone competent enough that they could potentially build a competing product line").
Goog, Meta, Amazon, Apple, Oracle.. all have huge rosters and it adds up to a significant portion of the market. There is also a huge amount of medium sized whales such as SAP and PayPal who in total end up also consuming a lot of the talent.
Well, Google's and Facebooks definition of 'the best' engineers.
I don't think grinding leetcode for an interview is the best indicator of a good engineer, and graduating from a prestigious university is not always an indicator either. imho it seems like the best engineers now are the ones doing their own thing outside of the large companies, or are at smaller startups.
No, but if all of FAANG are hiring by that criteria, it still works; startups can hire good talent because they break the pareto equilibrium, but that's ok for FAANG because they obtain that tech through acquisition after the idea and execution are derisked. The system works!
That would surprise me. I have attended targeted career fairs with both FAANGs and national labs recruiting, and the national labs give off way more 'work-life balance' vibes. Plus, as the largest bureaucracy in the history of the world, the federal government isn't a good place to get a high return on brain damage when you want to actually get something done.
Having said that, the national labs do seem like good places to go geek out in your own advanced intellectual cul-de-sac.
Well from experience of being an undergrad and going to career fairs, this assessment is spot on. You don't realize this whole thing is bullshit until a few years into your career.
Because my frame of reference is being early or maybe early-mid career, where you can't possibly have the necessary experience to be 'best' without working significantly more than 40 hours weekly, and from my perspective most of getting there in the future follows that path too. I'm not discounting that some top engineers could exist outside of working a lot, but for most people the path to that distinction is a lot of work, and in most places that lot of work gets done outside of the hours when people are distracting you with meetings and small talk, which means not stopping at 40 hours weekly.
Having said all that, I don't discount the possibility of work life balance in the 60-80 hour range, but that's a whole separate skillset.
FAANG's currently have a problem with ideological mono-culture. I dont know if recruitment has exactly suffered because of that, $$$$$ can allow for a lot of suppression of personal beliefs, but I do know a few people that have outright refused to work in those companies because of that, who are pretty excellent programmers
Using open source to judge quality seems wild. Maybe people just have no interest in maintaining an open source project. Looking from the outside at some of the stuff people put up with, it doesn't look worth it at all. I'll just work privately
As the sole maintainer of a popular open source NASA project (and contributor to several others), I can say that my open source work reflects very poorly on my work overall. We have a real problem in that there is a drive to open source things, but there is no money at all to support open sourced work. As soon as the open sourced work is no longer something I use day to day, I have to either maintain it on my personal time or it gets abandoned.
NIST and other government institutes are not known for open source work mainly because most of their work is a combination of science and technology communication. They deal in publications, conferences, and reference datasets. In my industry, NIST and the NIH produce the most important R&D reference datasets in the world, and everyone else looks to them for guidance. With that said, the NIH also occasionally produces world class software too (NCBI BLAST, etc.) although they do have some issues with parts of their software engineering culture being a bit out of date.
That question is pretty meaningless unless you can somehow measure the quality of an engineer. Is it the engineer who can build systems nobody else can, the one who can build the cheapest system that performs to spec, the one that can work well in a team, the one that is always available, the one that can teach others, etc etc etc etc. I'm sure anyone can think of many more aspects to being a good engineer.
I bet NASA and NIST have a great bunch of quality all-round engineers, but I'd be surprised if they were better at leetcode than the average FAANG dev. After all, FAANG devs have literally been filtered through an "are they good at leetcode" process. FAANG may be full of money chasers, but if the way to get more money there is by "being a good engineer" that does not mean much.
Indeed, but "works to the highest (quality) standards" is only one of the many aspects of being a good engineer. For example: government engineers are often not as good at completing projects within budget.
As someone who was a government worker, a lot of the issues why projects go over budget is because management believes that a single developer can do the workload of 4. So the product never gets delivered and that developer leaves to work somewhere else.
I think that dilutes the meaning of "quality" to nothing. Like if someone says "that's quality work" or a "quality engineer" I think of something specific.
For example I'd call a BMW a quality car. I wouldn't call a Lada a quality car, though it's much cheaper and has a much higher bang-to-buck ratio than a BMW.
In that sense sometimes government work has to be the highest quality, especially when it concerns security or safety. Sure it could end up being magnitudes more expensive but I'd say that's a question of efficiency not quality
Feds have some of the most useless engineers/bureaucrats in the world. They do have a very, very tiny amount of mission motivated folks who are the best of the best, but that number is a rounding error. Ask anyone who has left.
Not firing folks, low pay, focus on the best work life balance in history, heavy affirmative action, politics, and having to work hard to carry the coasters isn’t an environment that naturally attracts skill and competence. Work 500% harder than the next guy and get the same promotion. No thanks.
The gov and contractors, like it or not, are jobs programs first and foremost. A remarkably effective jobs program if you just measure folks employed and not output.
> Well, Google's and Facebooks definition of 'the best' engineers. don't think grinding leetcode for an interview is the best indicator of a good engineer
Their employees are also the subset of those who can get to a location where they have offices and have the relevant work permits. Those who do not object to and specifically want to work at those companies. Those who find their technical challenges of interest. Those who do not already have a satisfactory job elsewhere and are actually in the market for a job.
Some engineers see themselves as merely tools, so they "sharpen" themselves to be used effectively. Why would MAANAM (FAANG is a bit outdated) want more creative ones? They will get bored and leave.
So for each company they represent at most around (edit: 0.3%) of all professional devs, and presumably the "overhired for anti-competitive reasons" portion is a small fraction of that.
I think it's plausible that the superfluous hirings are caused by hirings of key individuals.
It's quite common for these big tech companies to poach each others department heads and other key personnel. This can cause significant damage to a company so can be an attractive tactic. The downside is that in order to retain these people you don't just have to pay them a lot of money you also have to give them big projects and resources to implement them, i.e. lot's of people get hired. This can a problem when these projects aren't supported by the wider company but are just someones pet project.
(edit: parent originally claimed 30 million professional software engineers worldwide, then edited in a revised estimate of 13 million.. which is in the ballpark of my original figure? :)
Just because someone "uses JavaScript" doesn't mean they are a full-time professional. In fact, most are dabblers. The number depends entirely on the definition - are all IT professionals considered software engineers? If so, that's about 24 million.
I am talking about full-time SWEs.
In any case Drew, it sounds like we're mostly in agreement. What a relief! :D
We can't really know what is in the minds of Zuckerfk and Pikaichu, in the end it's all speculation.
Yeah sorry I did edit the number down based on digging deeper into my link based on your comment here. I still think 0.3% (my original number was 0.1%) is not a meaningful amount of engineers for a "starve the rest of the world of talent" strategy to work.
I'm glad you put it that way. It's not necessarily smarts or talent, but it does take a particular willingness for the institutional peculiarities to integrate with a big organization. I'm not one of those people, I tried it, and I will never do it again. I did note, you either had people who had just joined, or people who had been there for nearly a decade or more. I think of the word "institutionalized", as in, they had bought into the institution lifestyle, and were so full of it's arbitrary knowledge that moving on would be like starting over.
Everyone claims they hire the best. For a long time Google and others had atypical hiring practices which they have since abandoned. I suspect this is because they discovered the techniques were less effective than originally thought. So 'best' by what measure?
I've worked with some really good engineers who came out of google, but I've worked with far more that were extremely arrogant but could not actually get anything done. One of the startups I worked at got an "advisor" from Google (as part of a startup program) that probably set us further back than it ever helped. Anytime this guy didn't understand something he just got extremely belligerent instead of actually trying to get the problem. In general his advice was ignored because it didn't make sense, and he never delivered on any of the promises he made. Not to harp on this guy, as he's just one example amongst many, but it's reached the point where if I see google engineers on the founding team for a company I typically won't consider working for them.
It turns out that being able to solve cute little puzzles while interviewing doesn't really help with systems level thinking.
> Anytime this guy didn't understand something he just got extremely belligerent
I think he might have backed himself into a corner by coming in as an 'advisor'. How can I be an advisor if I look like i don't even understand what is going. That must have been his mindset. So the only escape is being arrogant and belligerent.
Arguably that's Google and Meta's strategy (maybe even Apple) but that's certainly not Amazon's. They just mass hire anyone without a care in the world. Not sure if Oracle even belongs in this group.
I believe it. Every single day I get emails from various Amazon recruiters. Often it's for positions I'm barely qualified for. As much as I think AWS is a great service, I'd be terrified to learn what lies beneath given how low their recruitment standards are.
Their recruiting reach is high, but it doesn't have that much to do with desperation, and their actual interviewing standards aren't low.
The recruiting reach is high because every single sub-group of teams within amazon has their own recruiters, and none of them communicate with recruiters from outside of that. Sometimes i get multiple emails from different AWS sub-group recruiters per day, but it isn't because AWS is desperate for me. It is simply because for them, the existence of the other ones reaching out at the same time is completely immaterial, just like if they were recruiters from other companies.
And while yes, Amazon's interviewing bar might not be as high as Meta/Google/Dropbox/etc, it isn't far behind at all, and it is pretty much on par with Microsoft.
Disclosure: never worked at Amazon, but interviewed with them and the rest of the companies mentioned, and worked at (or got offers from) some of them.
Based on what I've seen from the outside about their corporate culture, I'm not in any way interested in working for Amazon/AWS.
That said, the interactions I've had with the people working on AWS have been uniformly positive. They're easy to work with and obviously very skilled engineers.
It definitely wasn't Meta's strategy when I was there in 2018. They hired a lot of junior software engineers but all other positions had relatively limited headcount (which I mostly think is a good thing).
Where are you getting the 10M number? Just curious not a criticism. I was thinking it would be around half of that(5M), with a tenth decent enough to work at most tech companies 500k, I think the bay area has 1M tech workers so half of them are engineers and thats one of the largest cluster of engineering on the planet.
A few years ago I was super curious how we stack up numbers-wise compared to doctors and attorneys (quantities artificially limited in the USA because of licenses). I did the research to calculate based on the number of CS graduates being produced by universities, combining it with average number of years worked before retiring. Unfortunately I don't have the references handy at this point.
Interesting, thanks for that info, licenses in other industries artificially reduce participants in that field. I wonder if tech not having them has resulted in our field to dominate most of the economy in the past 5-10 years(or helped that domination).
Hording talent could be a leftover Chesterton's fence from when they had an illegal agreement between Google, Apple, etc. to not recruit each other's employees, but Facebook was never found to be part of that.
Google et al. cargo culted SGI culture -maybe it works for a class of geeks. Anyway they often coddled employees and treated them "like family" as they like to say and tell them they are special and the lucky few. You can bring your pet to work (if no one has allergies to it), you can waltz in late, go get a snack, log in, chat with your friends, play with new gizmos, then go to a meeting, get lunch, then work out, then have another snack and then the last meeting of the day before you cut out early to get in the (Co.)-bus home before traffic gets bad.
Where the hell did they think productivity would go?
Easy: it goes both ways.
Keeping employees happy means they are willing to voluntarily spend more time at work. "Chatting with friends" is more often than not informally discussing work projects. Going home before traffic gets bad and working a few hours from home is the sane thing to do.
My current employer is very lenient, and as a result I am very happy working here and put in more than I am required to. If they were very strict, I would work _exactly_ 9 to 5 and not a second longer - if I even wanted to work there at all.
Fact is, you simply can't be 100% effective 100% of the time. So you either end up with people _pretending_ to be busy, or people who are free to openly de-stress and are way happier employees.
I don't disagree with you there, but also companies that have to be mindful of their cashflows can't afford to have people work for them who think it's a club-med for work. I'm not advocating that employees have to work it to the bone to be productive as we need long term productivity, but at the same time we need conscientious contribution and productivity.
I personally don't believe this at all. I think it's almost entirely bureaucratic inertia, and a prisoner's dilemma among the management. One who bloats, floats.
This is the truth. Many managers are valued on how large they can grow their team. Also, if you have 10, 20, 100 direct reports .... how can they fire you?
> "I thought it was a widely-known-secret that at least part of the insane hiring of engineers without clear teams, projects, etc for them to work on initially was to prevent individuals working for current-or-potential competitors."
It's widely known among the sort of person who tends to believe in conspiracy theories, I suppose. The oppressive bureaucracy and misaligned incentives that allow senior leaders to destructively compete among themselves is more than enough to explain why ill-conceived and ill-run projects are common at FAANG-level megacorporations without resorting to making things up.
Your theory and the theory you are replying to are indistinguishable for an outside observer: big player with hiring power and hubris compete for employees; in one case it is companies and in the other it is managers.
Even if I admit yours sounds more likely (companies choosing to spend more of their own money vs managers choosing to waste the company's money)
I work for Amazon - for a decade. I love it - best job I've ever had. And historically, while it's been a tough place to work, we've always been able to attract top talent. Partially - impactful work. Partially - stock doubles every year.
Well guess what happened in 2020/2021? Despite incredible perseverance through the Pandemic, the stock stopped doubling.
Meanwhile, Microsoft, Meta, and others figured out that they can poach our engineers with a promise of way more base salary, and a less intense work environment.
We've had SDE1s (Juniors) leave Amazon for Meta because they got more money than our SDE3s (Seniors) were getting.
SDE2s (Intermediate) looked at their status quo thought "I COULD bust my ass and get promoted to Senior...or I could go to Microsoft TODAY, get a Senior offer for what I'm already doing, and for more money than my raise would be". (No offense to any of my friends at Microsoft, but https://www.levels.fyi/?compare=Amazon,Microsoft&track=Softw... doesn't lie)
I've talked to a few acquaintances that have left and the universal responses is: "My job is so boring now. I miss Amazon. But It's not stressful (because there is no pressure on me), and I get paid more money".
How can anyone think there is anything wrong with that? You can't. You can speak about Mission and Impact, and some engineers will be attracted to that - I work on building Forever APIs in the AWS Cloud that gets millions of transactions per second. That to me is WAY more interesting than working on Chat app 15/18.
But for most people they just want to make money and live their lives. Fair enough!
The result? Even though Amazon has adapted somewhat by bumping salaries, they've still lost an ocean of people to nothing particularly ambitious or interesting. They're being parked by Microsoft/Google/Facebook to work on boring unimpactful projects so they can't help Amazon kick their asses.
Sometimes one way to make your house nicer is by breaking the windows in the neighbor's house.
Makes me wonder if junior developers are getting bait and switched.
They get pulled away by the lure of money into an environment that causes them to stagnate in their skill and career development, then companies pull the rug after only a few years of this high pay with layoffs. Now you've got hoards of developers with junior/mid skills who expect senior salaries and can't find jobs. Amazon doesn't want them anymore, because the new grad pipeline has plenty of people nearly as technically capable and much hungrier.
Only those who manage to recognize this short term period of plenty and rapidly stack investments toward financial independence will be alright in the end. Those who thought the raining cash would never end are in for a world of hurt.
On the bright side for Amazon, they get to trim off the employees who a) aren't paranoid enough about the viciousness of the business world, and b) are looking for a way to cruise and do minimal work.
> They get pulled away by the lure of money into an environment that causes them to stagnate in their skill and career development
Microsoft is in an insane number of markets, far more than Amazon. While at Microsoft I did everything from compilers to robots to wearables, and if I talk to 10 Microsoft alumni they will have a job history of working on a completely disparate set of amazing technologies.
If you are bored at Microsoft change teams. You can find teams writing assembly, or C++, or C#, or Rust, or JavaScript, or Typescript. You can find teams working on browser engines, on ISO standards, or consumer tech.
Get bored with all of that, go work on video games for awhile.
Every competitive has a stack ranking system whether they admit it or not.
They put lipstick on a pig but everyone's getting ranked and the lowest performers getting weeded out.
The whole "People get fired even if they're doing a good job just by being a low performer on a strong team" is an edge case that happens INCREDIBLY rarely but when it does gets all the attention.
People are typically ranked by influence at companies as well. If you want to increase your influence, hire more people beneath you. Amazon managers specifically will be looked at for how good they are at hiring and how many people are beneath them to see if they're ready for the next level. At least this is what an Amazon EM told me.
I worked for a while at another company also known for being hyper-aggressive and a brutally difficult work environment -- probably the poster-child for that sort of thing, back then. I burned out hard after a couple years and ended up prioritizing "work-life balance" in my next job searches.
I landed at a 40-hour/week place where I usually work less than that. There's a strong appeal to working so little for a solidly decent salary. I have to remind myself often how good I have it, especially when others don't have jobs at all -- or they have to do back-breaking labor for table scraps.
But I agree it's also undeniably boring. I constantly find myself fantasizing about being back in the adrenaline-fueled environment of my last job. A large part of why I burned out was my own poor stress-management skills, and I like to imagine that I could probably perform well -- and excel -- in that sort of boiler-room environment now. (Especially if the comp could be what it was, too!)
On the other hand, I think all companies that have tried that aggressive approach have not made it sustainable. People burn out, or the whole company burns out, or both. It's tough to keep it going without lots of support and motivation (financial and otherwise).
The idealistic part of me likes to imagine it's theoretically possible to sustain such a thing, though -- a healthy, psychologically-safe place where people could work on ridiculously impactful things at a velocity and scale not available anywhere else. But it doesn't seem like anyone's cracked the code -- not my former employer, who faded away in a blaze of toxicity, and certainly not Amazon.
On the other hand, if no-one stops it, there are always incentives to grow your team as much as possible.
As leader this increases your status both in absolute terms (100 vs 10 people under you makes a difference on your CV and on the title you can claim) and in relative terms (your team is larger than the teams of your peers and you can get ahead that way).
And so every leader at every level tries to expand their team.
> If you wanted a clue that there wasn't enough work to go around (and that your promotion incentives may not be aligned with the business), this should have been the first clue.
There is definitely enough work to go around at Google, Amazon, and Apple.
Whether promotion makes any sense, and whether people are working on the things that actually move the needle is a different question.
Then why is their hiring geared toward brain teasers and Bigoh notation? If they want to keep people from building the next Facebook (costing them M&A money, because they'd have to acquire it), why not hire based on ability to get things done?
> I thought it was a widely-known-secret that at least part of the insane hiring of engineers without clear teams, projects, etc for them to work on initially was to prevent individuals working for current-or-potential competitors.
Wow, I've suspected this for many years and people told me it was nutty.
That's because it is. It makes no sense whatsoever to think that could be a deliberate strategy.
Managers are happy when they get their hands on a new role to hire into because they all have more projects than they (think that they) can deliver at good quality with the people they have.
Purposely over-hiring to prevent work being done elsewhere, and then claiming there is not enough work to be done, feels like it shouldn't be surprising to anyone.
Hell, Google has created ~18 (I think?) different messenger/chat apps at this point. If you wanted a clue that there wasn't enough work to go around (and that your promotion incentives may not be aligned with the business), this should have been the first clue.