Point A: Biggest wake up call for me going from a startup to big tech.
Point B: A year into a company, I'd be exaggerating if I said I knew more than 1% of the codebase. So many things the product needs to operate that users don't know exist since no one cares about what's under the hood.
Point C: Yep, imagine having users all around the world who enter and send personal data, and who might use assistive technology. At a startup, it was pretty normal to get the minimal amount done to address some of the needs (if at all) whereas at a bigger company there's way more effort to make sure it's done properly.
Yup, can even break this point down into
a) have more resources available so allocating people to these things is more practical
b) have more users with those needs so spending time on them is more useful in terms of $$$
c) reputational risk of being "that company that doesn't give a shit about disabled people" has increased
Zuck, Pichai, Nadella, etc. all see what the problem is.
Middle managers at FAANG companies see their path to career growth is by increasing the headcount under them.
People hired in roles saw the only way to grow their careers was to become managers.
This led to a completely absurd amount of middle managers, who weren’t really contributing much of anything. Just managing other middle managers.
Zuck made this pretty clear in a previous brief and talked about getting rid of the number of middle managers. Become an IC or leave.
The problem is that the other forms of bloat are largely unavoidable for big companies. They can be mitigated, but you can't just get rid of them.
Near certainly a ymmv situation
What's an IC please ? I didn't find anything relevant online.
Google did an experiment long ago, trying to get rid of managers. It was a total disaster/failure[1]. Seems BigTech wants to re-discover this the hard way themselves.
1: https://www.inc.com/scott-mautz/google-tried-to-prove-manage...
(there are many links describing this experiment, picked a random one)
When your only customer has accessibility needs, it's clear that they're top priority. When you're 98% there, and 1% if your customers have accessibility needs that are all unique, you need a team and more to handle each subset of experiences
Imagine you sell things in 100 countries -- whether it's apps in an app store, or games, or movies, or physical goods. Now you have at least 100 legal and regulatory regimes to deal with around pricing, credit card stuff in general, refunds, age verification for regulated content, advertising restrictions, EULAs, GDPR, etc. In the United States alone there are 50 legal systems to deal with. Plus there are tons of localization and internationalization issues.
An enormous amount of work is needed to get all that stuff right and not be sued or fined out of existence. It's not just work for lawyers, it's work for all the software teams who have to implement the business logic to tailor the user experience for each set of customers and keep everything in legal bounds. Simple mistakes can cause your company to break the law, so everything needs to be reviewed extensively, and approved by a large number of people.
No company with such concerns can maintain per-employee productivity at the level of a startup.
So finance part also gets really complicated.
We spent a lot of time -- like A LOT of time -- on tiny things like how some countries use single or double quotations (e.g. guillemets « », or bottom quotes like „hello"), or how some countries use . and , differently for writing numbers ($1,999.99 vs 1.999,99).
Seems dead-simple, but multiply that out across many different countries, regulations, taxes, and systems and we ended up with a core team of roughly 15 hammering away at this; factor in different stakeholders, managers, contractors, vendors, etc. and maybe 150 people worked to fix these otherwise simplistic issues.
a) being bigger means more technical complexity, more bureaucracy, and more risk, all of which mean each individual employee becomes less productive
b) there's tons of features that their products tend to have that a typical user doesn't know about or care about, which they aren't factoring into their estimate of how many people the company actually 'needs'
c) there's tons of aspects of a software product that increase in importance the bigger you are that aren't your core thing, but still need to be taken care of: internationalization, security, privacy, accessibility, etc. Of course the typical HN take is probably "psshhhh, that stuff is important no matter how big you are" but realistically, a small startup is gonna spend less time total on those things than a big mature company, most of the time