917.209.0326 kevin@mccormack.tech github.com/HarlemSquirrel

Me at Watkins Glen Since 2016 I have built, deployed, and maintained API and full stack web applications on Heroku, AWS, Digital Ocean, and on-premise servers. I document my work in detail, use Git for version control, and am comfortable in GitHub, Bitbucket, and GitLab. I believe that every application should have a comprehensive test suite with continuous integration including static analysis for code quality and security.

I am a big fan of open source software. I have a number of my own projects on GitHub and contribute to other projects when I can such as home-assistant, ActiveLdap, AmazingPrint, and Net::LDAP.

Technologies

  • Application web servers (Apache HTTP Server, Puma, Tomcat)
  • Cloud (AWS EC2, AWS Elastic Beanstalk, AWS S3, AWS Secrets, Digital Ocean, Heroku)
  • Code quality (Brakeman, Code Climate, ESLint, Overcommit, RuboCop, ScssLint, YAMLlint)
  • Containers (AWS ECS, Docker, Docker Compose, Kubernetes)
  • CSS (SCSS)
  • Databases (Microsoft SQL Server, MySQL, Oracle SQL, PostgreSQL, Redis, SQLite)
  • Deployment and Infratstructure (Ansible, AWS Code Pipeline, Capistrano, CircleCI, GitHub Actions, Jenkins, Terraform, Travis CI)
  • HTML (HTML5)
  • JavaScript (Angular v1, Cropper, Electron, Express, Inputmask, JQuery, Node.js, Quill, React, typeahead.js, TypeScript, Webpack, Yarn)
  • LDAP (ActiveDirectory, OpenDJ, OpenLDAP, PingDirectory)
  • Linux (ArchLinux, CentOS, Debian, Fedora, RHEL, Ubuntu)
  • Load testing (Apache Bench, lb, Siege)
  • Monitoring (Datadog, Honeybadger, New Relic, Rollbar, Sentry, Splunk, Uptime Robot)
  • Multi-factor authentication (Duo)
  • OmniAuth
  • Payment processing (Chargebee, Stripe)
  • PHP (Composer, PHPUnit, SimpleSAMLphp)
  • Project management tools (Asana, Jira, Taiga, Trello)
  • Python (Flask, ldap3, pytest)
  • Ruby (Active Admin, ActiveLDAP, Capybara, Devise, Haml, JRuby, Net::LDAP, Rails, RSpec, RVM, Selenium, Sidekiq, Sinatra, VCR, WebMock)
  • SAML (omniauth-saml, ruby-saml, SimpleSAMLphp)
  • Shell scripting
  • Version control (Bitbucket, GitLab, GitHub)

Work History

Hotel Engine, Remote

Oct 2021 - Present

Staff Software Engineer

  • Designed and built TypeScript Express app with dynamically generated endpoints to serve complex aggregate queries from our data warehouse.
  • Reduced endpoint latency by tweaking PostgreSQL queries and creating composite indexes
  • Paired with developers at different levels across teams to solve complex problems and share knowledge
  • Created technical flow diagrams for complex data ingestion and state machines
  • Assisted with on-boarding new engineers
  • Devised and implemented a solution to reduce failed bookings
  • Planned and performed complex data migrations and software upgrades with zero down time
  • Lead efforts to improve system monitoring across the organization to minimize outages
  • Built custom code coverage tool and incorporated in CI for multiple projects from Rails to NodeJS

Cerebral, Remote

Jan 2021 - Oct 2021

Lead Software Engineer

  • Championed the adoption of Rubocop, Brakeman, and other static analysis tools into our CI pipeline
  • Championed BDD integration testing with Capybara
  • Improved development workflow by establishing clear git guidelines
  • Mentored other developers across teams on best practices in Ruby and automated testing
  • Crafted component architecture diagrams for new and existing systems
  • Designed and implemented highly impactful features to automate manual processes
  • Wrote clearly defined user stories with clear and specific technical requirements for epics
  • Ran efficient stand-up meetings to identify blockers
  • Gave engineering-wide presentation on Active Record queries for performance, efficiency, and security
  • Conducted live coding and technical design interviews
  • Refactored endpoints to reduce the number of database queries and reduce latency

Weill Cornell Medicine, New York, NY

May 2017 - Dec 2020

