Lots of money, lots of employed engineers, everyone needs to do something.
That's the case with a lot of tech today - it's done for the sake of letting people do something. Which, I guess, is not that bad, in the end things are brought to perfection, even though they're not strictly 'needed' in the product.
The fast CPUs and enough RAM take care of the added complexity and everyone's happy.
I heard about something similar to this once on a project a friend was working on (it wasn't of this scale) - it was actually when a designer was the lead on the project and he insisted on customizing random tiny bullshit and the engineers didn't have the power to say no (to cut on the added complexity).
I hope that's not the case, considering there are much more interesting things Facebook employees could be working on (not necessarily even for the betterment of society).
Reading through just some of the classes they have it looks like they have everything from packet readers to image manipulation to RSS feeds to web page embedding to video playback in there. Its literally an OS unto itself.
Lots of money, lots of employed engineers, everyone needs to do something.
That's the case with a lot of tech today - it's done for the sake of letting people do something. Which, I guess, is not that bad, in the end things are brought to perfection, even though they're not strictly 'needed' in the product. The fast CPUs and enough RAM take care of the added complexity and everyone's happy.
I heard about something similar to this once on a project a friend was working on (it wasn't of this scale) - it was actually when a designer was the lead on the project and he insisted on customizing random tiny bullshit and the engineers didn't have the power to say no (to cut on the added complexity).
Don't know if this applies in FB case.
I hope that's not the case, considering there are much more interesting things Facebook employees could be working on (not necessarily even for the betterment of society).
It seems to definitely be the case for designers (300+?), I wouldn't be surprised if it's the same for engineers.
10,000+ people to keep the service running?
I mean, sure. Most apps have that. The question is what internal structures led to it being this way, and whether they're worth the cost.
Of course, we have no idea about any of that stuff so we sit outside and say "lol Facebook are so silly".
And its all Objective C code!
Reading through just some of the classes they have it looks like they have everything from packet readers to image manipulation to RSS feeds to web page embedding to video playback in there. Its literally an OS unto itself.
my favorite ones though:
FBWhichApplicationAreWe_DO_NOT_USE.h
FBProfileSetEventsCalendarSubscriptionStatusMutationOptimisticPayloadFactoryProtocol-Protocol.h
FBStoryCreateInputDataAttachmentsLifeEventExtrasEducationInfoEndDate.h
FBReactionAcornSportsContentSettingsSetShouldNotPushNotificationsMutationCall.h
to my dear downvoters, "Fools ignore complexity. Pragmatists suffer it. Some can avoid it. Geniuses remove it." Alan Perlis
Both the app and that webpage.