I think our industry has a huge "boulder" - we often work on useless software that is far too removed from real world applications, which causes us to lose our passion.
When you have 50 engineers maintaining a boring piece of crap software which can be maintained by 5 engineers, you will start noticing the productivity going down. Engineers who used to be very productive will slow down to meet the low expectations.
Brainstorming a way to avoid this problem:
- working on things we're passionate about with real-world impact
- having a bunch of small organizations with small number of employees (maybe Mark should break down facebook into 50 smaller companies)
- stop creating redundant jobs; if things are not going well, adding 100 people to a project isn't going to fix the delayed project