Professional Experience

Staff Software Engineer

Sep 2023 ⇨ Present

Senior Software Engineer

Jun 2019 ⇨ Sep 2023

Worked as a developer on the .NET Agent team. The agents used the CLR Profiling API to instrument .NET-based web applications at runtime to identify security vulnerabilities and block attacks.

Drove efforts to improve overall code quality by doing things like resolving build warnings, incorporating features of newer C# versions, enabling nullable reference types, and making it easier and quicker to build the agents.

Created a background Windows service to automatically download and install new versions of the agents.

Worked on WiX Toolset-based installers for the agents, including upgrading them from v3 to v4.

Worked on a Windows Forms-based "tray" application, which was eventually migrated to an Electron.NET-based application, then worked on migrating it to Avalonia UI.

Biscuit Labs

Senior Software Engineer

Jul 2018 ⇨ Jun 2019

Worked as a backend developer on a new building sensing, control, and micro-grid product using C#, Cosmos DB, SQL Server, Web API, and Azure. Environmental sensor readings from large residential buildings were collected and aggregated for use by a building monitoring and management web application.

Expert Software Engineer

Dec 2015 ⇨ Jul 2018

Worked as a developer on a new team creating web services for storing electronic health records. Services were hosted in Azure and created using C#, Web API, Unity, Service Fabric, Cosmos DB, and other technologies.

Managed the building, versioning, and packaging of internal NuGet server and libraries.

Smashed a defunct printer in a field.

Senior Developer

Oct 2015 ⇨ Dec 2015

Worked as a contractor at Aclara on a team modernizing and developing distributed C# and C++ services used to detect and analyze outages of utilities.

Replaced a large amount of native C++ code calling in to .NET libraries using native APIs with much simpler C++/CLI code.

Built a proof-of-concept single-server replacement for a distributed calculation process. The overhead of the distributed process much greater than the actual calculations, resulting in it taking minutes to complete. The single-server replacement performed the same calculations in under a second on modest hardware.

Senior Web Developer

Mar 2015 ⇨ Oct 2015

Worked as a contractor at Safety National on teams creating web-based applications for tracking and managing insurance and reinsurance applications and claims. Primary technologies used include SQL Server, SSIS, C#, Entity Framework, ASP.NET, and Web API.

Ate donuts.

Senior Mid-Tier Developer

May 2014 ⇨ Feb 2015

Mid-Tier Developer

Apr 2012 ⇨ May 2014

Mid-Tier Analyst

Jun 2010 ⇨ Apr 2012

Created and maintained performance-sensitive C# and C++ web and Windows services supporting front-end applications related to stock trading. Contributed to coding standards and maintained automated code analysis tools (such as FxCop and StyleCop). Replaced C++ COM libraries with drop-in-replacement C# libraries.

Contributed to coding standards and maintained automated code analysis tools (such as FxCop and StyleCop).

Replaced C++ COM libraries with drop-in-replacement C# libraries.

Migrated Visual Studio Setup projects to WiX Toolset projects.

Re-implemented the majority of a difficult-to-maintain legacy C++ server as a C# WCF service during a 24-hour hackathon. The new service had 90% fewer lines of code, cut response times in half, could handle an order of magnitude more simultaneous requests while using fewer than half the number of threads, and was testable and maintainable.

Software Developer

May 2008 ⇨ Jun 2010

Worked with C# and VB.NET on teams for in-house projects and as a consultant for client-managed projects, including a Windows Forms application for tracking construction machinery rentals, an ammunition trajectory visualization application for the original table-sized Microsoft Surface device, and a user-customizable Windows Forms application for tracking agricultural lending.

Student Technical Assistant

Jan 2007 ⇨ May 2008

Provided general technical support and website development services for teachers and staff of the university. Commonly supported products included Microsoft Windows, DreamWeaver, and Blackboard.

One memorable project was an interactive website for browsing histopathology slides. It was created using raw HTML, CSS, and Javascript, and could be deployed via a web server or via media such as CDs.