Senior Software Engineer with over ten years of success innovating unique solutions. Most skilled with Ruby on Rails and Angular websites using Test Driven Development. Proficient in several languages, frameworks and environments. Experienced developing full stack applications that run in the cloud as well as enterprise environments. Focused on developing well designed, high quality, maintainable, and secure software while teaching others best practices and agile principles.
Object Oriented Design, MVC, SOLID, REST, TDD, Distributed Systems, Functional Programming, Data Pipelines
Databases / Search Engines
PostgreSQL, MySQL, Redis, Elasticsearch
Rails (since version 1), Phoenix, RSpec, Node.js, Express, Sinatra, Grape, Capybara
Angular (since version 1), React, Spine, Backbone, Webpack, Foundation, Semantic UI, jQuery, Bootstrap, Sass, Jasmine, Selenium, Karma, Protractor
EC2, EKS, ECS, S3, RDS, SNS, SQS, SES, ECR, Lambda, ElastiCache, Elasticsearch Service, Database Migration Service, VPC (public/private subnets, security groups, NAT gateways, VPC peering, VPN tunnels, etc), CloudFront, Route 53, CodeBuild, CodeDeploy, CodePipeline, AWS Organizations, CloudWatch, AWS Auto Scaling, CloudFormation, CloudTrail, Service Catalog, Control Tower, AWS Well Architected Tool, Athena, AWS Glue, IAM, Key Management Service, Secrets Manager, GuardDuty, AWS Single Sign-On, Certificate Manager, WAF & Shield, Amplify
DevOps, Infrastructure, CI/CD
Terraform, Kubernetes, Docker, Ansible, Ubuntu, Debian, Alpine, RedHat, CentOS, Helm, bash scripting, nginx, Puma, Chef, Capistrano, Apache, Unicorn, Horizontal scaling, DNS, OpenSSL, CodeShip, CircleCI, Jenkins, drone.io
Cloud Services & Third Party APIs
Amazon AWS, Digital Ocean, Compose.io, Heroku, Stripe, Twitter, Facebook, LinkedIn, Authorize.net, PayPal, Stripe, Dwolla, FDA, Sovren
KanBan, Test Driven Development, Pair Programming, Continuous Integration, Code Reviews, Daily Standups, Weekly Customer Demos, Lean Coffee
Vim, Git, RSA & EC Cryptography, Photoshop, ActiveDirectory, LDAP, UX Design
September 2015 - Present
Errante Group, LLC
Owner / Application Architect / Consultant
KNOWiNK (October 2018 - February 2021) - https://knowink.com
Seamless voter check-in and verification that dramatically reduces voter wait times and taxpayer dollars with efficiencies for state and local governments.
- Scaled Ruby on Rails application and underlying infrastructure to handle 10,000+ requests per second for November 2020 Presidential Election
- In the first month of the project, fixed non-running test suite and set up a build server using CircleCI to run test suite
- Introduced Docker and Kubernetes for Rails app that used to run on bare metal EC2 servers for CI/CD and tagged releases which did not exist beforehand
- Introduced Terraform to document existing infrastructure and provision new multiple environments in Amazon AWS while keeping them as consistent as possible
- Replaced manual deployment process of fetching code on each server from git repository, stopping and restarting servers, etc. with Git Flow and CircleCI for for blue-green deployments to multiple kubernetes clusters
- Introduced application/database/infrastructure monitoring and health checks which led to optimizing servers, application code and database queries that used to cripple the application under heavy load
- Introduced horizontal scaling at all possible levels (application, databases, servers, kubernetes) to increase application performance
- Worked directly with AWS developers for one year to convert existing production environments to use Amazon's Well Architected best practices
- Upgraded project from Rails 3 to Rails 6 over 2 years
- Introduced two new Phoenix services to split up the monolithic Rails application
- Hired multiple developers to bring new agile practices to the company and help get the application ready for the November 2020 election
- Worked with the development team to use agile principles and build better quality software
Sketch Development Services (October 2017 - October 2018) - https://sketchdev.io
Sketch works with organizations transforming them into a leaner, more productive and happier workplace.
- Worked on-site at Centene coaching multiple teams and individuals about best technical practices and agile methodologies.
- Held multiple day TDD workshops for software teams which included writing a simple application from scratch and deploying the application to AWS using TDD, CI/CD while pair programming.
- Worked one on one with developers teaching best practices such as SOLID, TDD, CI/CD, DRY code, DevOps
LeanCafe.io - https://leancafe.io
A free, simple tool that helps teams collectively build a simple list of topics so each member's voice can be heard, vote to prioritize issues so the most important topics are discussed and time-box conversations so tangents are naturally avoided.
- I built this as a side project from scratch turning the lean coffee process into a digital one. There was a lot of collaboration with SketchDev promoting the product and turning this into a viable business. It is still being used today with 1,000+ registered users.
- Built backend REST API and websocket based communication using Ruby on Rails and Node.js
- Built frontend single page webapp in Angular that is 95% socket based.
- Deployed applications to Amazon AWS self managed Kops kubernetes cluster.
BuildPay (September 2015 - October 2017) - http://gobuildpay.com
BuildPay increases the efficiency, reliability, and visibility of work agreements and payments between all parties involved in a traditional construction environment. Buildpay provides a central solution for insurance companies, property owners, builders, contractors and suppliers agree on payment amounts and get paid faster than traditional methods.
- Played key role designing and developing backend architecture and services consumed by front-end web client to allow for horizontally scaling the app when needed.
- Developed a RESTful JSON API server built in Ruby on Rails. The application uses OAuth2 for web client authentication and SSL identity certificate verification for merchant POS terminals to securely communicate to the API server. App has 99.5% code coverage using RSpec integration/unit tests which allows for efficient development of new features and reduced regressions.
- Built web front-end application using Angular 4 to separate the customer-facing application from the business concerns and logic in the API server. App has 90% code coverage using Jasmine and Protractor to allow for rapid development and maintainability.
- Integrated with Dwolla payments provider to asynchronously move money using the Automated Clearing House (ACH) between insurance companies, contractors, and merchants in the system.
- Developed Ansible playbooks that allow new server environments to be properly configured with the app fully functioning in the new environment within one hour.
- Worked remotely with the project manager, sales team, and development team spread throughout the country. Used ScreenHero to pair program with other developers as needed.
- Used CodeShip for the development team to manage continuous automated testing and deployment. This allows for anyone on the development team to finish and deploy new features at any point in time to any server environment.
October 2012 - August 2015
(now World Wide Technology)
Senior Software Engineer
Krypdox - http://krypdox.com
An enterprise wide, ultra-secure mobile file distribution solution designed for companies that routinely distribute confidential information to mobile users, such as financial reports, price lists, lab notebooks, healthcare data and pre-release film and music media.
- Played key role designing and developing backend architecture and services consumed by iPad app and front-end web client.
- Developed encryption key storage, file storage, authentication and other backend API micro-services using Sinatra and Grape.
- Wrote UI Automation tests for iPad application.
- Developed Chef recipes for Krypdox that reduced Amazon EC2 deployment times by 95% and eliminated micro-services misconfigurations
- Server penetration testing and code audits performed by several well known security authorities to maintain high security
Resume Parser is an application to aid in the interview process for the client to find the best quality candidates.
- Developed Ruby on Rails web application to allow uploading resume and live editing/displaying of the resume in HTML format.
- Deployed to Rackspace Cloud Servers using Docker.
- Used Pentaho (Kettle) to allow other applications within the same ecosystem access to candidate data.
- Built a real-time iPad voting application backend for 1500+ simultaneous users using Ruby on Rails and Node.js
- Demonstrated Asynchrony's agile, test-driven development by creating and deploying a fully functional drug interaction website (http://fda.ninja) with a team of five in only one week, resulting in GSA awarding Asynchrony contractor status.
- Strong discipline to use test driven development and good design patterns in every day development
October 2008 - Present
GL Stock Images
Founder / Full-Stack Developer
GL Stock Images provides a platform for professional photographers and illustrators to sell their images for a 52% commission to buyers around the world. Ruby on Rails website developed using Test Driven Development.
- Managed multiple UNIX servers as well as building, maintaining, and scaling Ruby on Rails website to serve more than 500,000 monthly unique visitors.
- Integrated e-Commerce with Authorize.net, PayPal, and Google Checkout.
- Designed, setup, and maintained four separate Ubuntu servers to load-balance 2+ million web requests per month using Nginx/Unicorn, MySQL, ElasticSearch, and PureFTPD.
- Developed admin platform to manage 100,000+ users and 1.6+ million images, customer support system to manage hundreds of customer requests/inquiries per day, and automatic image processing system to verify, resize and distribute 50,000 image uploads per month via web or FTP.
- Installed Wildcard SSL certificates on servers.
- Secured servers and firewalls against brute-force ssh attacks, malicious FTP uploads, and SQL injection, etc.
- Setup backup server to maintain regular nightly local and remote backups.
- Implemented Amazon Route 53 DNS to reduce latency, and Amazon S3/CloudFront to store and distribute five terabytes of images globally.
- Collaborated with web designer for best conversion rates and SEO effectiveness for all content, images, and call to action buttons.
March 2008 - August 2012
Digital Leftovers, LLC
- Specialized in building websites built in content management systems such as WordPress.
- Participated in client ideation/brainstorming meetings to determine project goals about e-commerce integration, social media implementation, SEO optimization, server management, and other custom requirements.
- Converted client-approved Photoshop design into cross-browser and mobile device compatible HTML5/CSS3 layout or WordPress theme.
- Designed custom solutions (plugins, widgets, etc.) that integrate with content management systems such as WordPress, and mobile/tablet specific website development.
- Conducted server setup, security hardening, maintenance, software installs/upgrades, and email setup.
- Provided server software installation and maintenance including web servers (Apache, Nginx), email servers (Postfix), FTP/SSH server setup/hardening (PureFTPD, ProFTPD), search engine servers (Sphinx, ElasticSearch, Solr), monitoring servers (Monit, god, New Relic), and other custom software solutions.
- Completed database architecture design, setup, maintenance, hardening, and upgrades.
- Ensured website functionality with cross-browser testing (Safari, FireFox, Chrome, IE7/8/9) prior to launch/go-live. Deployed website using FTP, SSH, Git, Capistrano, and other tools.
- Succeeded as primary technical contact for clients with questions or problems regarding domain names, website, email, and platform migrations.
- Led client training sessions for creating and managing content in content management system.
- Learning new technologies and paradigms
- Basketball, bike riding, softball, sand volleyball, soccer, baseball
- Starting new business ventures
- Brewing beer
2004 - 2007