Technical Skills

Languages

  • JavaScript & Node.js
  • Ruby
  • Go
  • HTML5
  • Java
  • C#

Frameworks

  • React
  • Redux
  • MobX
  • Express.js
  • Ruby on Rails
  • Backbone.js
  • Beego
  • Gorilla Toolkit

Test Frameworks

  • Jest
  • Mocha/Chai.js
  • Ginkgo/Gomega
  • GoConvey
  • rspec

Datastores

  • MongoDB
  • Redis
  • Postgres
  • MySQL

Cloud Providers

  • AWS
  • GCE
  • Heroku

Education

The Ohio State University

2012

B.S. Computer Science & Engineering
Columbus, OH
Software Systems

Experience

BriteContent

Sept 2016 - Oct 2017

Senior Software Engineer
Boulder, CO
  • Rapidly iterated on an automated marketing SaaS to achieve market fit.
  • Developed a new product that had a goal to widen the inbound sales opportunities.
  • Delivered Express, a product targeted at customers with a lower budget.
  • Spiked, and then led the effort to replace Rails Action Views with a React front-end.
  • Mentored a Software Engineer at his 1st post-college job.

JumpCloud

Aug 2013 - Aug 2016

Software Engineer
Boulder, CO
  • Designed and delivered revenue generating features that directly impacted our MRR.
  • Took over responsibilities from former Security Engineer. On-boarded new employees, led quarterly security reviews, and was PoC for independent security researchers.
  • Lead of a team dedicated to addressing technical debt by creating new processes and tools.
  • Designed and delivered an auditing solution for our customers that handles 1.6 billion events per month on a single EC2 t2.small instance.
  • Delivered native user management support on OS X, despite a lack of documentation from Apple.
  • Delivered a Google Authenticator MultiFactor login screen replacement for OS X.
  • Integrated with Google's API for Google Apps user imports and exports.
  • Created a billing microservice to accurately track how many hours per month a system was active.
  • Extensively revamped our admin portal using Backbone.js.
  • Member of an on-call rotation responsible for our production systems.

10-4 Systems

Jan 2013 - Jul 2013

Software Engineer
Boulder, CO
  • Rapidly implemented new brokerage features to replace an antiquated system.
  • Responsible for key mapping features that gave brokers instant visual feedback on potential matches.

Rosetta Marketing

Jul 2012 - Dec 2012

Technology Associate
Cleveland, OH
  • Used extensive Taxonomy and Search features to make a client’s large site easily manageable.
  • Worked as the sole Android Developer to reduce platform specific bugs and rendering issues for a client’s HTML5 WebView application.

Pillar Technology

Jan 2012 - Jun 2012

Agile Apprentice
Columbus, OH
  • Created an internal Ruby on Rails and Backbone.js reporting website for a client using TDD and Agile methodologies.
  • Created key management features to set goals, create users, and spoof user identities.
  • Setup and maintained a local Jenkins Continuous Integration Server
  • Presented different augmented reality solutions for iOS to the client, and consulted on the initial design.

Rosetta Marketing

Jun 2011 - Feb 2012

Junior Technology Associate
Cleveland, OH
  • Created custom SharePoint web parts and implanted Omniture analytics for a client’s website.
  • Co-created a SharePoint training class, leveraging self-taught skills for fellow interns.

Chemical Abstracts Service

Jun 2010 - Jun 2011

Student Programming Co-Op
Columbus, OH
  • Generated reports using SAP and Business Analyzer for the sales staff to better focus their sales efforts.
  • Created a Python fuzzy matching script to identify client overlap despite inconsistent naming conventions.

Talks

Go 1.6

February 9, 2016

Boulder Gophers
What's coming in Go 1.6?

Go-Gotchas

October 6, 2015

Boulder Gophers
Common and tricky pitfalls in Go

Beginner Track: Interacting with a database

June 2, 2015

Boulder Gophers
Storing/Retrieving registration data in Postgres using database/sql

Beginner Track: Web server Basics

May 5, 2015

Boulder Gophers
How to create a web server and inject GET params into a html/template

Cross Compiling Golang

February 18, 2015

Boulder Gophers
How to setup the golang toolchain for cross compilation

Lessons Learned

January 15, 2015

Node.js Denver/Boulder
Lessons I've learned while managing a small open source project

Bootstrapping AWS

October 28, 2014

AWS Boulder-Denver
An introduction to using AWS User Space to bootstrap your AMIs

Project Experience

  • Integrated Foursquare and Google Maps in an open source Android application to assist users with spending a night out.
  • Cleveland Give Camp 2011 – Volunteered as part of an ad hoc formed team to create a mobile WordPress theme using jQuery Mobile for a non-profit. The web site was styled to look and act as a native Android and iOS app.
  • Cleveland Give Camp 2012 – Completely overhauled a non-profit’s website with easier management, updated styling, and donations.
  • Colorado Give Camp 2013 – Developed a solution to display large amounts of data regarding charter schools on a map.
  • Center For Families \& Children – Led a group of interns to develop an end-to-end database solution for storing, entering, and reporting surveys used by a nonprofit client to secure funding.