
After having worked several years in a large internet company, its refreshing to be in an environment as open as Facebook. It is hard to find such a unique combination of excitement of a startup with the stability of a large company with an established user base of over 100 million.
The perception that work within Facebook is limited to web development is far from reality. The range of problems that Facebook needs to solve in order to serve its massive user base will have both engineers and computer scientists drooling! Before listing several examples of such problems, I'd like to highlight that many of the solutions that Facebook has implemented have been made open source!
thrift: framework for building client-server applications in different languages
hive: sql layer on top of hadoop to process terabytes of data using sql on hardware which costs a fraction of that of traditional databases
cassandra: distributed hash table implementation with eventual consistency guarantees, used in inbox search
memcache: large scale, highly available cache distributed across geographies (significant contributions to open source)
And there are several other problems that we are working on like a distributed file system for fast retrieval of billions of photographs, mining rich data sets collected in the social graph, auction design for social ads and of course interface design.
Are you a computer engineer/scientist? Come in with your favorite area in computer science, and chances are Facebook is already working on pushing the state of the art in that area!