Senior Software Engineer, Identity and Access

  • Diagnosed issues identified from users, error reports, and log analysis tools to quickly squash bugs
  • Bridged the divide between technical and non-technical teams to dissect issues and enhancements
  • Orchestrated highly complex systems for role-based access control (RBAC)
  • Designed and developed new features for a suite of custom identity management applications built with Ruby on Rails, JRuby, PHP, JavaScript, and Python
  • Led and mentored a team of developers in person and remotely
  • Regularly updated internal technical documentation for my team and other teams
  • Collaborated with internal and external teams to design and develop complex data synchronization and processing between a wide range of databases, systems and services
  • Oversaw building comprehensive test suites for existing applications
  • Streamlined deployments with Ansible and Capistrano
  • Led the way in establishing continuous integration using CircleCI and AWS Code Pipeline.
  • Established code quality standards and continuous enforcement using tools such as Rubocop, ESLint, Overcommit, and CircleCI
  • Maintained our custom SimpleSAMLphp IdP implementation
  • Migrated an on-premise Rails app to AWS as first app in our organization to move to the cloud
  • Designed and carried out disaster recovery scenarios for mission-critical applications and services.

Code Climate, New York, NY

March 2017 - May 2017

Software Engineer

  • Work closely with the sales and product teams to update marketing pages
  • Update Middleman app with custom modules
  • Move app from Rails Asset Pipeline to Webpack
  • Build pages based on designs using HTML, SCSS, and JavaScript

Constant Contact, New York, NY

October 2016 - March 2017

Software Engineer

  • Work on a small team of engineers that works closely with the sales and product teams
  • Engage in agile development including team feature planning with Jira
  • Develop and maintain three Rails apps that advertise on Facebook for small businesses and nonprofits
  • Ensure high code quality with Git, CodeClimate, and CircleCI
  • Practice test-driven development with RSpec and Capybara in comprehensive test suites
  • Deploy, monitor and debug production apps through Heroku, Honeybadger, Jenkins, New Relic, and Splunk

Flatiron School, New York, NY

May 2016 - October 2016

Online Instructor

  • Assisted students learning full stack web development with Ruby on Rails and JavaScript
  • Fielded student coding and development environment questions
  • Triaged issues with the Learn integrated development environment

East Bronx Academy, Bronx, NY

Aug 2008 - September 2016

Teacher and Solutions Architect

  • Designed and taught year-long curriculum for computer science and music in grades 6-12
  • Administered Google Apps for Education account with over 800 active users
  • Wrote shell scripts and custom OS images to automate Linux desktop deployments
  • Honored by Academy for Teachers for innovation as a computer science educator
  • Commissioned by PERC to create digital resources for the Exploring Computer Science curriculum
  • Commissioned by New Visions for Public Schools to create Google Apps for School Operations screen-cast tutorials

Projects

Web Directory - Public listing of people, departments, and services

  • Upgraded from Rails 4.1 to 5.2
  • Combined two rails applications and unified the search interface for departments, services, and people
  • Moved application from on-premise servers to AWS
  • Improved integration with Java UnboundID LDAP SDK library and JRuby
  • Improved page loading through caching and code refactoring
  • Updated styles from Boostrap v3 to v4

WCM Styles - CDN-delivered shared custom assets

  • Lead my initiative to extract shared styles and utilize free CDN hosting from JSDelivr
  • Used Webpack to manage external and custom dependencies and package assets

Seedlr - Share positive thoughts.

  • Coordinated with remote team across geographic divide with Trello, WhatsApp, Git, and Bitbucket
  • Built out new features including data models and UI from an InVision app
  • Integrated with payment system and mail marketing APIs
  • Used JQuery and custom JavaScript to enhance front-end with asynchronous AJAX requests

AdLauncher - Making Facebook advertising easy

  • Coordinated with a diverse team of engineers, product, and sales personnel
  • Used Rails 4.2 and gems including activeadmin, devise, ransack, state_machines, and sidekiq
  • Used Bootstrap 4 and custom SCSS to style front end
  • Improved payment processing using the Stripe API
  • Deployed from Github to Heroku with add-ons such as Mailgun and Redis To Go
  • Connected to FacebookAdsAdapter and ConstantContact APIs

FacebookAdsAdapter - An API to simplify advertising on Facebook

  • Abstracted the Facebook advertising API complexity for use on AdLauncher and Boost
  • Developed with popular gems including carrierwave, clockwork, kaminari, papertrail and puma

Boost - Boost email campaigns on Facebook

  • Maintained legacy JRuby Rails 4.1 app with Ruby 1.9.3
  • Extended ConstantContact with Facebook advertising
  • Deployed remotely with Jenkins and JRuby

Education

Flatiron School - New York, NY - 2016

Full Stack Web Development: Ruby on Rails and JavaScript online immersive program

Wilkes University - Wilkes-Barre, PA - 2011

MS: Instructional Media

City College of New York - New York, NY - 2008

BFA: Jazz Performance and Education