Resume

About Me

I’m a full stack web developer who is very good at solving problems independently and getting things done. One of my best strengths is my ability to understand complex systems quickly then to decompose and simplify them which means I’m very good at upgrading legacy systems.

I’ve been doing professional full-stack web developer for 21 years. The majority of my experience is with C#, JavaScript and SQL Server, but I have worked on systems built on Java and Ruby as well. I’ve been developing e-commerce sites most of my career with a few years spent on real estate websites.

My responsibilities have covered nearly all aspects of web development and infrastructure from requirements gathering through CI testing and server management.

Skills

Programming Languages

I've extremely experienced with fundamental web languages (HTML, CSS, JavaScript) having worked with them continuously since the late 90s).

The majority of my experience is with C# and JavaScript/TypeScript both in the browser and Node.js. In the past I've built websites using Ruby on Rails and Java Servlets along with Java on the front-end using Google Web Toolkit.

I've worked with other languages on side projects. Of those, I know Haskell the best followed by PureScript and Python.

I'm very comfortable with both object oriented and functional paradigms.

Operating Systems

I have extensive experience with Windows and Linux, both on the desktop and server since 2000. I'm also comfortable with MacOS.

DevOps

About 90% of my DevOps experience is with Azure. I've set up databases, and load balanced web hosting with continuous integration build pipelines. I've also created Azure Functions and Web Jobs.

The remaining 10% of my DevOps experience has been with AWS.

Development Processes

I've worked on teams that have used various styles of development processes including Waterfall, Scrum, Kanban, TDD and BDD.

What I've found works best and my preferred process is some kind of Behavior Driven Development that starts with good end-user requirements and where the team iterates rapidly for fast feedback loops, allowing for quick course correction and Continuous Delivery.

For issue tracking, I have extensive experience with GitHub, GitLab and Azure DevOps.

Work Experience

Healthwise / WebMD (2023 - 2025)

Analyzed, documented and upgraded multiple legacy web apps used for delivering health information to Healthwise customers.

After Healthwise was acquired by WebMD, they renewed my contract for another year.

SiegelTech - Back-end Architect (2019 - 2022)

http://siegeltech.io

I was the lead back-end architect building a complex direct marketing and e-commerce platform for a start-up company based on the experience from my previous projects. It's built on a standard .NET stack and uses Redis for caching.

I researched and incorporated dependency injection in .NET Core and integrated with configuration using options pattern EF Core MVC.NET and logging.

Some other projects I worked on include:

Responsibilities

Beyond Diet - Sr. Software Developer (2014 - 2019)

https://www.beyonddiet.com/

I was the primary maintainer of large e-commerce website implementing and/or improving the following custom full-stack functionality:

This system was built with a standard Microsoft stack and used WebForms for the public site and MVC.NET for the Control Panel.

The architecture was more complex than necessary. There were lots of developers working independently and without much coordination. One of the primary roles I ended up taking on was to analyze and understand the various sub-systems and decompose them to make them more reusable and able to work well together.

Orvis - Full Stack Web Developer (2008 - 2014)

https://www.orvis.com/

I worked on a team to maintain and add functionality to a VB.NET WebForms e-commerce site website along with a custom CMS and product management website.

I managed website servers and worked on network hardware in the data center.

The architecture was pretty simple with few third party libraries. Mostly direct calls to SQL stored procedures.

Self Employed Real Estate Platform (2005 - 2014)

When AlphaLynx went bankrupt I took over support for 30 real estate clients. I was unhappy with the quality of the WebForms code in the AlphaLynx because it was very expensive to maintain. I already had my own custom platform that I was maintaining for a few clients which ran on Java and JRuby and I didn't want to maintain two tech stacks so I rewrote the website using JRuby on Rails and Java.

For the migration, I incrementally decomposed the code into libraries and packaged them into .jar files. The C# application called JVM code using the CLR to JVM interop tool IKVM. This approach turned out to be an excellent choice and the migration was successful with only a few minor issues.

I set up Debian Linux virtual private servers on Linode for hosting using Nginx for routing and a PostgreSQL database for the real estate data. I ran Ruby scripts on a schedule using cron jobs to import the MLS data.

I rewrote the front-end CMS and property listing interface using Google Web Toolkit. It seemed like a good idea in the beginning especially sharing Java code and using Guice for dependency injection, but ultimately became far too complex compared to a simple JavaScript solution.

Later I ported the entire platform to Ruby on Rails using JRuby to integrate with the existing Java code.

AlphaLynx Real Estate Platform

AlphaLynx was a small company in Manchester, VT. They created a real estate platform for small local realtors. The application was written in VB. One of my responsibilities was to work on converting the code to C# and WebForms.

The most challenging part of this job was importing listings from new Multiple Listing Services because each used different properties and formatting.

Education (2000 - 2004)

B.S. Computer Engineering from Vermont Technical College