Career Summary

I am a passionate engineer and exceptional problem solver, doing what I love for a living.

I have an intimate understanding of the SDLC, with strong leadership skills that enable me to be effective. I have led and scaled large teams for mission-critical systems, establishing architecture, processes, and best practices to ensure quality and reliability.

With a strong emphasis on simplicity, low ceremony, and an understanding of team capabilities, I ensure that my solutions are built-to-last and move fast based on changing requirements; while also ensuring that even junior engineers can contribute and be effective.

From an individual contributor perspective, my expertise includes a deep understanding of the full stack, encompassing infrastructure provisioning, security/networking, application development, testing, deployment and observability. I'm always learning and keeping up-to-date with the latest technologies and best practices.

I manage a few open-source projects in different languages, including JavaScript, C# and Go.

Skills & Tools

General

  • Architecture/Design
  • Networking
  • Security
  • Mentoring/Speaking
  • Agile/Scrum

Languages

  • C#
  • HTML/CSS
  • TypeScript/JavaScript/Node
  • Go
  • C++/C
  • Unix Shell Scripts
  • SQL
  • Python

Client-side

  • React
  • Redux/MobX
  • MobX
  • webpack/vite
  • Jest
  • Sass/LESS
  • Bootstrap
  • jQuery

Mobile

  • iOS/Android (Xamarin)
  • xCode
  • UIKit
  • Objective-C

Operating systems

  • Unix/Linux
  • OSX
  • Windows

Cloud

  • Terraform
  • Microsoft Azure
  • Google Cloud
  • Kubernetes
  • Containers (docker/lxc)
  • Azure Pipelines/GitHub Actions/Jenkins

Databases

  • Postgres
  • MongoDB
  • SQL Server
  • SQLite
  • Cassandra
  • Lucene/ElasticSearch

Work Experience

Lead Engineer

Ensemble Health Partners
Aug 2022 - Present
  • Led several teams/initiatives.
  • Established an ecosystem of libraries, frameworks and pipeline templates to enable rapid development/deployment of various workloads (microservices, Azure resources, terraform, etc).
  • Rollout of kubernetes clusters, established the process for teams to deploy/mantain/monitor their workloads.
  • Design/implementation/rollout of a micro-frontend client-side architecture, enabling teams to develop modules locally and deploy them into a single integrated client-side application.
  • Design/implementation/rollout of Temporal for orchestrating workflows, combining new/legacy systems, creating new use-cases.
  • Design/implementation/rollout of CQRS pattern, addressed upper performance limits of our current architecture, resulting in dramatic performance improvements, and significant savings through database SKU optimization.
  • Regular presentations to the company on new technologies, best practices, and architecture.

Technologies used:

  • Architecture
  • .NET Core
  • Microservices
  • Dapper/OrmLite
  • Kubernetes
  • React/TypeScript
  • Micro-frontends
  • Temporal
  • Azure DevOps
  • Azure
  • Terraform
  • ElasticSearch
  • Postgres
  • Redis

Technical Lead

Novanta Surgical Imaging
July 2019 - Aug 2022

Managing a team of people on a wide-array of projects across different languages/platforms.

Some key points:

  • Overseen design/implementation of next-generation perscriptive architecture/platform for medical imaging software.
  • Protobuf/gRPC microservice architecture with a focus on performance and stability, emphasis on golang.
  • Cooridination with firmware team to ensure driver/software development feature parity.
  • ASP.NET (and .NET Core) React application/MVC APIs, multi-tenancy, on-site deployments with automated updates.
  • Established usage of IDesign's "The Method", an approach for system and project design.

Technologies used:

  • Architecture
  • .NET
  • ASP.NET MVC
  • Microservices
  • Protobuf/gRPC
  • Docker
  • SQLite/MongoDB/Postgres
  • C/C++
  • Golang
  • JavaScript/TypeScript
  • Cloud (Microsoft Azure)
  • CI/CD (Pipelines)
  • Unit Testing

Senior Software Engineer

Med X Change
Nov 2012 - July 2019

Thought leader for a small team of developers in the embedded and web space.

Some key points:

  • Manage IT infrastructure for software (build agents, on-prem GitLab, etc) and project management.
  • Embedded .NET Core runtime in native executable, integration interop with V8.
  • iOS/Android application development using the Xamarin platform.
  • ASP.NET WebAPIs for consumption in mobile platform.
  • DirectShow and gstreamer for encoding/decoding with various video formats, including H264/MP4.
  • WPF and Qt/QtQuick implementations of digital recording software on embedded devices.
  • C++/C for internal libraries used to connect to record video and connect to hospital networks (DICOM/HL7).
  • Custom Embedded Linux distros for embedded devices (Yocto).
    • Brickless update design.
    • Read-only boot with tmpfs overlay for stability and resilience.
  • Compilation and cross-compilation (vc++, gcc, MAKE, CMAKE, meson, autotools, etc).

