Objective

Senior or Principal software engineering position in the Twin Cities metro area

Summary

Over fifteen years of experience successfully building reliable, user-friendly, maintainable, well-tested enterprise software (including mobile and web applications) used by millions for The Scotts Company, United HealthCare, Wells Fargo, Southwest Airlines and Mackin. What can I build for you?

Skills (most-used listed first)

Experience

Consulting and Open Source Work

Eagan, MN

January 2011 – Present

2024-2025 software projects for the community of the VR game Beat Saber:

  • Created check-map-plays - a feature-rich Node.js application that tracks play statistics for community-created Beat Saber maps
  • Made changes to the open source BeatLeader server code in order to display different game mode types in embedded replay images
  • Created bs-custom-song-utilities, a Powershell script that helps Beat Saber players manage custom songs stored on their hard drive

2011 – 2019 Projects:

Created DSCMS: The Dead Simple Content Management System, a fully functional, fast and simple CMS that runs on ASP.NET Core and SQLite inside an easily deployable Docker container. Developed personal website, which utilizes DSCMS to deliver a hand-built, data-driven, fully admin-able, open source content management system to store development projects as well as their source code. Built newsfeeds.fyi, a customizable “home page” with user-selected newsfeeds in the spirit of iGoogle. Created eight video games on multiple platforms (HTML5/JavaScript, Flash, Windows Executable).

Technical Environment: JavaScript, TypeScript, C#, SQL, .NET Core and 4.6, Asp.net MVC, Node.js, npm, Bootstrap, Entity Framework Core, Visual Studio, Visual Studio Code, Docker, AWS, Phaser, Adobe Flash Professional, Adobe Flash Builder, Git, Joomla, PHP, Photoshop, Dreamweaver, Autodesk Sketchbook Pro


Senior Software Engineer

Mackin (Burnsville, MN)

May 2018 – May 2022

Developed and launched Mackin Search, an Amazon-style website (mackin.com) that lets schools easily find, track and buy different types of resources (books, eBooks, audiobooks, etc.). Lead developer for the Mackin VIA frontend, an Apple Books-style mobile and web application that allowed students to consume eBooks and audiobooks. Lead Reading Metrics initiative: a multi-year project that allowed fine-grained tracking of how students interacted with Mackin products and services. Lead developer for the Mackin eBook and audiobook conversion software; responsible for converting raw material from publishers into Mackin eBooks and audiobooks. Also wrote software that generated previews for these resources in addition to tools that allowed Mackin QA to easily review converted material before being offered to customers. Lead development on large image compression project to cut down on resource file sizes and server load on both newly converted material as well as live resources.

  • Wrote and maintained software that could be compared to products from Amazon or Apple in terms of functionality and complexity
  • Client software had to handle wide variety of use cases: full functionality for audiobooks when device is asleep, students accessing same resource on different devices, support for going online or offline at any moment, TTS support, DRM
  • Delivered products to iOS, Chromebooks and Android as well as Windows, macOS, and web
  • Wrote and updated documentation for developers, business stake-holders and end users

Technical Environment: C#, TypeScript, Visual Studio Code, SQL, JavaScript, webpack, gulp, Rider, .NET 5, React, AngularJS, Swift, React Native, Elasticsearch/Kibana, Redis, SQL Server Management Studio, Jira, Git, Bitbucket, Mattermost, Jasmine/Karma


Senior Software Engineer (formerly Software Engineer)

L3Harris Technologies (formerly Aerosim), Research and Development Group (Burnsville, MN)

May 2013 – May 2018

Architected and built one of the world’s largest pilot training systems (LCMS); used by Southwest Airlines, Delta, Air France, KLM and more. LCMS is made up of several interrelated Single-Page Applications: Report Creation/Administration/Running/Scheduling System, Content and Bundled Content Management, Bulk User Importer and a fully-featured, customizable Secure Exam System. Also created rich internet applications and content to aid aviation learning. Created Instructor Operating System application for controlling aircraft simulation software. Built new recurrent training content delivery application for Southwest Airlines. Built an LMS Run-Time Environment (RTE) in JavaScript from scratch that could run on both desktop and mobile platforms. Devised, coordinated and executed setting up a new server environment for Aerosim’s European customers (KLM, Air France) on Azure in addition to a move of all North American customers (American Airlines, PSA, etc.) to a single North American Azure server setup.

