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
Education
The Ohio State University
2012
B.S. Computer Science & Engineering
Columbus, OH
Software Systems
Experience
Auth0
Oct 2017 - Present
Software Engineer II
Full-time Remote
- Whittled down technical debt to reduce incidents and alerts from a daily occurrence to every few months.
- Developed initial roadmap and vision for the future of Anomaly Detection.
- Designed intelligent prompting for multifactor based on suspicious activity to reduce friction for end users.
- Developed multiple inputs to detect the likelihood that a login was from a bad actor in order to better protect customer login transactions.
- Created a tool for modifying the production database to increase confidence and speed when responding to customer requests.
- Published monthly team newsletter to communicate the status and accomplishments of the team.
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.
- 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
- 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.
- 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 charter school information on a map.
- Center For Families \& Children – Led a group of interns to develop a solution for storing, entering, and reporting surveys used by a nonprofit client to secure funding.