3 ms·
I used to work in a company with 400+ developers and our team barely had any new features to add. We took care of one screen in the app. However getting anythi
by ratww 5y ago
I used to work in a company with 400+ developers and our team barely had any new features to add. We took care of one screen in the app.
However getting anything done was an impossible task and required huge amounts of code because of the complexity of the architecture.
I left after 6 months and a couple weeks because I couldn't bear the stress.
Fred Brooks is still right in 2021. More people, more problems.
- Sevii 5y agoThis is why FAANG pays so much. Imagine 1000+ engineers working on a single page in a web app. Your entire team is responsible for 1 widget on the page.
- afpx 5y agoAre FAANG developers more productive and efficient?
- jrockway 5y ago> More people, more problems. My theory is that teams scale exponentially. That means two people working together are probably as productive as two people working on completely separate things. (By completely separate, I mean totally different goals -- your weekend projects vs. my weekend projects. Definitely not employees at the same company, who in theory have some sort of common goal.) But it means that 10,000 people working on the same overarching project are about as productive as 14 people working on their own thing. This sounds bad, but if you treat it as a law of the universe, it's not so bad. If you want to do a project whose scope is the same as 14 unrelated one-person projects, you just need 10,000 people. It certainly seems to happen in other fields; there are no one-person teams building skyscrapers or new subway systems. People's workarounds for this are trying to split teams apart so that they can be somewhere lower on that exponential where the actual ratio doesn't feel so bad (1/1 is better than 14/10000). Unfortunately, it doesn't really result in great products and you end up with the classic "big company" feel -- where the company has 3 different chat apps, 2 infrastructure teams, is a gigabit ISP but can't upload or download to its own products at 1Gbps, etc. The individuals working on those projects are slightly more productive, but the company as a whole fails. So I guess if you work at a company of size N, and you feel like you're as 100%∗log2(N)/N as productive at work as you are on your personal projects outside of work, then you're doing great. The problem is that this feels super bad to software engineers, who probably got their start working alone in their spare time. But it's the law of the universe and there is nothing you can do to fight it, except hope that you can figure out a business whose scope is low enough where that log2(N)/N is pretty close to 1. (2 may not be the right exponent, of course, maybe it's something like 1.8. You'll never get around the fact that communication paths goes up like the factorial. At a 2 person company, there is only 1 1:1 to have. At a 40 person company, there are 39∗38∗37...=39! 1:1s to have. That ain't great scalability.)