There's a lot of hate here for what is not a novel point, but a good one. Who likes to work with the technically brilliant arrogant jerk? What's the point of an awesomely engineered solution that took 5 times longer to develop than a simpler one which also did the job? If you want to do computer science research, go to a university, but 99% of you have not done that and would not thrive in that setting. Software engineering is about building good solutions with simple maintainable code, not about programming whiz tricks. Even if you're working on very performance-sensitive code, like say graphics, I'd rather you code something up based on the research or use the right library rather than spend a lot of time cooking up a possibly half-baked solution yourself. If you spend all of your time coding and don't know how to interact with people, you are a team of one, and for all but a vanishingly few, that hugely limits what you can achieve. There is no question as to Facebook's social value, just ask your grandmother where she shares her pictures. And for all the people scoffing at Facebook's technical achievements, what about HHVM, OpenCompute, Cassandra, Hive, Flux, React, GraphQL, M, and hundreds of random open source projects. And who employs the coreutils maintainer?