Backend engineer supporting Elixir and legacy Ruby services
Backend for Wink application
- Investigated and fixed root issue affecting over 500,000 users involved in core chat functionality that had plagued the system for over 2 months.
- Led effort to add first (unit) tests into an undocumented and untested Node.js backend API.
- Discovered client was using the backend API incorrectly causing bugs degrading the end user experience and documented a proposed solution around "random chat" functionality for both client and backend.
- Led effort to add first unit tests inside first Golang application repositories.
- Developed feature around storing and fetching metadata using DynamoDB via Golang lambda function to help improve long-tail retention.
Software Consulting Projects
- Successfully and quickly delivered 3 client projects with well-tested and easy-to-maintain features using Elixir/Phoenix, LiveView, and GraphQL. Clients ranged from a small startup to enterprise-level clients.
- Took the lead on repairing a distributed Jaeger tracing system by teaching myself enough Kubernetes and Ansible for debugging purposes to enable team to more easily troubleshoot issues.
Versus Platform (API)
- Development: Implementing backend API features written in Elixir using the JSON-RPC 2.0 specification. Writing controller tests that exercise the system which although originally built around a GenServer architecture, now uses Mnesia. Contributed bug fixes and simple front-end features written in React.
- Deployment: Also learned Terraform and how to deploy production releases to Google Cloud.
Implementing a microservice architecture slated to serve as the backend platform for Hallmark's e-cards and streaming movies services. The team built more than a dozen Elixir / Phoenix REST-ful microservices hosted on AWS with a PostgreSQL database and deployed via Docker. Due to a company-wide mandate, we are now rewriting it in Golang via the Beego framework with a MySQL database. Highlights include work on a minimalist prototype of an autocomplete suggestion feature(s) with Elasticsearch and using metaprogramming to reduce the amount of boilerplate used to build a nested CRUD hierarchy feature.
Built backend OAuth provider in Rails 5 and worked with 3rd party developers to integrate it with their search influencer platform to make it easier to connect influencers and company brands; resulted in a high value contract with a major automaker and over 2M+ worth of new business opportunities
Worked with 3rd party developers to integrate Fullscreen's influencer onboarding platform for new influencers with a 3rd party search platform. Dove into an Angular 1.x codebase I was not familiar with to setup the backend integration between the OAuth provider, influencer onboarding platform, and 3rd party search platform.
Elixir/Phoenix Reporting Application
Learned the Elixir/Phoenix basics and led effort to put the first internal application in production using Elixir. It emails a weekly CSV report of video metrics to business users. Completed on schedule while at RubyConf 2016.
Movie Trailer Reporting Application
Led effort to bring down the average web dyno worker by 50% (from ~1GB to ~512MB) through the use of raw SQL queries and Handlebars templating so the business users could have 6000+ videos associated with each movie they were tracking. Took over the maintenance and addition of new features on a Rails 5.0.x application from a former coworker. Features developed included: simple search with Postgres, edit CSV reporting features by adding new columns via raw SQL, auto-assigning video categories on a bulk addition.
Led an effort to integrate a campaign interest form using Google Apps scripting and took over tickets from former front end developer to make changes on the UI with a React / Redux workflow with a codebase I was unfamiliar with.
2017 Fullscreen Hackathon
Joined a team of 2 senior PHP developers to build a Wordpress plugin. Learned enough PHP/Wordpress to add a Tiny-MCE editor and modify the plugin CSS styling for our demonstration day. This plugin will actually be used to help clients with their own merchandise easily sell their own merchandise from their Wordpress site via our company API.
Sidekiq Monitoring Station
Built a Sidekiq PRO monitoring station secured with github oauth to monitor our background workers for 2-3 production applications on Heroku. The idea is to prevent having to create special admin users on each production application for the sole purpose of monitoring Sidekiq workers.
Logistics Automation: Implemented an automated way to provide the logistics and operations team updated shipping manifests when a new product line was added so that other programmers would not have to touch the codebase to make this happen. Used metaprogramming and SQL to do so.
2nd place Hackathon Winner
Worked on a team charged with a mission to retain customers at Loot Crate. Here's a snapshot of things I did:
- Performed some basic debugging on the fly during a marketing refer-a-friend program launch so our team could track the performance of its campaign using Optimizely while the main developer responsible was away on vacation.
- Wrote some basic SQL queries to ferret out subscriber counts and for use in internal metrics for the marketing team I’m on.
- Wrote modular API library that interfaces with 3rd party API service to calculate taxes for our Ruby off Rails (Grape) API
- Towards the end of my tenure, I worked on implementing an automated way to provide our logistics and operations team updated shipping manifests when a new product line was added so that other programmers would not have to touch the codebase to make this happen. Used metaprogramming and SQL to do so.
Built a REST-ful services API for an Elasticsearch powered directory of clinical trials for the University of Southern California Keck School of Medicine, with an average response time of roughly 100 milliseconds across an average of 6000 to 8000 daily requests (as of September 2015) built in Rails 4.2. I also implemented some front-end design tweaks on the searchable view side using Sass / CSS. Click the title link to see the directory whose data is being pulled from the API.
Implemented an automated progress report survey system to allow primary investigators (researchers) to report how NIH grant awarded funds helped their research, enabling a tighter feedback loop for organizational efficiency and budget allocation built with Rails 4.2.
Working on a Rails 3.2 legacy codebase to allow statistical research consultants to track their time and billing on client work. It uses AJAX and jQuery to allow real-time updates of the relevant numbers on the client facing user interface.
Clinical Trials Gadget
Managing the deployment and implementing minor bug fixes of a social media type "gadget" on a linkedin-like platform specifically built for researchers to highlight their clinical trials.