All projects consisted of: 1) Creating and reviewing specifications with stakeholders and generating estimates. 2) Defining application architecture and user interface while working alongside Software Engineering Manager. 3) Creating data schema: tables, relationships, diagrams and stored procedures (when needed). 4) Writing all code required by solution: Data Layer (Entities, LINQ queries, repositories), Business Layer (C#), Front-end, (JavaScript/TypeScript, HTML, CSS). 5) Thorough testing and QA (unit, integration, regression and load tests). 6) Responsible for all aspects of deployment (Azure, server settings and IIS setup and configuration). 7) Doing any updates or maintenance as needed. 8) Guiding junior developers reporting directly to me throughout the process as well as helping co-workers and customers whenever needed.

  • Single-handedly fulfilled the roles of two listed positions: Front-end and Back-end Developer
  • Brought technologies and patterns to Aerosim: MVC, RESTful Web Services, Single-Page Applications
  • LCMS contains over 25,000 lines of well-organized, modular, modern handwritten JavaScript code
  • Dramatically improved software deployment process and oversaw 100% launch success rate

Technical Environment: TypeScript, ES6 JavaScript, React, C#, SQL, MobX, Jest, Enzyme, HTML, CSS, CSS Modules, Flexbox, CSS Grid, KnockoutJS, JSON, LINQ, Entity Framework, Bootstrap, jQuery, Azure, SQL Server 2008-2016, Azure SQL, .NET 3.5 – 4.5, ASP.NET MVC, Visual Studio 2015, SVN, Node.js, npm, webpack, Photoshop, XML, PowerShell, IIS, ActionScript 3, Flex, Flash Builder


Web Developer

National Business Systems (Eagan, MN)

June 2009 – April 2010

Developed cross repository search functionality for SODA (Secure Online Data Access) platform, a sophisticated, enterprise-grade, web-based document retrieval system – a task which required a near total rewrite of the underlying data layer. Aided in redesign of existing Stihl CMS system utilizing the Microsoft MVC framework and intense database restructuring. Took over development responsibilities for LLMC Digital, a large system that archived documents and books relating to law. Created ad-hoc web applications for NBS clients: polling, rebate tracking, marketing emails.

  • Successfully upgraded SODA search functionality to facilitate addition of new NBS client account: Metavante
  • Pushed development team to use a more modern approach to development – OO, normalized databases, separation of content and presentation in web work
  • Delivered a 100% success rate on content transitions from stage to production environments. Helped develop standard procedures that ensured successful “live pushes”

Technical Environment: Visual Basic, SQL, JavaScript, LINQ, LINQ To SQL, Visual Studio 2008, .NET 3.5, asp.net MVC 1.0, SQL Server, .NET Remoting


Project Champion (formerly Software Engineer, formerly Business Applications Developer)

Staywell Health Management (St. Paul, MN)

May 2006 – April 2008

Developed Staywell’s Incentives Module – a large initiative that automated the setup, tracking and awarding of incentives for participants completing various health program objectives. Contributed to design and architecture discussions and wrote detailed technical designs as well as end-user documentation. Wrote application code (c# and asp.net) for many different components of the Incentives Module; also wrote stored procedures for the database as well as complex synchronizing mechanisms for handling data going to and from remote databases via web services. Developed intensive unit tests as well as high level functional tests. Worked with IT to generate a build and deploy plan, including the writing of MSBuild scripts. Explained and demonstrated the Incentives Module to Staywell employees as well as Staywell’s customers. Created application UI design/layout and script generation. Produced ad-hoc data reports as requested. Organized, kicked off and lead the Email and eMessaging project.

  • Created well received, highly visual documentation for personnel at all levels
  • Came up with inventive solutions for problems that kept arising in the Staywell environment: intelligent logging, html email notifications, robust web service handling
  • Had remarkably low occurrence of issues with developed applications
  • Was only developer, out of 8, selected to lead a new 2008 project: eMessaging and EMail

Technical Environment: C#, SQL, JavaScript, Visual Studio Team Edition 2008, .NET 3.5, Oracle, PL/SQL, ASP.net, Visio, MSBuild, Windows PowerShell, Photoshop CS2


Software Engineer (formerly Web Engineer)

Orbit Systems (Eagan, MN)

June 2004 – April 2006

Responsible for single-handedly building sophisticated web applications, windows applications, websites, and intranet sites for Orbit and its clients. Defining needs to be met, project scope and estimated hours. Drawing up underlying architecture (Data, Business Logic and Presentation layers). Designing and constructing database solutions to meet application or site needs. Creating and implementing web page designs and layouts (either from scratch, based on existing sites or client specification). Writing all necessary code and testing functionality and performance. Working closely with clients to define, develop and refine solutions. Also responsible for overseeing and aiding junior developers.

  • Responsible for implementing best practices in web division: Improved design architecture, implementation of accessibility and web standards using XHTML and CSS, and introducing fully normalized database design with referential integrity
  • Came up with innovative uses for technologies such as RSS, XML, Flash and Active Directory

Technical Environment: C#, JavaScript, SQL, ActionScript, Visual Studio 2005, .NET 2.0 and 1.1, ASP.net, SQL Server, HTML/XHTML, CSS, Flash, Photoshop, Fireworks, Visio, ColdFusion MX 6.1 and 7, Fusebox, Microsoft Access, AJAX, PHP, VB Script, Illustrator


Interactive Developer (formerly Junior Developer, formerly Production Assistant)

Martin|Williams Advertising (Minneapolis, MN)

June 2002 – September 2003

Technical lead in the Scotts Company’s email marketing campaigns. Responsible for the creating, editing, sending, tracking and testing of four separate marketing campaigns going out to well over half a million subscribers. Developed software and processes that further automated the email program. Was also responsible for maintaining and updating both internal and client websites and web-based applications.

  • Technical lead and administrator of successful and well-known email marketing campaigns
  • Completely revamped the way campaign email content is edited to allow client to quickly and easily make changes to programs without the aid of M|W developers, further streamlining the process of email creation
  • Wrote scripts that edited xml files and saved the project management team a great deal of time in making site-wide changes to content in client websites

Technical Environment: ColdFusion MX 6 and 6.1, Java, Fusebox, MVC, XML, HTML, CVS, Windows XP/2000, Dreamweaver, Vim, Perl, JEdit, SQL, MS SQL Server, JavaScript, Contribute, Photoshop

Education

Bachelor of Arts in both Quantitative Methods and Computer Science as well as Economics

University of St. Thomas (St. Paul, MN)

Graduated 2002