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.
黄色直播 Computer Science alumnus Peter O鈥橦earn (BSc '85) is among the 1.3 billion monthly users making these updates. (For example, according to Facebook, O鈥橦earn caught a number of squid in St. Margaret鈥檚 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 company鈥檚 London, England office, O鈥橦earn 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 O鈥橦earn 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 O鈥橦earn and the late Prof John Reynolds from Carnegie Mellon University. O鈥橦earn says the creation remains his greatest achievement.
鈥淲ith 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 O鈥橦earn.
鈥淚n 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 O鈥橦earn 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 O鈥橦earn, landing a job at Facebook has been the icing on the cake. He remembers his first visit to the company鈥檚 main headquarters in Hacker Way, California.
鈥淲hen I first arrived it was a jaw-dropping experience,鈥 he recalls. 鈥淭here 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.
鈥淚t was amazing,鈥 he says. 鈥淚t鈥檚 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 O鈥橦earn has always instilled within himself. He says he likes a challenge and sets his standards very high.
鈥淲e purposely choose difficult goals so it鈥檚 hard to achieve them,鈥 he says. 鈥淲e 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.
鈥淎 career goal of mine has been for program verification, based on logics of programs, to have broad real-world impact,鈥 he says. 鈥淚t 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.鈥
O鈥橦earn attained a BSc degree in Computer Science from Dal in 1985, followed by MSc and PhD degrees from Queen鈥檚 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 he鈥檚 certainly had a few bumps along the way, but going the extra mile has always paid off.
He says it鈥檚 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.
鈥淚鈥檝e never seen a better time for being a graduating computer science student,鈥 he says. 鈥淭here are many amazing technology companies with challenging problems and they need talented computer scientists."