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
- 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
Education
Kalamazoo CollegeBA, Mathematics;Chapter President, Habitat for Humanity.
Other skills
Spanish
Occasional GitHub Contributions
https://github.com/users/edwingustafson/contributionsCode Samples
Spring Boot wrapper around word cloud library
FizzBuzz in Scala with no repeated Strings or tests
https://gist.github.com/edwingustafson/b06131e7e172a86b2c3371b5e88d7a56BASH prompt reflects version control
https://gist.github.com/edwingustafson/ed4bcb3800e5116ae364e496ad418825