Senior Software Engineer with over eight 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 web applications that run in the cloud as well as enterprise environments. Focused on developing well designed, high quality, maintainable, and secure software.
PostgreSQL, MySQL, MongoDB, Redis, Memcached
Rails, Angular 4, RSpec, Protractor, Node.js, Express, Jasmine, Foundation, Semantic UI, Sinatra, Grape, jQuery, Bootstrap, Sass, Cucumber, Selenium, Karma
Object Oriented Design, MVC, SOLID, Distributed Systems, REST, Functional Programming
Server Configuration, Management & Deployment
Ansible, Chef, *nix servers, Capistrano, nginx, Apache, Unicorn, Docker, Passenger, Load Balancers, DNS, OpenSSL, CodeShip, CircleCI
Cloud Services & Third Party APIs
Amazon AWS (EC2, S3, CloudFront, ECS, Route 53, ELB, RDS, IAM), Digital Ocean, Compose.io, Heroku, 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, Bash, Git, ElasticSearch, Jenkins, RSA & EC Cryptography, Photoshop, LDAP, UX Design
September 2015 - Present
Errante Group, LLC
Owner / Software Engineer
BuildPay - 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
- Typing fast in Vim
- Basketball, baseball, softball, sand volleyball, soccer
- Starting new business ventures
- Building my resume in the tools I use every day instead of using Microsoft Word. (This static HTML resume website is deployed using git and capistrano to an Amazon EC2 server)
2004 - 2007