Professional Profile

Senior Software Engineer with over ten years of success innovating unique solutions.

Proficient in multiple languages applying best practices and design patterns with an emphasis on Ruby on Rails, TypeScript, Elixir/Phoenix and Terraform.

Experienced developing and scaling full stack applications that run in the cloud as well as secure enterprise environments.

Focused on developing well designed, high quality, maintainable, and secure software while teaching others best practices and agile principles.

Technical Skills

Application Design
Object Oriented Design, MVC, SOLID, REST, TDD, Distributed Systems, Functional Paradigms, Data Pipelines

Primary Languages
Ruby, TypeScript, Elixir, HTML, CSS

Databases / Search Engines
PostgreSQL, MySQL, Redis, Elasticsearch

Back-end
Rails (since version 1), Phoenix, RSpec, Node.js, Express, Sinatra, Grape, Capybara

Front-end
React, React Native, Angular (since version 1), Vue, TailwindCSS, Webpack, Cypress, Foundation, Semantic UI, jQuery, Bootstrap, Sass, Mocha, Jest, Jasmine, Selenium, Karma, Protractor

Amazon AWS
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, Microsoft Azure, Digital Ocean, Compose.io, Heroku, Stripe, Twitter, Facebook, LinkedIn, Authorize.net, PayPal, Stripe, Dwolla, FDA, Sovren

Agile Practices
Test Driven Development, Pair Programming, Continuous Integration, Code Reviews, KanBan, Scrum, Daily Standups, Weekly Customer Demos, Lean Coffee

Other
Vim, Git, RSA & EC Cryptography, Photoshop, ActiveDirectory, LDAP, UX Design

Work Experience

September 2015 - Present

Errante Group, LLC

Owner / Application Architect / Consultant

Notable Projects

Eastman Chemical Company (October 2021 - May 2022) - https://www.eastman.com/

  • Worked with several software teams to improve multiple front end Vue applications, Express.js backend services and infrastructure in Microsoft Azure.
  • Overhauled React Native mobile application to incorporate a new design and streamlined existing code.
  • Helped set up build pipelines to automate deploys to iOS store. Started deploying releases to TestFlight multiple times a week.
  • Introduced TypeScript to help future developers hit the ground running when working with React Native.
  • Introduced Cypress automated testing to all front end Vue applications.
  • Replaced manual Postman API testing process with automated integration testing for backend Express.js API backend.
  • Gave live coding presentations to demonstrate how to write automated API and Cypress tests.
  • Worked one on one with developers teaching best practices and how to write maintanable code.
  • Helped the teams to focus on teamwork, reducing Work In Progress, and on quickly completing stories.
  • The teams grew in productivity and in their alignment with Product Management priorities and User-Interface design guidance.
  • The Core team has an increased focus on teamwork, on reducing the calendar time for completing stories, and on some valuable technical practices.
  • Feature refinement and planning was enhanced with the use of Story Mapping, which enables Product Management to collaborate with the software teams to break large features into a series of small, valuable releases.

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 (October 2016 - October 2017) - 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

Asynchrony
(now World Wide Technology)

Senior Software Engineer

Senior Software Engineer on several teams, mentor to new hires, and one of primary interviewers for front end (HTML/CSS), Ruby, and JavaScript positions. Notable projects listed below.

Notable Projects

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.
  • Built web front-end application using Ruby on Rails and JavaScript using an internally built MVC framework.
  • On a daily basis, wrote quality, maintainable code in Ruby and JavaScript adhering to well known design patterns such as SOLID, YAGNI and Demeter.
  • 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
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.

Other

  • 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

GSA project is open source located at http://github.com/danoph/gsa_2015. Pairing session exercises used for interviews are located at http://github.com/danoph.

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.
  • Optimized website speed (gzip, compile and minify all assets including HTML pages, website images, stylesheets and JavaScript)
  • 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

Co-Owner/Full-Stack Developer

  • Specialized in building websites built in content management systems such as WordPress.
  • Developed websites using PHP5, HTML5, CSS3, WordPress, Ruby, Rails, JavaScript (including jQuery, Backbone.js, Spine.js), MySQL, and other languages depending on client needs.
  • 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.

Hobbies

  • Learning new technologies and paradigms
  • Basketball, cycling, softball, sand volleyball, indoor soccer
  • Starting new business ventures
  • Brewing beer

Education

2004 - 2007

University of Missouri, Columbia

Business Management