Experience & Amazing Feats


TextUs Services

Principal Software Engineer (Apr 2020 — Present)

At TextUs, I am the lead DevOps engineer working to enhance and improve our business text messaging platform which helps businesses engage their customers via SMS messaging.

  • Currently crushing it

Intelivideo

Director of Engineering (Jun 2019 — Apr 2020)
Lead Engineer (Feb 2019 — Jun 2019)

At Intelivideo, I am leading a team of engineers to build and maintain a Video On Demand (VoD) platform that enables subscription based VoD offerings for Health and Wellness companies.

  • Led team to adoption of reliable development processes including code review, GitHub PR flow, CI tests & deploys, QA in staging environment, and branch management.
  • Built staging environment for company's core applications that included a Rails application and two satellite services.
  • Stabilized core application in production by adding monitoring, decommissioning unused features, and reducing complexity and technical debt.
  • Reduced operating costs for the platform by removing unused services and improving performance to reduce the infrastructure necessary to run the platform.
  • Inventoried and documented each deployable service in the existing platform to increase ease of maintainability and knowledge base of the team.
  • Led team in development and delivery of new features, including multiple CRM integrations, payment processor integration, playlist functionality, and migration of new customer's data.
  • Improved reliablity for deploys to production across the platform which included reducing deploy related outages.
  • Interfaced with remote Native Apps team in order to provide understanding and feedback for how to use a largely undocumented API.

MobileCause

Senior Architect (Apr 2016 — Sept 2018)
Senior Software Engineer & Architect (Apr 2012 — Mar 2015)

At MobileCause, I worked with a team to build a fundraising platform that helps nonprofit organizations increase donations & donor engagement. I was one of the senior members of this team & I spent time working on all parts of the stack which included Rails, MySQL, & RabbitMQ.

  • Led the effort to upgrade the Rails stack from Rails 3.2 to Rails 4. This included upgrading the test framework (RSpec 2.x to 3.x) & organizing the upgrade changes so that they could be made incrementally to avoid merging & regression issues that accompany long running branches.
  • Transitioned the CI system from a single node Jenkins CI to Travis CI. This improved build speed & visibility for the team because we were able to introduce Pull Request builds & concurrent builds into our workflow.
  • Diagnosed & solved performance issues that allowed the application to properly handle increased load during periods of heavy traffic. This included improving performance in every part of the stack, from view rendering, to offloading tasks to workers, to database query optimization.
  • Upgraded the UI in the Rails application from custom CSS to Bootstrap which increased the maintainability of the site as well as reduced time & effort needed to build new pages.
  • Implemented a RabbitMQ based message queue to handle certain jobs asynchronously (sending emails, processing file uploads) to improve the performance of the system.
  • Wrote & open-sourced an API integration wrapper for the CardConnect API in Ruby. See Projects section below for more details.

Tendril

Senior Software Engineer (Mar 2015 — Mar 2016)

At Tendril, I worked on a Rails application that enables energy providers to engage their customers by encouraging them to save more energy & providing actionable feedback on how to accomplish that goal.

  • Reduced technical debt within the web portal's code base. This included increasing test coverage, improving error handling, & improving performance.
  • Led the effort to build automated configuration & deploy scripts for the web portal via Ansible.
  • Primary developer on the Ruby based API client that interacts with the Java microservices back end of the system via a REST API.
  • Member of the Site Reliability Guild which was formed to address stability & scaling issues across the whole system.

Avaya

Application Manager (Jan 2007 — Apr 2012)
Application Developer (June 2005 — Jan 2007)

At Avaya, I worked on a sales tool that provided configuration details, price estimation, & design assurance for large scale telecommunications systems.

  • Developer for the Product Model Wrapper. This involved working on an MFC based application written in C++, & working on the interface between the product model API & the application.
  • Lead developer on 4 product models & developer on 20 product models. This involved estimating level of effort for development work, managing & maintaining separate code bases throughout multiple release cycles, working with Systems Engineers & other developers to ensure the successful deployment of models, & managing regression test suites for each model.
  • Onboarded new developers by mentoring them on processes, code architecture, & understanding functional specifications, as well as managing computer environment setup & installation.
  • Maintained a homegrown suite of development tools used by a team of 11 developers. This suite included a UI rendering engine for product model UIs, integration between a COM based engine wrapper & the .NET UI & testing tools. This was written in VB.Net using Visual Studio 2008.

Open Source Projects


CardConnect Gem

CardConnect API Ruby Client -- A client-side interface to the CardConnect payment gateway API that makes integration with a Ruby or Rails project much simpler.

Code on GitHub Install Gem

NflData Gem

Parse NFL data like a boss -- A library for finding information like weekly player statistics, team schedules, & more from NFL.com.

Code on GitHub Install Gem

My World Wide Website

Learn more about what it takes to make all the brilliance happen with Jekyll & GitHub Pages. ;)

Code on GitHub

Education


Bachelor of Science in Electrical & Computer Engineering

Graduated in December 2005 from:

Skills To Pay The Bills


Front End
  • JavaScript
  • CoffeeScript
  • NPM/Yarn
  • Bootstrap
  • Sass
  • CSS
  • jQuery
Back End
  • Ruby
  • Rails
  • Jekyll
  • REST APIs
  • Postgres
  • MySQL
  • AWS
  • Docker
  • Redis
  • Resque
  • Sidekiq
  • RabbitMQ
  • Swift
Testing
  • RSpec
  • Minitest
  • Jenkins
  • Travis CI
  • Circle CI
Tools
  • Capistrano
  • Git
  • GitHub
  • Pair Programming
  • Heroku
  • Digital Ocean
  • Ubuntu/CentOS
  • Ansible/Salt
  • JSON/YAML