Palmer Paul Software Engineer

I am a software engineer at Meta. I develop tools for managing feature flags and feature rollouts that are used by most engineers across the company. I get great satisfaction from improving the developer experience and productivity of my fellow engineers. I am particularly passionate about improving system reliability by making it harder for people to make mistakes.

I graduated Summa Cum Laude from the University of Pennsylvania with a master’s degree and a bachelor’s degree in computer science. In school, my main academic interests were functional programming and programming language design and implementation. One of the highlights of my university experience was getting the opportunity to teach. I was the instructor of CIS 194, an intro to Haskell course, in the fall of 2018. Additionally, I was a teaching assistant for CIS 120, one of the introductory programming courses, for three semesters.

Throughout high school and college I worked on many side projects which can be found on my GitHub. The most prominent of these projects is elm-ios, an experimental framework for creating iOS apps with native UIKit components using the Elm programming language, which I created during Google Summer of Code 2017.

About

Summer 2020

I graduated from the University of Pennsylvania and began working as a full-time software engineer at Meta / Facebook. I joined the Configuration Management team, which develop tools that are used by most engineers across the company for managing feature flags and feature rollouts.

Summer 2019

I returned for my second software engineer internship at Facebook in New York. I spent the summer working on static analysis tools for JavaScript as part of the Flow team.

Fall 2018

I was the instructor for CIS 194, a half-credit Haskell course, for the Fall 2018 semester. The course emphasized practical applications of Haskell. Some assignments that the students worked on were parsing and interpreting the untyped lambda calculus and making the backend for a link shortener. My responsibilities included developing the curriculum from scratch, leading a 1.5 hour weekly lecture, creating homework assignments, establishing course policies, managing two teaching assistants, and various grading duties.

Summer 2018

I was a software engineer intern at Facebook in New York. I spent the summer working on infrastructure for Facebook Live and related video products. My main project was optimizing delivery time for certain Live notifications.

Spring 2017 - Spring 2018

I was a TA for CIS 120 Programming Languages and Techniques I for three semesters, from Spring 2017 until Spring 2018. My responsibilities included leading a weekly recitation, holding weekly office hours, and grading homework and exams.

Summer 2017

I successfully completed a Google Summer of Code project for the Elm Software Foundation. My project laid the foundations for using Elm to make native iOS apps. I learned a great deal during this project and really enjoyed it. You can look at the the code for the project on GitHub or read more about it on the GSoC website. (For the uninitiated, Elm is a functional programming language for creating web apps. It has no runtime exceptions, a superb refactoring and debugging experience, and an excellent community. It is a really fun and useful language and I strongly encourage you to check it out.)

Summer 2016

I interned at Sefaria as a software engineer. The most prominent contribution I made was the export to drive feature for source sheets. You can read about it here.

Blog

Quick Tip: Invoking Liquid Tags from Custom Filters

I was recently working on a Jekyll website and figured out a neat trick involving custom filters. I was creating a filter to extend the functionality of the Jekyll link tag to specially handle certain site-specific URLs and delegate to the link tag in all other cases.

Continue reading...
GSoC Update #3

Previously on Elm for iOS, I discussed the latest plans for the project and the internals of JavaScriptCore. Since then, I’ve been working on implementing those plans. I have been approaching the work from two fronts, 1. a modified version of virtual-dom and 2. a Swift backend for rendering and updating native UIKit elements.

Continue reading...
GSoC Update #2

The planning stage of the project is nearly done. After some trial and error, we have discovered a promising approach for how to construct the Elm-Swift bridge.

Continue reading...
See All Posts

Contact