Gabe Blair
Portland, OR
- Experienced problem solver, planner, OOP designer, critical thinker
- Heavily battle-tested in web application development with strong knowledge of cloud architecture and security
- Excellent with people and enjoy leading as a peer, senior contributor, or director
- Self-motivated, and works well under pressure
Verizon
Principal Engineer, Application Development | Employee Experience Team
Sept. 2018 - present
Remote
I wear (too?) many hats here, including: application developer, cloud architect, security/compliance owner, DevOps, SecOps, and team mentor.
Leadership
Mentor/empower team members on application design problems, development practices, and general decisions with regard to software development.
Provide general technical support and share knowledge about any issues faced by members of the team.
Introduce improved Git practices and conventions; mentor a dev team of various skill levels on how to use Git effectively and confidently.
Application Development
Plan and lead efforts on performance optimization. Improve initial time to load, via application- and infrastructure-level changes, from 60s+ to 3s for the most egregious interfaces.
Design and build a cross-application notification system with complex delivery requirements.
Redesign and refactor existing Rails codebases in two separate apps that had more or less hit a wall because of tech debt/entropy. Quarantine and keep poorly-designed elements and introduce new repeatable patterns and interfaces.
Continue to resolve legacy design issues (fat Rails controllers/models, orphaned code, insufficient or inefficient object design, missing or irrelevant specs, unnecessary or restrictive dependencies between objects and services, etc.) in parallel with work on new features, enhancements, and fixes.
Security
Ensure adherence to corporate cloud security governance requirements at the Application, Server, DBA, and Cloud levels.
Implement and maintain static and dynamic automated security penetration tests and scans for various app services.
Support a team of developers working on a suite of services written in Nodejs and Ruby, utilizing Lambda, SQS, Redis, RDS, and EC2. Normalize practices and tooling to provide a single organized way to deploy applications, see logs, get app consoles running, etc.
Cloud Architecture
Planning and Application Design
Cast Iron Coding
Founding Team Member / Senior Managing Developer
June 2006 to Sept. 2018
Portland, OR
A founding engineering and management role at a small (~10 people) web development agency specializing in Rails and PHP-based CMSs that caters to enterprise, government, non-profit, and cultural sector clients.
Devops
Design and create custom tooling for rapidly and consistently back-syncing production application and website data into staging and dev environments, to facilitate effective development and change review.
Design, develop, test and maintain a server automation system, primarily using Puppet, for various platforms such as AWS, Google Cloud, VMWare, and Digital Ocean.
Manage databases and solve data problems for a large number of projects using SQL-based technologies (Postgres, MySQL)
Leadership
Plan, coordinate, and execute application and site launches in coordination with developers and stakeholders.
Manage small teams of developers and designers working on multiple web/SaaS application and CMS builds at a time.
Act as point person and agency representative for long-term clients with varying and diverse needs. Sit on regular meetings and contribute to planning and design of application and infrastructure to fulfill business requirements. Provide push-back, if necessary, vis-รก-vis the advisability, maintainability, pitfalls and benefits of proposed plans and designs.
Perform code reviews and acceptance testing of change sets with the aim of ensuring changes are up to spec.
Mentor junior developers on application design, as well as general tooling and developer practices, and help troubleshoot when stuck. Support other senior developers on design and problem solving.
Manage developer resource allocation, planning and writing stories, tracking and estimating progress and interfacing with stakeholders to manage expectations around delivery.
Interview, evaluate, and decided on new team member hiring
Design, implement, and maintain internal tooling, practices and standards to facilitate rapid developer onboarding, consistent developer success, and overall developer satisfaction.
Application Development
Develop applications and websites using a diverse set of frameworks and CMSs, including Rails, OctoberCMS (Laravel/PHP), Sinatra, React, Angular, TYPO3, and more.
Write, document, and maintain reusable code, such as Ruby gems, NPM packages and Composer packages (PHP) to ratchet up efficiency and problem-solving across projects with certain types of similarities.
Product/Spec Development
Write detailed estimates for small to medium-sized ($5k - $100k+) projects. Review and provide input on project proposals based on these estimates.
Interface with agency clients to understand goals, discover user stories and determine feasibility of project requirements. Provide feedback and guidance on best practices.
other interests / hobbies: gitfu | my music | my record label