Developer Advocate / Software Engineer / Production Engineer at Facebook
Computers, programming, and technology in general drive me forward. Life is awesome, and everything is possible.
Parse + Facebook (2013-2020)
By far the most impactful thing I did at Parse was to create Parse Server. From initial concept, to development, and through launch and community building, this project represents my work better than any other example.
See the last Ask Parse Anything before launch.
Read the original launch post.
Read the Medium article I wrote with some backstory about the launch.
See the related screencasts I created in April 2016:
- Migrating your Database
- Your First Parse Server App
- Development Environment Setup OSX
- Contributing to Parse Server
Parse Server is still actively developed, with over 16,700 stars and 4000 forks on GitHub.
MySQL / RocksDB
MySQL is the primary database used at Facebook, with RocksDB as the embedded storage engine. I work on both teams handling release management, testing, and deployment across the entire fleet. I drove the deployment cycle from 3 months to under 3 weeks, with many improvements to automation and other tooling. For RocksDB I also manage the social media accounts and organize twice-yearly events.
Other Open Source Projects
- Parse Server – The open-source, self-hosted Parse solution.
- Parse PHP SDK – Developed and released a server-focused library to access Parse, which previously focused on mobile client tools. Since initial release in August 2014 it has had over 80,000 downloads, and a good community of external contributors formed to discuss and improve the project.
- Facebook SDK for PHP – Developed a new, modern SDK for the Facebook Graph API. It launched as version 4.0.0 at the end of April 2014, and has been incredibly fun to grow it as an open source project. Over 800,000 downloads, 35 total contributors, and nearly 400 commits.. from 4.0.0 to 4.0.23 and now 5.0.0, a lot has happened and pretty much everyone is happy.
- WebDriver bindings for PHP – I offered to take over maintenance of this incredibly popular (>1M downloads) project in May 2015. Created a community branch, and accepted pull requests to significantly modernize the codebase. See issue #212, Moving forward.
- AnyPhone – Originally created in a few hours as a proof-of-concept, this became much larger than I would’ve imagined. We blogged about it, Twilio blogged about it, and we made a screencast about it. It was demoed at many events, localized into different languages, and even ported to other platforms.
- Cloud Code OAuth2 – A explanation and full implementation of “Login with GitHub” functionality using Parse Cloud Code.
- mysql2parse – A weekend experiment in building an interactive process to migrate data from a MySQL database to the NoSQL-based Parse, while preserving simple relations.
Other Blog Posts (many links are now dead, even from the wayback machine)
- Open Source Spotlight: Florent Vilmart
- Using Node.js with Parse
- The Joy of Weekend Hacking
- Phone-based login, can you dig it?
- Parse for PHP, a fractal of rad design
- Building apps with Parse and Swift
- Global Game Jam 2014 at Facebook
- Adding third-party authentication to your web app
- Bring your own login
- Validating session tokens with the REST API
- Deleting multiple objects in one API request
- Ask Parse Anything – We produced six Question and Answer videos, which I developed most of the content for: YouTube channel
- Getting Started With Parse – At Facebooks F8 conference I had the privilege to share a talk with Christine Yen in front of several hundred people. Don’t mind the mohawk, I hated it too.
After more than 6 years at Facebook the rest of it doesn’t seem relevant, but I’ve been working in tech since 1997. 22 years experience across multiple industries, I’ve seen a lot and am happy to share anything you want to know about it.
Random amusements from January 2013 (these links are dead now)
- Desktop Dungeons – I had some fun during a weekend, playing with a HTML5 game development environment. I worked on a clone of Desktop Dungeons which I love. They are building a new version, which you should definitely support. I stopped before adding monsters and combat to the game, happy to have implemented the fog-of-war style map, a simple random dungeon generator, and most of the items and sprites.
- Bario – Super Mario Bros. 3 is probably my all-time favorite game. It has been tied by only one other game, which obviously took a ton of inspiration from it, and that game is Braid. I would love to see those two mixed, and play in the Mario world with the game mechanics of Braid.
- Parse Jump – I was flown out to San Francisco to interview with Parse as a Solutions Architect, and I got the job. 🙂 Soon after, but before the move, I put together this game demo using Construct 2. It’s a vertical-scrolling jumping game that uses either a mobile-device accelerometer or arrow-keys for movement. I used the artwork for the other Parse employees as the platforms. They are an awesome bunch and I am honored to be working with them!