About Me
My journey in software engineering began with a fascination for solving complex problems, enjoying the process like solving a puzzle, and creating useful user experiences, across all types of interfaces. Over the years, I've developed a deep appreciation for clean code, thoughtful architecture, and collaborative development practices. Since finishing college and launching into the industry in 2016, I've been fortunate enough to have many great mentors and be heavily involved with practitioners of the agile mindset. This strong influence is what drives much of the way I write software.
As for the why I write software, I love solving problems and making peoples' lives better. The low barrier to entry helps it feel like something can come from almost nothing with the right magical incantation. I love that so many things can be built to enhance people's lives from the mundane to the meaningful. I don't want to create tech for the sake of making it, I want the things I do to improve lives even if just a tiny amount. I endeavor to do things like digitize workflows because it will improve the quality of the experience of the people using them, not just because I can.
All that is to say, I specialize in quality, extensible code developed fast mainly in the web space. I'm a fullstack engineer with the most experience in React SPAs and Spring Boot REST APIs. I hope you find the things I've built to be useful, and the things I say to be helpful.
Skills
- Agile Methodologies
- Angular
- API Design
- Arduino
- AWS
- C++
- CI/CD
- Cloud Foundry
- CSS
- eXtreme Programming
- Fullstack
- GraphQL
- HTML
- Java
- Kotlin
- Lean Startup Methodologies
- Microservices
- MongoDB
- Monitoring
- MS SQL Server
- Node.js
- PostgreSQL
- React
- React Native
- REST API
- RFID
- SDK Development
- Spring Boot
- SQL
- TDD
- TypeScript
- WebSockets
Professional Experience
Senior Software Engineer
WillowTree LLC, Charlottesville, VA (Remote) | May 2022 - Present
- Worked as an embedded fullstack engineer on a client engagement while teaching best practices like Test Driven Development and helping reduce the number of bugs while delivering a high number of features quickly.
- Collaborated closely with the mobile team to develop the best API design for their use during a tight timeframe, speeding up delivery through consistency and predictability and increasing collaboration between design, product, and engineering.
- Onboarded new engineers fast during a twofold increase in engineering team size while meeting an important client deadline.
- Designed SDKs for the client’s new Auth Server that significantly simplified interactions with the service for other teams.
- Worked with client architecture to improve solutions and reduce scope for feature delivery with heavy time / budget constraints.
- Implemented a mix of OAuth 2.1 standards and client requests for a custom client Auth Server to replace existing solution.
- Adjusted industry standards to meet client ways of working when limited by pre-established patterns and hierarchy, maximizing value added while minimizing disruption to existing processes.
Software Engineer
Ford Motor Company - FordLabs, Ann Arbor, MI | January 2018 - May 2022
- Worked on many consumer facing fullstack products built in three month increments. Each increment was built around getting a product in front of a user as quick as possible and measuring the response to determine next steps using Lean Startup and eXtreme Programming practices.
- Developed in pairs using Test-Driven Development and other extreme programming practices to ensure peak delivery speed while maintaining quality code.
- Wrote and maintained an open source remote retrospective tool built on a Spring Boot backend and Angular frontend to streamline internal company agile processes.
- Implemented public facing used car website to aggregate dealer listings and make shopping for a used car easier through the use of guaranteed features on vehicles and filtering based on one or two “most important” categories. Built on an Angular2 frontend, a Spring Boot backend, and using AWS infrastructure.
- Built a React Native app on Android and iOS for drivers to use while testing goods delivery with autonomous vehicles.
- Mentored junior engineers while pairing and presented informative talks during weekly Lunch-and-Learn sessions.
- Performed phase II candidate interviews involving a test related to paired programming and TDD in the style of Pivotal Labs’s Repeatable Programming Assessment.
- Implemented each team’s CI/CD pipeline and deployment strategy, including GitHub actions/Jenkins pipelines, blue-green deployments, application performance metric monitoring and interpretation, PCF workspaces / AWS VPCs, and artifact-based deployments.
Software Engineer
Ford Motor Company, Dearborn, MI | June 2016 - January 2018
- Built and maintained high throughput multiple microservice system and rules engine responsible for customizing/configuring and ordering Ford vehicles.
- Contributed to large codebase using Spring Boot REST API and MS SQL Server.
- Developed in a five pair environment where each pair was working off of main thanks to the support of robust testing pipelines and zero downtime deployments.
- Maintained microservice architecture to enable high availability and opportunistic scaling while keeping average transaction time below our SLA of 250ms.
- Implemented metrics and monitoring to quickly spot defects and outages.
- Added new functionality based on stakeholder prioritization using Agile methodologies.
- Set up nightly automated load testing and a set of continuous “canary” tests to verify system readiness and integrity.
Education & Certifications
Bachelors of Engineering in Computer Science
Michigan State University | September 2013 - May 2016
Graduated with a 3.53 GPA and a cognate focused on Business.