Skip to content

How I Got Here

Hero

The Factory Floor

In late 1999, I was a shift supervisor in the finishing department at a manufacturing plant that made fiber-cement products -- tile backerboard, siding, that sort of thing. The company was Fortra Fiber Cement, owned by Temple Inland. Within a few months I was promoted to department superintendent, responsible for production across three eight-hour shifts.

Every morning I had to produce a production report covering the previous 24 hours for the supervisor's meeting. I got tired of doing it by hand, so I built Excel spreadsheet templates that my shift supervisors could fill out -- a mixture of VBA macros, formulas, and VLOOKUPs. I printed the consolidated report for the meeting. That was my first taste of solving a real problem with software, even if I didn't think of it that way at the time.

The plant didn't make it. It closed, everyone was laid off, and the facilities were purchased by James Hardie Building Products.

Teaching Myself

Between jobs, I dove into MS Access and taught myself relational database fundamentals and VBA. A former colleague who had been the comptroller at the factory hired me to build an inventory system that tracked raw material usage -- essentially a proto cost accounting system. During this time I took courses at a local community college and learned Visual Basic 6 and SQL Server 2000. Hey, we all had to start somewhere.

While I was doing this, a corporate accounting expert who was building a cost accounting system for the company's ERP saw what I had built and loved it. The corporate office had just approved a new Business Systems Analyst position with one immutable requirement: the person had to have direct manufacturing experience on the floor. Right place, right time. I was given a one-month trial run, hired full time, and moved from Texas to California. In August 2001, my technology career officially began.

The .NET Era

At James Hardie I developed custom business applications using VB6 and SQL Server 2000. I also learned GEMBASE, the proprietary language used to build custom apps and reports within our ERP system, RenCS. This was all running on Alpha 64-bit hardware under VMS -- I still miss VMS; it was a great OS.

.NET 1.0 was in beta at the time -- beta 2, to be exact. I dove in head first and started developing applications in C# instead of VB6. I became one of the first 2,000 people worldwide to earn both the MCSD.NET and MCAD.NET certifications. They're worthless today, but at the time they helped bootstrap my career in the direction I wanted: architecture.

I left James Hardie after two years, taking jobs and roles that furthered that goal. I got my first introduction to async messaging in 2004 using MSMQ (I shudder in disgust), did XML transformation work with BizTalk, learned WCF. By the time I landed at The UPS Store in 2007, I had established myself as a software architect, primarily on the Microsoft stack. I spent six years there leading enterprise .NET architecture and API design for systems serving 4,500+ franchise locations.

Breaking Out of the Microsoft Mold

SmartDrive Systems (2013-2019) was the inflection point in my career. SmartDrive was a SaaS platform providing video-based safety and analytics for commercial vehicle fleets, and the engineering challenges were nothing like what I'd seen in enterprise .NET shops.

Working under Vice President, Engineering & Architecture Nicholas Brookins, I broke out of the Microsoft-centric worldview entirely. I learned REST, GraphQL, Docker, Kubernetes, RabbitMQ, Kafka, Cassandra, and Go. I went from being a ".NET architect" to a technology-agnostic distributed systems thinker. Nicholas was a great mentor -- he pushed me to evaluate technologies on their merits rather than defaulting to the Microsoft stack because it was familiar.

The 8,000% throughput improvement bridges the two eras nicely: I solved an old-world SQL Server bottleneck using architectural thinking I'd developed over years in the Microsoft ecosystem. A couple of years later I helped Nick implement the ground-up rearchitecture using Kafka, Cassandra, Go, and Kubernetes -- a completely different technology world.

Building Teams and Platforms

I joined MCG Health in 2019 as a Software Architect and eventually became Manager of Software Engineering and Software Architect -- leading a 12-person distributed Platform Engineering team.

This is where everything I'd learned came together. The technical work was substantial: I took our identity platform from 99.7% to 99.995% uptime, architected a CQRS integration platform with GraphQL, and introduced Go to a .NET organization.

But the work I'm proudest of was building the team itself. I consolidated three siloed teams into one platform organization, built a hiring process focused on problem-solving over keyword matching, and scaled the team while raising standards rather than lowering them. I codified our expectations into an engineering handbook that became the foundation for how we operated.

What Runs Through All of It

Looking back, a few threads run through my whole career.

I solve problems with whatever tools are available. VBA spreadsheets on the factory floor, Access databases between jobs, .NET in the enterprise, Go and Kafka at scale -- the tool never mattered as much as understanding the problem. The best technology choice is the one that fits the constraints you actually have, not the one you're most comfortable with.

I moved from doing the work to enabling others to do the work. From writing code myself, to designing systems for others to build, to building teams and establishing standards so that good work happens consistently. That progression wasn't always comfortable, but it was deliberate.

And I've never stopped learning. From VBA to C# to Go, from monoliths to microservices, from individual contributor to engineering manager -- each transition required setting aside what I knew and starting over in some way. That willingness to be a beginner again is probably the single thing that's mattered most.

For the formal version, here's my resume.

Deep Dives

A while back I was asked to provide written responses to a series of interview questions about my resume. I wrote them up in detail -- each one covers a specific challenge, my approach, and the results. Where my memory is fuzzy on implementation details from years ago, I said so rather than speculate.

SmartDrive Systems:

  1. 8,000% Throughput Improvement
  2. Kafka/Cassandra Ingestion Pipeline

MCG Health:

  1. CQRS-based Integration
  2. Identity Platform Improvements
  3. Introducing Go to a .NET Organization
  4. Consolidating Three Siloed Teams
  5. Building a Hiring Pipeline
  6. Scaling While Maintaining Quality and Culture