I am a passionate programmer, doing what I love for a living.
I first taught myself programming (VB .NET) early on in high school for a website idea I had. Shortly after, I became addicted to the creative possibilities and my passion has never left me.
I enjoy building creative solutions to complex problems (and the teams surrounding them) that provide high value to the end users. Using simplicity, expressiveness and maintainability to incrementally and iteratively provide value, I can ensure that the solutions I build are built-to-last, while also being flexible enough to reflect constantly changing requirements.
I have a proven record of leading teams and establishing processes in design and development that provide consitent quality and delivery.
The early part of my career had been primarily focused on Windows, but I tend to lean more on unix operating systems (Linux/OSX). I'm my strongest in a terminal, which Windows just isn't well-suited for.
I also love the CI/CD side of engineering. Working with a team/organization to determine the best approach to commit and deploy with confidence is a challenge I will always take. Once developers get into the groove of developing features without fires to be hosed or tooling to fight, life becomes a little better for everybody.
I've built and deployed many high-throughput APIs/endpoints, dealing with all the complexity involved (deployment models, load balancing, caching/invalidation).
Also, I'll be the first to tell you that I've made mistakes in my career, but I use them to my advantage. Remember, incremental improvement!
Skills & Tools
- Unix Shell Scripts
- iOS/Android (Xamarin)
- Windows Server
- Microsoft Azure
- Google Cloud
- Containers (docker/lxc)
- Azure Pipelines/GitHub Actions/Jenkins
- Visual Studio
- Visual Studio for Mac
- Visual Studio Code
- Rider (JetBrains)
- SQL Server
Senior Software Engineer
Managing a team of people on a wide-array of projects across different languages/platforms. Managing the internal DevOps life-cycle (commit, review, build, version, deploy, and support) for embedded systems (Linux and Windows) and web projects (Docker/ASP.NET MVC/etc).
Some key points:
- Manage IT infrastructure for software (build agents, on-prem GitLab, etc) and project management.
- ASP.NET (and .NET Core) React application/MVC APIs, multi-tenancy, on-site deployments with automated updates.
- Embedded .NET Core runtime in native executable, integration interop with V8.
- Develop/design recording software for the medical industry, implementation of IDesign's "The Method", an approach for system and project design.
- 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.
- iOS/Android application development using the Xamarin platform.
- 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
tmpfsoverlay for stability and resilience.
- Compilation and cross-compilation (vc++, gcc, MAKE, CMAKE, meson, autotools, etc).
- ASP.NET MVC
- Linux (Embedded, Sys Admin)
- Cloud (Google Cloud Platform/Microsoft Azure)
- CI/CD (Pipelines)
- Unit Testing
- 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.
- ASP.NET MVC
- SQL Server
- Microsoft Test Manager
- Microsoft Commerce Server
- Windows Server 2008/2012
- Microsoft BizTalk
Freelance Software Engineer
- 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.
- 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.
- .NET Core
- 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!).
- Continuous Integration
React ASP.NET Boilerplate github.com/pauldotknopf/react-aspnet-boilerplate
- .NET Core
- Entity Framework Core
- Server-side rendering
MCPD/MCTS .NET Web DeveloperMCP ID: 8482776
Associates of Liberal Arts and ScienceState College of Florida.GPA 3.6 2008-2010