312 S. Drake Rd. #E4
Kalamazoo, MI 49009
I'm a polyglot programmer with a specialty in web applications. I focus on the fundamentals that don't change between environments. I refuse to tie myself to a single language or framework, and prefer to have many tools in my toolbox.
Kalamazoo, MI 9/2016 - Present
- Programming on Leasing Strategies Adjustments (Pricing application for leased vehicles. Angular 2 application built with typescript. REST
back-end. Built using Node.js.)
- Digital Strategy Consulting for Be Resilient (Health advocacy startup. Consulted on technology choices with the goal of the business owner being able to do self-service on their own web presence. )
Technologies Used: Typescript, Node.js, Angular 2, Brunch,
CSS, Sass, Underscore.js, Lodash.js
Lead Web Developer, VML (Full-time)
Kalamazoo, MI 6/2014 - 9/2016
- Lead Programmer for Kellogg Registration Module (Modular registration tool designed to be added to multiple web sites by programmers from other agencies. Angular application with custom API exposed. REST
back-end. Assembled with CommonJS Modules powered by Browserify. Built using Node.js.)
- Programmer on Stryker PIPA (Multi-user audit tool for nurses to track pressure ulcers. Multiple Angular applications for different user kinds. ASP.net MVC back-end with Razor templating.)
- Lead Programmer on ACT Word Cloud (Marketing toy intended for college bound students; Produces custom word cloud and posts it to their Facebook account. Backbone application with minimal back-end. Image manipulation done with browser canvas tag.)
CSS, Sass, Underscore.js, Lodash.js,
jQuery, jQuery UI, ASP .Net MVC, Sitecore, Adobe Experience Manager / Day CQ, Facebook integration, Twitter integration
Computer Programmer, Spindance (Contract)
Holland, MI 4/2013 - 5/2014
- Programmer on Aculink (Home weather center connected to cloud storage and processing with
web front end. Coffeescript web application using Chaplin/Backbone framework. REST
back-end. Assembled with CommonJS Modules powered by Brunch. Built using Node.js.)
- Created front-end program structure and build process.
- Implimented dynamic graphing modules, allowing users to visualize their data across arbitrary timeslices.
CSS, Sass, Compass, Google Maps, d3.js, Rickshaw.js, Underscore.js, Lodash.js,
jQuery, jQuery UI, i18next, SVG
Computer Programmer, Safari Montage (Full-time)
Kalamazoo, MI 3/2012 - 3/2013
- Programmer on
Safari Montage. (Video streaming application targeted for the K-12 school
market. Also contains curriculum management tools. PHP web application
built on top of PostgreSQL data store. Multi-server distribution on top
- Updated video submission tools to allow adding closed captions to
- Standardized code on a single version of jQuery. (Up to 4 were being
- Introduced and ran Scrum meetings.
- Updated lesson planning functionality to allow teachers to manage and
present to different class lists.
- Updated quiz functionality to allow images for questions and answers,
and deliver those images to mobile client.
- Added support for a new 3d-interactive model format.
Computer Programmer, Thomson Reuters (Full-time)
Portage, MI 5/2011 - 3/2012
- Programmer on
Manatron GRM. (Tax processing system for use by local governments.
C#/ASP.Net web application built on top of SQL Server data store.)
- Enhanced tax processing to allow chargebacks to earmarked funds when
tax refunds were issued.
- Built API at allow interest to be calculated for bills that had not
yet conventionally entered the system.
fixes and workarounds.
- Maintained automated daily build system.
- Built reports.
Technologies Used: C#, ASP.NET, SQL Server, T-SQL, Telerik Controls,
Windows Servers, Crystal reports, SSRS (Sql Server Reporting Services),
Computer Programmer, Socialtext (Contract)
Palo Alto, CA (Telecommuting) 1/2011 - 4/2011
an Ubuntu-based appliance. Substantial REST API. Backed by PostgreSQL.)
- Rewrote OpenSocial Gadgets implementation to avoid round-trip on gadget creation, insertion, and preference change.
- Moved rendering of OpenSocial Gadgets to be entirely client side
- Untangled gadget rendering from gadget configuration, allowing gadgets
to be dynamically configured.
- Introduced qUnit testing on project.
- Built qUnit test runner with rhino and env.js (running on the Java
Virtual Machine,) allowing qUnit tests to
be run under continuous integration
- Championed transition to hudson build server, providing continuous
- Divided test cases that could safely be parallelized from those that
must be serial, allowing CI test runs to be much faster.
Perl, mod_perl, PostgreSQL, Moose, Template Toolkit, Jemplate,
HTML, CSS, Git, Apache, Linux, Vim
Computer Programmer, Pillar Technology (Full-time)
Virtual Company 2/2010 - 9/2010
Data access through REST-based AJAX. Persistence provided by Voldemort.)
- Sped up page load times for Internet Explorer -- from five seconds to half a second.
- Introduced and developed Qunit testing for the team.
- Extended Java-based test runner for integrating Qunit and JUnit tests.
- Extended JSP infrastructure to support locale-specific
- Extended Java Servlets for REST API.
- Agile Coaching and Training for Dominos Team.
Java, JSP, Java Servlets, Junit, HTMLUnit, Tomcat
HTML, CSS, Subversion, Web Services
- Tech Lead on Hagerty Collector Car Report/Market Profile Application. (ASP.Net MVC Web application built on top of
SQL Server. Data Access using NHibernate and T-SQL Stored Procedures. AJAX Front-End built with JQuery. Administrative back-end
built with Silverlight. Automated Testing with Nunit and Qunit.)
- Agile Coaching and Training for Hagerty Team.
Technologies Used: C#, ASP.NET MVC, SQL Server, T-SQL,
NHibernate, Silverlight, WCF, JSON, Nunit, Quint, WatiN, Telerik Controls, JQuery,
Computer Programmer, Alliance Inspection Management (Full-time)
Farmington Hills, MI 6/2009 - 1/2010
- Built time tracking system for project estimation. (ASP.Net web application with Oracle backend.)
- Transitioned web site authentication
mechanisms from integrated windows authentication to custom user tracking. (ASP.Net/Oracle)
performance of inspection search system.(ASP.Net/Oracle)
- Implemented inspection sign-off system for
rental fleet buyback program. (ASP.Net/Oracle)
- Built CRM/Scheduler system to integrate with Click Scheduler software to direct field
personnel to set appointments. (ASP.Net/Oracle, plus Web Services
for integration with Click Scheduler.)
Technologies Used: Visual Basic .NET, ASP.NET, Oracle, PL/SQL, Windows Servers,
Computer Programmer, Unlimited Ventures (Contract)
Grand Rapids, MI 1/2009 - 3/2009
- Finished and polished the UvUpTime application, a web site monitoring system; both
front-end and back-end. (Perl based web application with SQL backend.)
- Created check
request system. (Perl/SQL)
Technologies Used: Perl, mod_perl, MySQL, LWP, Template Toolkit
Programmer/Analyst, Priority Health (Full-time)
Grand Rapids, MI 11/2004 - 12/2008
- Developed data transmission interfaces to share mission-critical business data
with partners (Claims, Eligibility, PCP Affiliation, etc); Extracts were written in Perl or PL/SQL; Data was pulled from Facets, a
data warehouse, or custom tables; Backend was Oracle, with a few using Sybase or MySQL.
- Wrote front-end data collection
in Perl or PL/SQL, often using XML file formats.
and maintained departmental development process.
same to enable auditability and comply with SAS-70 requirements.
- Worked across the software development lifecycle; Gathered
requirements for upcoming applications; Regularly evaluated the question of whether to pull
data from a data warehouse or directly from Facets; Pushed applications into production systems; Monitored and maintained
- Introduced and championed automated unit testing,
enabling mission-critical applications to be tested without danger of submitting test data
- Trained others in Ounit tool for automated testing of Oracle SQL applications.
- Member of
the Code Integration Subgroup, responsible for setting technical
direction for the IT organization.
- Investigated and evaluated Java 2 Enterprise Edition, Ruby, and Interaction-based
testing for same.
- Standardized SQL layer for application integration for same.
- Revitalized critical
pharmacy application (written in SQL, using Facets data,) converting it from
nearly-unmaintainable to clean, understandable code.
- Built mutual-exclusion utility to prevent
multiple imports from running simultaneously (C++ application using COM objects.)
- Code reviewed Facets extension modules in C++ and C#.
- Created and maintained various SQL-based reports for business users, in Oracle Reports, Business Objects and custom generation.
Technologies Used: Perl, Oracle, PL/SQL, Facets, Python, Ounit Testing Framework,
Oracle Reports, Business Objects, Red Hat Enterprise Linux, HP-UX, Windows Server, XML
Programmer, Digital Systems Group (Full-time)
Kalamazoo, MI 11/2002 - 11/2004
- Developed several web applications for Kellogg, including: administrative entry
application for kelloggs.com, covering products, promotions, and recipes; Written in Perl
against an Oracle SQL data source.
- Front-end for same.
- Intranet sites for document access, travel planning, damaged goods reporting,
change management, and media contact management; Written in Perl or ASP, with Oracle SQL
or Microsoft SQL Server backend.
- Prepared strategy to move existing applications
to Apache and mod_perl.
- Debugged data access problems in JSP
- Developed Windows CE Data collection application using C# with the .NET
- Worked directly with customers on requirements definitions for all programs
Java/JSP, mod_perl, CGI, CVS, Apache, MySQL, HTML::Template, Linux, Solaris, Windows Server, IIS
Software Developer I, Geneer (Full-time)
Des Plaines, IL 3/2000 - 5/2002
- Developed Global Prolinx chemical tracking system including: web front-end,
middleware and services layer, automatic processing agents; Written in Visual Basic,
ASP, and C++ with a COM+ Middleware on Microsoft IIS.
- Database back-end for same; Used Oracle database and PL/SQL stored procedures.
- Included full
rewrite of both front and back-ends, and
performance optimization to scale the system ten thousand percent.
to scanner software for hand-held devices; Written in C and C++.
- Developed and maintained user
reports; Written with Oracle Reports.
Technologies Used: ASP, Visual Basic, ActiveX, Oracle, PL/SQL,
Windows CE, Beamer device, Dolphin device
Graduated 12/19/1999; Computer Science/BGS.