RESUME

SYNOPSIS

Full stack developer with extensive experience in individual/small-team environments given high degrees of flexibility and autonomy. I also have a fair amount of experience working remotely and in newly-formed teams (with both greenfield and brownfield projects).

WORK

  • Wonolo

    2022–2023
    Senior Software Engineer, Build and Release Tools (Build Engineering)

    Inaugural member of a newly formed Build and Release Tools (i.e. Build/Release Engineering) along with the team lead. The team’s purview was maintaining and improving software build and release practices, involving an equal mix of navigating both human (interpersonal/cross-team) and technological challenges toward solutions.

    • Designed and implemented a tool in Ruby (called Arborist) to assist with a department-wide code ownership initiative. Arborist generated code ownership trees (for a given repository) from multiple sources of truth, reconciled them into a single tree, and generated a canonical CODEOWNERS file (GitHub), which served as a mapping of a repository’s files to the GitHub team(s) that owned them.
    • Implemented a service in Node.js that generated recommendations for pull request reviewers based on data from the repository’s CODEOWNERS file and other custom criteria. The service integrated with configured GitHub repositories and published recommendation reports as comments within open pull requests.
    • Helped maintain and improve an internal queue service (with Slack bot interface) in Python that integrated with GitHub and our CI/CD platform to allow developers to collaboratively manage sharing of exclusive deployment resources and support developers in monitoring their builds/deployments.
    • Wrote a lot of unit and integration tests for all of the above.
    • Responsible (as a team member) for stewardship of our CI/CD solution and assisting other teams in utilizing it successfully.
    • Drove and participated in a lot of inter-team discussions about process improvements, best practices, and how our team could help improve developer experience.
  • George Mason University (GMU)

    2021
    Consultant

    I assisted a colleague with bringing an unoptimized Leaflet map visualization for the Urban Renewal Impact website into a working state by making the application more dynamic.

    • Migrated the front end from jQuery to Vue + Vuex to better manage the application's complexity, improving readability, extensibility, and maintainability.
    • Rewrote the existing Slim PHP API endpoints and optimized SQL queries to provide data in a more targeted manner, relieving heavy processing and memory demands from the front end by leveraging the functionality of the Postgres database.
  • The Dallas Morning News (DMN)

    2019–2020
    Full Stack Developer

    At the Dallas Morning News, I primarily worked on building LocalGraf, a graph-based knowledge system backed by AWS Neptune and GraphQL intended to power features across the DMN website. I designed and wrote much of the fundamental software for LocalGraf.

    • Built core software (in Node) for an internal knowledge graph system (called LocalGraf) utilizing Amazon Neptune and Elasticsearch.
    • Wrote a preprocessor (called Pegasis) that dynamically generated the entire LocalGraf GraphQL API, creating the GraphQL query/mutation endpoint definitions, their handler functions, and standing up the API server, using GraphQL as a DDL (data definition language). Using Pegasis in combination with GraphQL files for defining the data model allowed less back-end-oriented developers to submit schema modifications for review via PR with minimal additional training.
    • Wrote a basic OGM (object-graph mapping) library (called Mogwai) that generated Gremlin queries and facilitated communication between Amazon Neptune and JavaScript applications (i.e. Pegasis).
    • Helped develop and maintain LocalGraf's supporting systems such as the administrative interface and AWS infrastructure.
    • Managed implementation, ETL (Extract, Transform, Load), and data quality for a number of content features that utilized LocalGraf including the North Texas Giving Guide, Top 100 Places to Work, and School Guide.
    • Assisted in migrating the main website from a custom CMS to WaPo's (React-based) Arc Fusion platform as part of the dallasnews.com relaunch.
    • Assisted in developing React components for the DMN website, often centered around Things to Do event search functionality since it tied heavily into LocalGraf.
  • Center for Open Data Enterprise (CODE)

    2017–2021
    Full Stack Developer

    I joined the Center for Open Data Enterprise to work on the UN SDG National Reporting Initiative project, which aimed at helping national organizations share information on implementing platforms for reporting on UN Sustainable Development Goals. After the initial UN SDG National Reporting Initiative project effort ended, I continued to assist with some additional project work and volunteered maintenance time.

    • As the sole developer for the SDG National Reporting Initiative website, I:
      • Helped drive the design process in cooperation with Threespot, creating multiple prototypes throughout the process to guide decision-making.
      • Implemented and deployed the website utilizing a Jamstack solution (Jekyll, Vue, Netlify, and PostgreSQL-backed Express APIs utilizing Sequelize) with additional services such as Forest Admin to better leverage limited financial and technical resources.
      • Created a filtered keyword search of resources powered using only PostgreSQL in order to minimize resource usage and maintenance complexity.
    • Overhauled CODE's Open Data Impact Map website (JavaScript and PHP), including relational schema redesign, bugfixing, code refactoring (eliminated ~20k lines of code), and infrastructure updates.
    • Implemented a redesign/relaunch of CODE's primary organization website.
    • Volunteered ongoing time to help maintain the organization website.
  • Democratic National Committee (DNC)

    2016
    DevOps Engineering Consultant
    ʕノ •`ᴥ•´ʔノ ︵ ┻━━━━━┻
  • Sunlight Foundation

    2015–2016
    Full Stack Developer

    I was a member of Sunlight Labs during its hectic final year. I quickly inherited a range of responsibilities due to large staff turnover.

    • Maintained the Open States project. This involved the Django website and API; MongoDB database; a Dockerized fleet of distinct web scrapers for all 50 states, D.C., and Puerto Rico; and ensuring data quality across all of the ingested data by daily review. The scrapers required frequent maintenance due to inconsistent/breaking content publication or system changes from official state sources, and the data quality work was commensurate.
    • Managed community contribution to Open States, providing status updates, guidance, and PR reviews.
    • Helped address continued support requests and infrastructure maintenance for Sunlight's other existing projects and tools, both internal and external.
    • Worked to improve automation of several pipelines to better leverage limited capacity.
    • Provided technical assistance to other teams from guidance to helping develop and set up infrastructure for project prototypes.
  • CauseLabs

    2014–2015
    Full Stack Developer

    At CauseLabs, I handled a range of responsibilities for both internal and client projects, and served as primary developer on client projects for the Dave Thomas Foundation for Adoption (DTFA).

    • As primary developer for the DTFA client projects, I:
      • Performed a complete redesign and reimplementation of the DTFA organization website, handling both the implementation of the new theme and cleaning up/migrating all of the underlying WordPress systems.
      • Implemented a newly designed site for the DTFA Kickball campaign.
      • Managed AWS infrastructure and performance profiling/optimization for the DTFA websites.
    • Created an administrative panel (in Angular) for Moneythink which interfaced with a Parse application database and enabled instructors to manage student education module assignments.
    • Created a WordPress CRM platform for managing missionary donation profiles in a centralized and unified manner, which involved writing a custom plugin to integrate other plugins with canonical data from Blackbaud's eTapestry service.
    • Responsible for implementing a variety of other client work including bugfixes, feature requests, service integrations, and ETL pipelines.
    • Managed server administration, AWS infrastructure, and Jenkins build pipelines for both internal and client projects.
  • Javelin

    2013
    Consultant

    At Javelin, I handled migration, optimization, and monitoring of ETL pipelines for a PostgreSQL-backed data warehouse.

    • Analyzed and optimized PostgreSQL query performance.
    • Migrated and consolidated ETL pipelines into a Pentaho Data Integration system, reducing maintenance complexity and improving processing efficiency.
    • Wrote ETL task monitoring tools in Perl/PHP that integrated into a custom internal ETL task monitoring system.
  • Advanced Curricular Design and Educational Technology (ACDET)

    2012–2013
    Web Developer

    At ACDET, I worked on implementing a web administration interface for managing learning module assignments on a differential diagnosis education platform.

    • Built an admin interface using Catalyst (Perl) and Template Toolkit to interface with a PostgreSQL database.
  • Texas A&M-Commerce (TAMU-C)

    2010–2012
    Full Stack Developer

    At Texas A&M-Commerce, I was part of a small student team formed to meet growing web development needs at the Sam Rayburn Student Center that could not be adequately met by the campus IT department.

    We were tasked with all parts of software development including consulting with stakeholders to determine solutions; designing, implementing, deploying, and maintaining the totality of both front end and back end components for our solutions; and generally being responsible for all systems administration and devops tasks related to the student center's web applications. We also worked in close coordination with the campus IT department as a necessary part of our system administration responsibilities.

    • Helped maintain the campus event scheduling calendar system.
    • Implemented an online ATS (applicant tracking system) to migrate the student center from paper to digital job applications.
    • Designed, implemented, and deployed a website for a student leadership program for accepting and managing program applications.
    • Designed, deployed, and maintained applications, databases, and their servers.
    • Responsible for introducing the team to Git for version control using the Gitflow workflow.