1. Managing out.
If you hire quickly and perhaps not carefully, you'll hire people who don't necessarily perform as well as you thought (generally), don't perform well in your environment in spite of their talents (i.e. Chris Lattner's short stint at Tesla), or don't get along with the team and hurt culture.
2. Under the same fast growth, you may also hire a specialist for some technology you decide to get rid of.
While the ideal situation is finding a new role or moving them to a different team with a similar technology (i.e. one NoSQL DB to another), you may not be able to do that if you hired lots of folks all at once.
3. They simply over hired.
This can mean they don't have enough managers and people are being poorly utilized, they hired opportunistically, or they were just poorly coordinated.
4. They need to make their accounting look better.
People cost money, until you stop paying them. Not much to say here.
This would only lead to a very small (less than 3-5), if any, part of the 100 engineers getting fired.
3. They simply over hired.
I guess some part of this could also have been because they de-prioritized some big features, that led to some engineers not having enough work.
I'm not saying I agree with how the US employment system currently functions, but them's the facts. If you value stability or loyalty, definitely don't join a hyper-growth startup.
Not if 20% or even 30% was from 'fat' / over-hiring -- they TRIPLED their staff from 600 to over 1,800 within a year[1] -- in the year leading up to their splashy IPO
[1] Source: https://marketingland.com/snap-reportedly-lays-off-18-employ...
> The company, which went public in March 2017, has been on a hiring spree over the past couple of years.
> Between December 31, 2015, and December 31, 2016, the company’s full-time employee base rose from 600 people to 1,859, according to the company’s most recent earnings report.
Also shows how little they care about the personal/family turmoil they create when doing that.