Technologies used:

  • .NET
  • ASP.NET MVC
  • WPF
  • Qt
  • Docker
  • SQLite/Postgres
  • C/C++
  • Golang
  • JavaScript/TypeScript
  • DICOM/HL7
  • Linux (Embedded, Sys Admin)
  • Cloud (Google Cloud Platform)
  • CI/CD (Pipelines)
  • Unit/integration testing

Software Engineer

MethodFactory
Jun 2011 - Dec 2012
  • Managed/maintained production instances of IIS/SQL Server for many high-volume sites (coleman.com, rawlings.com).
  • Managed a prescriptive framework written in C# .NET 4.0 used to accelerate and model application development according to industry best practices.
  • Managed an internal automated NuGet feed (using TFS Build) for delivering updates.
  • Database design and development. Managing indexes/performance. Troubleshooting with SQL Profiler.
  • Created a process to managing SQL Server Database Projects (SSDT) so that framework libraries can be distributed with matching .dacpac files for client schema updating/generating. The process also included automated deployments of database schema and projects from TFS builds for Continuous Integration and validation of the build.
  • Wrote and managed C# TFS Build Activity that creates and deploys multiple NuGet packages.
  • Implemented an enterprise WCF Service Host Factory that uses IoC (Dependency Injection) to resolve contracts for runtime composability.
  • Created WCF Services using REST/JSON for use on client side widgets.
  • Created an MVC3/jQuery eCommerce UI foundation for eCommerce websites. Delivered to projects in a .zip file delivered by a VirtualPathProvider for easy updating and ensuring stability. Added support for overriding at every level (css/js/view) for client specific adjustments using a MVC ViewEngine and a client-side dependency management framework (Cassette).
  • Implemented/created a jQuery plugin in ASP.NET MVC3 to enable extensible keyboard navigation with 100% client-side interaction from the point of entry.
  • Designed enterprise N-tier framework to be reused by multiple enterprise clients (Coleman, Nuk, Rawlings).
  • Designed/developed software for medical equipment for capturing and recording pictures and videos using MSMQ/NServiceBus/SignalR to send messages between the website and hardware.

Technologies used:

  • .NET
  • ASP.NET MVC
  • SQL Server
  • TFS
  • Microsoft Test Manager
  • Microsoft Commerce Server
  • Windows Server 2008/2012
  • Microsoft BizTalk

Freelance Software Engineer

Adept Web Studios
Jun 2009 - June 2011
  • Re-wrote nopCommerce from WebForms to ASP.NET MVC. Contributed it back to nopCommerce for the V3+ release.
  • Design and develop custom solutions from cms to e-commerce using the appropriate technologies.
  • Created a Lucene.NET implementation for faceted searching in eCommerce solutions (nopCommerce).
  • Wrote and sold plugins and themes for nopCommerce.
  • Wrote a CMS integration for nopCommerce to bring advanced CMS technologies to an eCommerce driven website.

Software Developer

Dataline Associates
Sep 2009 - Aug 2011
  • Managing catalog and orders (25,000 products) using MSMQ to handle product/inventory updates.
  • Integration into 3rd party websites for price comparison and analytics.
  • Managing web server (Windows Server 2008 R2) and database for high-uptime and high-load.

Projects

  • An integration of .NET and QML for cross platform and high-performance desktop applications. I built a thin C layer with C++ shared pointers to integrate the two garbage collectors (.NET and QML-JavaScript). AppVeyor and Travis CI are configured to ensure a suite of tests pass for each commit on every major platform (Linux/OSX/Windows).

    Technologies used:

    • C/C++
    • .NET Core
    • QT
    • Continuous Integration
  • Think "Dockerfiles", but for immutable, stateless, graphical (or not) environments, booted bare-metal. I use this tool as my daily driver for Linux. Each distribution contains a custom initramfs that overlays a temporary file system over your read-only Darch images. This allows each boot to be a clean boot. Any change made to the runtime (apt-get install, etc) are discarded on each boot. Any change you want persisted has to be scripted and baked into your recipes (which is a good thing!).

    Technologies used:

    • Go
    • Docker
    • containerd
    • Continuous Integration

Education

  • MCPD/MCTS .NET Web Developer
    MCP ID: 8482776
  • Associates of Liberal Arts and Science
    State College of Florida.
    GPA 3.6 2008-2010