I’d be careful not to conflate criticality with complexity.
The TCP/IP stack is extremely well defined and covers a finite problem space.
Products higher up the software stack tend to balloon in complexity as they reach into concrete use cases. I’m sure there are plenty of overweight teams, but most products can’t survive with 4-6 people.