Jul 2021 - Present | New York, NY
Building the backend of Metropolis, a mobile/camera based parking platform, with Scala (Play/Cats/Slick) and MySQL. Specifically my focus is on the consumer portion of the backend and our external API for integrations with Metropolis, like Uber Park.
Apr 2017 - Jul 2021 | New York, NY
Recently began work on the next generation developer API. Previously on our infra team focusing on Scala tooling and infrastructure of Foursquare, including our build workflow (Pants), and core Scala libraries like Spindle and Rogue. I worked to improve the Scala ecosystem in our codebase, which is a monorepo comprised of millions of lines of Scala over thousands of packages.
Previously worked on our venue pipeline built on Hadoop, Scalding, and Spark. The pipeline ingested place records from first and third party sources, performed distributed clustering/conflation, and output a canonical view of the world’s places.
Some recent projects:
- Upgraded our codebase to Scala 2.12, after dozens of other third party library upgrades to ensure compatibility.
- Migrated our Rogue library to use reactive streams instead of callback hell for asynchronous MongoDB access.
- Migrated our MongoDB clusters to a cloud-hosted solution, while avoiding data loss or downtime on the application side.
- Integrated a Scala formatter into our codebase.
- Refactored our Spindle Thrift codegen to significantly cut down on generated code.
- Developed an onboarding project to guide new developers through monorepo setup and usage.
Jul 2016 - Apr 2017 | New York, NY
I worked on the sports data API (Java 8/Spring/Couchbase), which was a originally developed for MLB, but our team adapted it to NHL, MLS, and other sports. This system served all of the stats and data that powered the streaming services, websites, and apps used by these leagues. Built a responsive job scheduling framework with Scala and Akka (Streams/Actors/HTTP).
May 2015 - July 2016 | Baltimore, MD
Scala software engineer working on high performance ad-serving platform, handling impressions, clicks, actions, and RTB - serving and handling billions of concurrent ad requests per day. Our team migrated a large .NET ad serving system to Scala, sending developer happiness through the roof while saving the company tens of thousands per month.
June 2013 - May 2015 | Baltimore, MD
Back-end Scala/Java/PHP software engineer at Cortx, a small company (~2 people at the time) creating NLP-powered tools used by SEOers for content creation needs as an alternative to freelance writers. While at Cortx, I built ArticleForge from scratch - an NLP pipeline that given one or more keywords, gathers relevant content and restructures it “in its own words” as a fresh article.
Nov 2017 - Jun 2018 | Brooklyn, NY
Built out scalable server-side microservices using Lightbend Lagom (Scala, Akka, Play Framework, Cassandra, Kafka). Worked with founders, designers, and app developers to deliver backend API requirements for a distributed remote workout class system.
Aug 2009 - May 2013 | Newark, DE
BS, Computer Science
Concentration: Artificial Intelligence