Resume
Software Engineer — Web Developer — Tinkerer
Contact: resume@benjam.info
Status: Software Engineer at Instagram
Experience
Instagram Server Framework (2018 – present)
The Instagram Server Framework team is responsible for developer velocity on Instagram’s Python-based server codebase. I have worked on projects such as:
- The development and open-sourcing of LibCST, a concrete syntax tree and parser for Python. LibCST enables complex large-scale automated refactoring.
- A new linting framework for Python, making it easy for developers to add custom rules. We documented the work on Instagram’s Engineering blog.
- A tool for detecting networking and threading side-effects at import-time, improving the reliability of Instagram’s deployment process.
Instagram Web (2016 – 2018)
I was a Frontend Engineer managing Instagram.com. Instagram.com is a progressive web app written in React with Redux. I played a significant role in launching features and internal architecture improvements, such as:
- A redesign of the website and app.
- The Instagram Stories viewer on mobile and desktop web.
- Instagram’s modern GraphQL stack, and a migration to it.
- A migration from Flux to Redux, adding Flow types to the data model along the way.
I helped grow the team from three engineers to over a dozen by the time I left.
Facebook (Summer 2015)
As an intern on the React team at Facebook, I was responsible for porting all of Facebook’s web frontend from JSHint to ESLint, along with a large set of custom rules.
Amazon (Summer 2014)
I completed an internship with Amazon’s Fulfillment team, developing tooling for optimizing the dimensions of packaging material available to Fulfullment Center workers based on previous orders shipped from a given location. Small reductions in “air shipped” at Amazon’s scale has a great potential to reduce both costs and the footprint on the environment.
I declined a return offer in favor of Facebook.
UF ACIS Lab (Summer 2012)
Under a NSF Research Experiences for Undergraduates Fellowship grant and through UF’s University Scholars Program, I worked on IPOP and iDigBio.
Education
Master of Science in Computer Engineering
I graduated with a 3.66 GPA from the University of Florida in December 2015 through UF’s Combined BS/MS program.
Bachelor of Science in Computer Engineering
I graduated Cum Laude with a 3.42 GPA from the University of Florida in December 2014.
Past Projects
Honeybadger
An extremely easy-to-use tool for configuring and running tor relays and full bitcoind nodes. It uses a long list of technologies to automate installation, upgrades, and error recovery, as well as to provide metrics. This list includes:
- Ansible
- Monit
- Upstart
- UFW (iptables)
- unattended-upgrades
- Nginx
- htop
- aptitude
The goal of the project is to assist these decentralized and trustless networks, by encouraging people to run them on cheap and potentially unreliable hardware or virtual machines.
IPOP (IP-over-P2P)
A P2P VPN working by forwarding raw packets from a TAP device over UDP via STUN and TURN using libjingle (part of WebRTC) and XMPP.
- Raw packet networking with Linux Multiple routing modes (using a social graph or a fixed group)
- Cloud, mobile, and social applications
Empress
A lightweight email-focused fork of Sovereign that makes it simple and inexpensive to run your own secure email server, and migrate from an existing IMAP server.
NotVeryCleverBot
A highly experimental AI commenting robot for the Reddit social network.
- 26 stars and 6 forks on Github.
- 6,401 comment “karma” points on Reddit.
The bot was written quickly as a prototype in MongoDB, and has since been partially re-written in CoffeeScript with MySQL.
iDigBio
I wrote packaging scripts for a Python-based user-friendly upload tool. Targets were:
- Windows (via cx_freeze)
- Mac OS X (via py2app)
- A Virtual Appliance (via VirtualBox and Puppet)
iDigBio is an NSF 10+ year project, so a strong emphasis was placed on maintainability. Work was done under an undergraduate research fellowship.
Pan-Am
Pandoc is a “universal” document converter. It can output HTML, but it comes with no styling. Pan-Am is a simple responsive stylesheet written in SASS with the goal to make any document compiled with Pandoc look nice.
Century
I personally and independently developed library to automate various web-resources operated by the University of Florida via screen-scraping.
- Medium-to-large library, containing more than 10k LOC.
- Uses LXML to parse page content.
- Designed to be fault-tolerant.
Acheron
A daemon to interface between the StrongSwan IPSec daemon and GroupVPN to provide encrypted communication over GroupVPN’s Brunet P2P network. Acheron will be used to provide communication for Contrail, a cross-cloud computing framework. This project represents a collaboration between UF and VU University in Amsterdam.
GroupVPN’s functionality has since been reimplemented under the IPOP project, which provides strong DTLS encryption, obsoleting this project.
Fun Facts
I use GPG, and we should trade keys in-person!
I used to a number of tor relays on a rather shoe-string budget, thanks to my Honeybadger project.
I open-source as much of my workstation and server configuration as possible.
Technologies
- Programming Languages
- Python, JavaScript (including Flow and TypeScript), Java, C, POSIX Shell, and Hack (PHP derivative)
- Technologies
- Debian GNU/Linux, POSIX Shell, VIM, Git, Mercurial, SaltStack, Ansible, and Nginx