It was awful in a big company, though. We were always short-staffed on everything we did. The CEO chronically underestimated how much work went into maintaining existing products or even just extending them. He wanted to treat every new initiative like a mini-startup that could move fast with small headcount, which led to tens of isolated teams building products that were incompatible with each other and not communicating about it. Coordinating with other teams would slow you down, so it was basically forbidden. But then our customers expected things to work together, so we had to scramble to re-integrate everything before it shipped.
Taking vacation was difficult because it could mean 20% of the team was gone, which would have measurable effects on delivery. Every time someone left it was a scramble to re-hire and re-train because it left such a huge hole in the team.
Hiring too many people is a problem, but trying to keep teams artificially small is also a problem. The hard part is knowing how close you are to "too big" or "too small", which is rarely obvious at the time.