Edwin Gustafson

Edwin Gustafson

<edwingustafson@@gmail.com> / 734 846 0999 / Charlevoix, Michigan, USA

Experience

Prinicpal Web Engineer,Cayman Chemical,2017-present

React development with TypeScript. Spring Boot development in Java. Apache Solr administration. Azure DevOps and Apache HTTPD web server administration.

Web Systems Architect,EJ,2013-2017

IBM WebSphere Commerce development and adminstration; Apache Solr customization; monthly technology talks for non-technical staff.

Lead Application Developer,Cayman Chemical,2001-2013

Primary responsibility for analysis, architecture, development, deployment, and administration of multiple websites representing the web presence of organization and various partners hosted on a combination of physical and virtual servers both inside and outside the organization's network.

Full-stack development with duties spanning system architecture, Java EE web application development, search engine optimization, PostgreSQL database administration, CentOS Linux system administration, and HTML/CSS/JavaScript implementation of web designs specified by artists and business staff. Occasional supervision of junior staff. Key projects:

  • Instant product search with jQuery and Apache Lucene SolrFull-stack development of product search feature: data import by custom SQL implementing client business rules; interface affordances for entry of non-keyword characters required for chemical names; jQuery.ajax() retrieval of instant results ("as you type"); DataTables presentation of full search results.
  • Website optimizationOngoing website optimization focused on high-traffic pages with various techniques including: image optimization; JavaScript and CSS minification in the build process; CSS sprites; selective CDN migration; general HTTP request conservation; views for database request conservation.
  • Mobile interface to legacy web applicationCross-device mobile interface to legacy web application using jQuery Mobile. Analyzed legacy application capabilities to develop streamlined mobile feature set.
  • Multiple credit card processing integration projects for Microsoft Dynamics AXCredit card processing implementations integrating Microsoft Dynamics AX with a series of credit card processors, most recently SkipJack. Used three different mechanisms: vendor-supplied .NET SDK, custom C# web services library using WCF, custom RESTful web service client as X++ class via AX's CLR Interop facility.
  • Telephone system migrationManaged phone system upgrade for 120-person organization including: analysis of usage patterns among different types of users (office workers, lab workers, road warriors); soliciting and evaluating bids; making recommendations to upper management; acting as liaison between vendor, local exchange carrier, and staff; writing user documentation and conducting training for staff; performing basic system administration.
  • Scientific markup libraryCustom Java library transforming plain text product descriptions into HTML implementing numerous proprietary rules. JUnit tests for individual transformations.
  • Custom Java EE web applicationCustom Java EE web application with product search, customer accounts, ecommerce capability, periodic product data synchronization, and product image processing publishing pipeline (rsync + ImageMagick + optipng). Continuous maintenance and enhancement for ten years. Dual ERP system integration projects, most recently to Microsoft Dynamics AX leaning heavily on web services.

Web Developer,InterConnect of Ann Arbor,1998-2001

Staff web application developer implementing web applications using proprietary web application framework written in object-oriented Perl. Wrote custom Apache HTTPD module in C.

Software Developer,Sleeplab Software Ltd,1996-1998

Developed Windows interface and installer for APL statistical application. Ported web-based clinical questionnaire from Userland Frontier on Mac OS to LAMP (Linux/Apache/MySQL/PHP).

Skills

  • Languages
    • Java
    • SQL
    • Perl
    • bash
    • X++
    • C#
    • PHP
    • Scala
    • PL/pgSQL
    • Python (Jython)
    • APL
    • Smalltalk
    • C
  • Markup
    • HTML5
    • XML, XSLT, Xpath
  • JavaScript APIs
    • jQuery
    • jQuery Tools
    • jQuery Cycle
    • jQuery Mobile
    • DataTables
    • Prototype
  • Version control systems
    • Mercurial
    • CVS
    • Git
    • Subversion
  • Development tools
    • NetBeans
    • Eclipse
    • Apache Ant
    • Apache Maven
    • GNU make
  • HTTP servers
    • Apache Tomcat
    • Apache HTTPD
    • Microsoft IIS
  • RDBMSs
    • PostgreSQL
    • MySQL
    • Microsoft SQL Server
    • Oracle
  • Templating systems
    • JSP/JSP Taglibs
    • Apache Velocity
  • Monitoring and diagnostic tools
    • Nagios
    • ESXi control panel
    • jconsole
    • Visual VM
    • jhat
    • Cacti
  • Virtual machines/managed code environments
    • Java VM (JVM)
    • Microsoft CLR (.NET)
  • Miscellaneous APIs
    • Apache Lucene Solr
    • Apache DB Torque
    • JAXB
    • Java Persistence API
    • WCF
  • Image processing
    • ImageMagick
    • GIMP
    • Inkscape

Education

Kalamazoo CollegeBA, Mathematics;Chapter President, Habitat for Humanity.

Other skills

Spanish

Occasional GitHub Contributions

https://github.com/users/edwingustafson/contributions

Code Samples

Spring Boot wrapper around word cloud library

FizzBuzz in Scala with no repeated Strings or tests

https://gist.github.com/edwingustafson/b06131e7e172a86b2c3371b5e88d7a56

BASH prompt reflects version control

https://gist.github.com/edwingustafson/ed4bcb3800e5116ae364e496ad418825
©2024 Edwin Gustafson