A senior developer with more than a decade of experiece building out an enterprise-scale CRM system on a classic Microsoft stack while tackling issues like data modeling, reliability, customizability, and performance

Interested in building new products on up-and-coming technologies, exploring the future of cloud deployments, and pursuing excellence while surrounded by a passionate team

The best part about this industry is that there's always something new to learn and the future is always bright and expansive.

I don't know if my next project will involve web backends, Javascript frontends, or mobile clients — but I know it will be exciting!

Blackbaud, Inc.
Staff Software Engineer
June 2005 — Present

Dev lead of the Enterprise DevOps team with the mandate to enable and empower teams to embrace Azure PaaS deployment options

Dev lead on the Enterprise Platform Team for an Enterprise CRM solution

Made many performance improvements and feature enhancements to a powerful ad-hoc query engine

Diagnosed and resolved numerous production issues which could not be reproduced locally

Re-wrote legacy threaded code to use best practices, maintain process consistency, and support cancellation with no disruption to existing client code

Wrote automated tests for critical infrastructure pieces including the platform's security module, query engine accuracy, and long-running multi-threaded processes

Added dozens of features and resolved hundreds of bugs in legacy areas of the system

The Enterprise DevOps Team was chartered to create a new system for deploying and maintaining the infrastructure for Blackbaud CRM — an Enterprise-scale CRM product — which was previously deployed via a legacy custom application.

On this team, I focus on combining open source tools such as Ansible with custom PowerShell scripts needed for our application and existing environments.

As the team lead for the Enterprise Platform Team I focused on the foundational platform for Blackbaud CRM product. I was the front line for my team when dealing with thorny production issues that ranged from helping our hosting services team diagnose environmental problems to providing developer support for customer-written customizations on top of our platform.

In this role, I worked closely with our product support and product management teams to ensure that I was always providing a customer-focused solution whether I was fixing bugs across multiple product versions or recommending configuration changes to internal customer environments.

Today, I leverage my deep experience with our technology to provide guidance to other teams building new product features on the Infinity platform, help architect and guide new platform feature development, and perform code reviews for both my team and others.

And I've done all this without breaking compatibility for a large swathe of customizations written by both our clients and our internal professional services team.

A series of personal websites hosted as a set of Docker containers on a major cloud provider; the sites are automatically deployed and updated via Ansible playbooks

A website for organizing a book club — built on Ruby and Sinatra using Amazon Web Services and Redis for data storage

Mac and iOS apps for generating secure, memorable passwords — built in Objective-C and Swift

A "branded" website for displaying photos and albums from a 3rd-party photo hosting service — built in PHP with the SmugMug API for data storage

This resume was written using the Handlebars template library and SCSS and is hosted in a Docker container managed by Ansible

My hobbies and side projects are great ways to explore new technologies and techniques that aren't always directly applicable at work.

From playing with interesting CoreAnimation methods in iOS to experimenting with non-relational cloud-based data stores, I'm never bored at home.

By taking a broad survey of the current practices in the industry during my off-hours, I'm able to recognize new opportunities and possibilities when on the clock.

The source for this resume is available on GitHub.

Clemson University
August 2001 — May 2005
I can't wait to hear from you!