Experience

Skills

Languages

  • Clojure/ClojureScript
  • Ruby
  • Python
  • Go
  • Java
  • Scala
  • JavaScript/TypeScript
  • Bash
  • Perl
  • PHP
  • C/C++
  • Common Lisp
  • Haskell
  • Kotlin
  • CSS/SCSS
  • HTML
  • LaTeX
  • Frameworks

    Backend

    Frontend

    Tools

    • Emacs
    • Git
    • Bazel
    • Jenkins
    • Gerrit
    • Docker
    • Vagrant
    • Android SDK

    Databases

    Clouds

    Administration and Management

    • Datadog
    • Nginx/Apache
    • Puppet
    • Chef
    • Ansible
    • RackTables
    • Nagios
    • SevOne NMS
    • Proxmox

    Education

    B.S. Software Engineering, Drexel University (2011-2016, currently on hiatus)

    Employment History

    Vistar Media (present)

    I'm currently a software engineer focusing on internal tooling and automation. Previously, I established and led the Support Engineering team, responsible for addressing escalations from frontline Support, Product, and Supply Ops as well as serving as an interconnect with the Engineering organization at-large.

    I still spend plenty of time over there where we deal with various requests ranging from making configuration, data, and code changes to performing deep investigations of improper or unexpected behaviour across all parts of the Vistar ad platform; fixing, comprehensively documenting, and/or delegating to specific teams as necessary.

    As well, the Support Engineering team is responsible for handling and monitoring weekly releases as well as being points of contact for outages and other such incidents that may occur.

    SevOne

    SevOne began as my second co-op with Drexel and continued part time through the fall and winter of 2014-2015 before leaving for Vimbly. I resumed briefly after returning from California, and several years later came back once more (having then finally shed "intern" from my title).

    As an intern, I primarily took on tasks related to the web application component and reporting framework of SevOne NMS, particularly with C++, PHP, and JavaScript (vanilla, ExtJS, jQuery). I also worked on diagnosing and fixing issues with appliance clustering (namely problems adding peers), licensing, browser compatibility, and MySQL replication.

    Once I went full-time, I began focusing more on critical issues involving data loss, system configuration and performance, as well as relatively newer offerings like Data Insight, Data Bus, and Universal Collectors both during business hours and as part of a developer on-call rotation.

    Freelance/Contracting

    I began working on small projects both independently and for a local firm around 2012, with scope expanding soon after. This position mostly entailed WordPress plugin and theme development but often involved full site builds or extensive modifications. Projects included support and development for a custom eCommerce platform, a comprehensive online shopping research tool leveraging Scrapy and Pandas, a third-party media platform integration plugin for WordPress, and an Android application for a Y Combinator startup.

    I also worked on maintaining infrastructure, building internal tools, and much more. In late 2015, I was involved in an SEO keyword study of 1,000,000 Google search results that was even written about in a few different publications, including TechCrunch.

    Picwell

    At Picwell, I performed feature development and helped out with DevOps for our health care plan recommendation platform. This primarily involved writing Python (most notably Flask and Pandas), Go, and Scala as well as working with Chef, AWS, and Jenkins.

    Endeavours here included improving service deployments, automating data ingestion and processing tasks, analyzing and producing reports of AEP (Medicare annual election period) and non-AEP API traffic, designing and building brand new versions of several services, and implementing a new load testing suite and tooling using Gatling for evaluating application performance under various conditions.

    Relay Network

    At Relay Network, I was a full stack developer working primarily with Clojure. Here, I developed features for multiple backend services, worked with huge amounts of data, diagnosed and fixed issues of all kinds, and more.

    Backend services were all written in Clojure, frontends for portals and the actual Relay application used Backbone.js, Ruby was used for testing (RSpec) and automation/tasks (Rake), Ansible was used for service deployment, and infrastructure was all hosted in AWS.

    The list of projects is quite long but includes an overhaul of the internal file processing system for customer data management and messaging, a few brand new client-facing APIs, and 2-token IVR for new member onboarding.

    Facebook

    In the summer of 2015, I was a Production Engineering intern at Facebook's headquarters in Menlo Park, CA. Here, I worked on the PE Mobile team on several projects involving the use of PHP and Hack, Python, Phabricator, Chef, and Mercurial.

    My primary project was an automated (almost touchless) Android device provisioning tool. This tool is used for preparing devices out of the box for installation in the mobile device labs, performing tasks such as rooting the phone, installing a custom ROM, and making necessary configuration changes for remote access and management. By the summer's end this tool supported Nexus 4 and 5 (and theoretically most other at-least-close-to-vanilla Android devices) and was able to be used to provision sets of phones both locally as well as remotely in the Prineville, Oregon data centre.

    My second project was a battery monitoring script for Android and iOS devices in the device labs. It gathered battery voltage information and submitted results to a Scuba dataset in order to reveal potential correlations between device performance and battery health.

    As a final project, a web-based device lab status dashboard was devised which displayed the layout of devices in their wall-mounted shelves, their current health state, and various other details gathered from multiple data sources.

    Vimbly

    For the spring of 2015, I worked for New York City startup Vimbly as a web developer intern. Responsibilities here started day one with beginning split testing with Optimizely and cleanly integrating these tests into the Vimbly website. This soon turned into an almost constant stream of various frontend and backend (CakePHP) projects primarily concerning the internal administrative dashboard, customer-facing booking and payment, and VimblyBot system.

    A few larger projects include the integration of CasperJS into the VimblyBot infrastructure and the replacement of the existing bot batcher (used to fetch and ingest clients' event schedules) with a new, more maintainable daemon. Other operational duties and extra projects involved working with MySQL replication, AWS, and Plack.

    Drexel University College of Computing and Informatics

    Prior to and for my first co-op, I worked with the system administrator at the Department of Computer Science on maintaining CS and Math department hardware; server installation and configuration; and management with RackTables, Nagios, and Puppet. I also provided technical support to faculty and students, and began working on a thin client lab solution using LTSP.

    AT&T Labs

    For the summer of my freshman year, I worked at AT&T in Middletown, NJ as a Summer IT intern. Here, I planned and developed an Android application using some of AT&T's (then) new mobile APIs.

    This summer program served as a dry run of the AT&T Summer Coding Challenge. This entailed ensuring that deadlines were realistic, project selection was appropriate, and requirements were clear. It also involved implementing the project itself, for which I wrote a voice-controlled Reddit browser for Android using AT&T's Speech Recognition API.