+----------------------------------------------------------------+ | __ __ __ ______ __ __ ______ ______ __ | | /\ "-./ \ /\ \ /\ ___\ /\ \_\ \ /\ __ \ /\ ___\ /\ \ | | \ \ \-./\ \\ \ \\ \ \____\ \ __ \\ \ __ \\ \ __\ \ \ \____ | | \ \_\ \ \_\\ \_\\ \_____\\ \_\ \_\\ \_\ \_\\ \_____\\ \_____\ | | \/_/ \/_/ \/_/ \/_____/ \/_/\/_/ \/_/\/_/ \/_____/ \/_____/ | | | | ______ ______ __ __ __ ______ ______ | | /\ ___\ /\ __ \ /\ \/\ \ /\ \ /\ ___\/\__ _\ | | \ \ \__ \\ \ \/\ \\ \ \_\ \\ \ \____\ \ __\\/_/\ \/ | | \ \_____\\ \_____\\ \_____\\ \_____\\ \_____\ \ \_\ | | \/_____/ \/_____/ \/_____/ \/_____/ \/_____/ \/_/ | | | +----------------------------------------------------------------+
Who am I?
I’m Michael Goulet. I was born and grew up in Houston, TX. Some things that I love are computers, functional programming, Magical Realism fiction, contemporary art, and Italian greyhounds.
I graduated from Caltech with a Bachelor of Science in Computer Science and English.
In the realm of CS, I’m strongly interested in: scalability, compilers, functional programming, computer graphics, and distributed computing. I am always thinking about how programming language design affects the architecture and maintainability of large-scale projects in different domains.
My dream topic in CS (for example, if I were to pursue a Ph.D.) would be to study the way programming languages fit together in the different levels of a scalable system. Developing an architecture that emphasizes foreign function calls in a first-class way would be neat, since my philosophy is that the best programming language should be employed at each level of a complex software system.
I exmplored a bit of this during my CS 123 (Database Projects) course, where a classmate and I implemented an extremely extensible SQL optimizer in Scala on top of a database that was originally fully written in Java. It was amazing to being able to employ a functional programming language in the optimizer, and falling back to an imperative language in the much less functional-oriented storage code!
I’m joining Facebook in September as a full-time Production Engineer. I still have no idea what team I’ll be working for, but I’m definitely interested in infrastructure and storage.
Last summer, I worked at Facebook as a Production Engineer Intern on Video Infrastructure. I’m working on the Comprehension team, where we manage services surrounding video detection (e.g. copyright). I worked primarily on developing internal tooling to help my team, and rolled out some internal services surrounding the next generation of video copyright detection at FB.
I did work on some open source stuff last year as well – I enabled TLS support on RTMP streams in a popular gamer streaming platform called OBS. Check out the pull request here and see the merged code in commit e67e2e12. My work got rolled out in v22, so if you’re using Facebook Live in OBS, you’re probably encrypted without even noticing!
The previous summer, I worked at Facebook as a PE Intern on the POSIX Storage team. I worked on improving the performance of multi-tenant storage volumes on a distributed filesystem called GlusterFS. Most of my work is open sourced! Check it out here and watch my talk that I gave at the yearly Gluster Conference in Prague, CZ, EU here – I probably sound a bit nervous during the talk, but give me some slack, I was very jet-lagged (:P). I might make a blog post about it some time soon, since I’m still keeping tabs on my work and hope to eventually improve it further.
Before working at Facebook, I worked in the Marine Autonomy lab at the NASA Jet Propulsion Laboratory, working on an message-passing API called CTOC. I worked primarily on making sure that the messages that the library emitted were CORBA-compliant and that the library was reliable, since it is running in a very resource-intensive environment. Send me an email if you’d like to read the paper!
Finally, even before that, I worked at HP on the Linux Thin Clients R&D team, working on a Linux distro called ThinPro. My project mainly focused on developing software and methodologies to enable fast prototyping of ThinPro on new hardware, since it was (at the time) very hardware-specific and difficult to port to new devices.
I graduated from Caltech with a degree in CS and English (and I was a member of Ricketts and Ruddock houses, if you’re curious). I TAed for a few classes in the CS department, mostly focusing on systems and databases. I learned a lot from TAing and helping others.
I am also really interested in English. I got an English degree from Caltech, and did a Senior thesis titled Caught in the Middle: Homosexual Guilt, Liminality, and the role of the ‘Novel of Identification’ in Post-World War, Pre-Stonewall America. It’s pretty long, but give the abstract a look if you’re interested.
I also studied abroad at the University of Edinburgh (Fall 2018).
My phone number and other contact information is available on request! Feel free to reach out – I love talking to people!