Facebook employee and CS alum Peter O'Hearn spoke about his work with the company on Wednesday. A version of the following article was first published in the Fall edition of the .
Every 60 seconds, 293,000 statuses are updated on Facebook, 136,000 photos are uploaded and 510 comments are posted.
AV整氈窒 Computer Science alumnus Peter OHearn (BSc '85) is among the 1.3 billion monthly users making these updates. (For example, according to Facebook, OHearn caught a number of squid in St. Margarets Bay, N.S. last summer.) But his social media expertise spans beyond the occasional status update. Also noted on his profile page is his place of employment: Facebook.
Based in the companys London, England office, OHearn was hired to work for the popular social media site following the acquisition of his startup company, Monoidics, in 2013 by Facebook.
Monoidics was created in 2009 by OHearn and two colleagues, Cristiano Calcagno and Dino Distefano. Their company marketed Infer, the separation logic-based static analysis tool. Separation logic is a theory which facilitates scalable reasoning about programs, particularly concerning the way they access and mutate memory and other dynamic resources.
Separation logic was developed jointly by OHearn and the late Prof John Reynolds from Carnegie Mellon University. OHearn says the creation remains his greatest achievement.
With separation logic a range of programs that previously only had messy, complicated specifications and proofs became easy to deal with. This opened up new possibilities both in theoretical and practical work, says OHearn.
In addition to its significance, the work on separation logic was (to my mind) pretty. It is a compact theory based on a few primitives, that nonetheless pro-vides the power to go much further on difficult problems than previous more-complicated approaches.
Deploying new tools
Today OHearn works with a team at Facebook building and deploying static analysis tools. These are software tools that crawl over code searching for bugs and attempting to prove properties of the code. The team uses separation logic in their work, particularly with the Infer static analyzer.
For OHearn, landing a job at Facebook has been the icing on the cake. He remembers his first visit to the companys main headquarters in Hacker Way, California.
When I first arrived it was a jaw-dropping experience, he recalls. There were restaurants, cafes, people driving around on bicycles and skateboards, there was graffiti and other art on the walls of the offices, there was funky music playing before seminars and in lunch areas. I thought it felt like Disneyland. Only later did I find out that Facebook actually hired Disney consultants to help give it its amazing look and feel.
He says most importantly, he was inspired by the people he met: hundreds of employees working enthusiastically to make an impact on the company.
It was amazing, he says. Its an extremely positive atmosphere and there are a lot of intelligent people to engage with and challenging problems (to solve).
The work ethic within the company is one OHearn has always instilled within himself. He says he likes a challenge and sets his standards very high.
We purposely choose difficult goals so its hard to achieve them, he says. We challenge ourselves. It feels great when you actually achieve those goals.
Looking ahead
He says working at Facebook has taken him one step closer to achieving his next goal.
A career goal of mine has been for program verification, based on logics of programs, to have broad real-world impact, he says. It should help programmers write more reliable code and therefore impact the people that use this code. Over a billion people use Facebook, and there is a great programming culture here, making this an ideal situation for me.
OHearn attained a BSc degree in Computer Science from Dal in 1985, followed by MSc and PhD degrees from Queens University. He went on to hold professional positions at Syracuse University, Queen Mary, University of London and University College London before joining Facebook in 2013. Since graduating, he admits hes certainly had a few bumps along the way, but going the extra mile has always paid off.
He says its important for students today to try and go beyond the textbook. He says students need to debate with one another about computer science problems and understand why an approach might or might not work.
Ive never seen a better time for being a graduating computer science student, he says. There are many amazing technology companies with challenging problems and they need talented computer scientists."
