312 S. Drake Rd. #E4
Kalamazoo, MI 49009
(269)808-1433
reaper@umich.edu
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.
Work Experience
Computer Programmer, Experis (Contract)
Kalamazoo, MI 10/2017 - Present
Foundry Connectors
- Programmer of Foundry Connectors. (Plugins for a proprietary data management environment built with Java and Spark on AWS.)
- Built bidirectional connector to link SAS and Foundry. (API callable from SAS programs written in SAS, Plugin for SAS Enterprise Guide written in C# with WinForms, Remote Executor allowing SAS jobs to be scheduled from Foundry written in SAS and Java.)
- Built importer to link Access and Foundry. (Plugin to run on Foundry web server written in Java.)
- Built unidirectional connector link Matlab and Foundry. (Remote Executor allowing Matlab jobs to be scheduled from Foundry written in Matlab and Java.)
Technologies Used:
Java, C#, SAS, Matlab, Access, Maven
Sprint2MVP Project
- Programmer on the Sprint2MVP project. (Platform for pattern based, made to measure web sites targeting B2B Manufacturers. Built using WordPress, PHP, Javascript, and React)
- Built pluggable stand alone product catalog. (Wordpress plugin built with PHP and JavaScript allowing clients to manage their product catalog and provide product images, documentation, and specs.)
- Built importer for Akaneo to link to product catalog. (WordPress plugin built with PHP allowing clients to import their produc catalog from existing systems.)
- Built fallback loader. (Allows people viewing the site in older browsers to be given a basic fallback experience. Built with JavaScript and CSS.)
- Implimented snapshot testing for pattern library. (Tooling to allow developers to easily determine if code changes will have unintended side effects. Built with BackstopJS, Node and Puppeteer.)
Technologies Used:
JavaScript, Typescript, HTML, CSS, Sass, PHP, WordPress,
Gutenberg, React, jQuery, Node.js, BackstopJS, Webpack
Independent/Freelance Work
Kalamazoo, MI 9/2016 - 10/2017
- 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.)
Technologies Used: JavaScript, Node.js, Angular, Backbone, Browserify,
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.
Technologies Used: Coffeescript, JavaScript, Brunch, Chaplin, Backbone, Node.js, Centos,
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
of FreeBSD.)
- Updated video submission tools to allow adding closed captions to
videos.
- Standardized code on a single version of jQuery. (Up to 4 were being
used.)
- 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.
Technologies Used: PHP, HTML, CSS, JavaScript, AJAX, PostgreSQL, FreeBSD
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.
- Debugged javascript errors inside proprietary framework; Provided
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),
HTML, CSS, JavaScript, AJAX, XML
Computer Programmer, Socialtext (Contract)
Palo Alto, CA (Telecommuting) 1/2011 - 4/2011
- Javascript specialist on Socialtext. (Enterprise Social
Intranet Product built with Javascript, jQuery, and Perl running on top of
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
integration.
- Divided test cases that could safely be parallelized from those that
must be serial, allowing CI test runs to be much faster.
Technologies Used: JavaScript, AJAX, REST, JSON, Quint, JQuery, Rangy, OpenSocial Gadgets,
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
Dominos engagement
- Javascript specialist on Dominos express online ordering. (Javascript based web application built with jQuery, Prototype, and Pure.
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.
- Untangled javascript dependencies and provided build process.
- 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
customization
- Extended Java Servlets for REST API.
- Agile Coaching and Training for Dominos Team.
Technologies Used: JavaScript, AJAX, REST, JSON, Quint, JQuery, Prototype, Pure,
Java, JSP, Java Servlets, Junit, HTMLUnit, Tomcat
HTML, CSS, Subversion, Web Services
Hagerty engagement
- 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,
Windows Servers,
HTML, CSS, JavaScript, AJAX, Perforce, XML, Web Services
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)
- Optimized
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,
HTML, CSS, JavaScript, AJAX, Subversion, Visual Source Safe, XML, Web Services
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
HTML, CSS, JavaScript, AJAX, Subversion, Apache, Linux
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
applications with Perl, HTML, Javascript and CSS on Apache. Wrote import processes to pull data from vendors; Imports were written
in Perl or PL/SQL, often using XML file formats.
- Developed
and maintained departmental development process.
- Extended
same to enable auditability and comply with SAS-70 requirements.
- Worked across the software development lifecycle; Gathered
and interpreted
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
production applications.
- Introduced and championed automated unit testing,
enabling mission-critical applications to be tested without danger of submitting test data
to partners.
- 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,
HTML, CSS, JavaScript, C++, C#/.NET, Java, Ruby, Subversion, CVS, Apache, MySQL, Visual SourceSafe,
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
applications.
- Developed Windows CE Data collection application using C# with the .NET
Compact Framework.
- Worked directly with customers on requirements definitions for all programs
above.
Technologies Used: Perl, Oracle, SQL Server, ASP, C#/.NET, HTML, CSS, JavaScript,
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.
- Enhancements
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,
Code Generation, HTML, CSS, JavaScript, AJAX, C, Java, ClearCase, Oracle Reports, Windows Server, IIS,
Windows CE, Beamer device, Dolphin device
Technologies Used: Ruby, Rails, Ruport, Heroku, HAML, JavaScript, jQuery, HTML, CSS
Graduated 12/19/1999; Computer Science/BGS.