John Gotts
14050 Brougham Ct. Apt. 8
Plymouth, MI 48170
Phone: 734-846-5646
E-Mail: jgotts@gmail.com
Web: http://www.linuxsavvy.com/staff/jgotts/

Objective

I am seeking a satisfying and enjoyable software engineering position starting immediately. Professionally, I have created or maintained point of sale (POS), fantasy sports management, product loyalty, operating system, financial derivative trading, and computer aided design software. Specific domains I have continually worked on include object, protocol, user interface, database schema, network, and language design; conformance testing; and performance tuning. I have solid experience with PHP, JavaScript/AJAX, Java, Perl, C, SQL, HTML/XML, Tcl, the UNIX shells, and assembly. Graphical toolkits I have coded to include Mozilla XUL/XBL, ExtJS, YUI, Gtk+/GNOME/Glade 1.x, Tk, AWT, and Motif. I am well versed in SQL and comfortable with MySQL, PostgreSQL, and Oracle. Operating systems I have worked with include versions of Linux and Windows; Solaris; and most UNIX variants. I have been a Linux developer for more than twenty years, contributing mainly bug reports and minor fixes personally and through my employers. My name can be found in the Linux kernel CREDITS file. What I am most proud of is the work that I have done as part of the Linux development team over the decades. My work is one small part of all two billion Android devices, most websites, in-vehicle electronics, video game consoles, and any other system that happens to be running Linux.

Work Experience

NetPOS
Software Engineer
March 2009 through March 2017

Maintained and extended a XUL/JavaScript/Perl/PHP-based touch screen point of
sale (POS) system with multiple database backends (MySQL/PostgreSQL/Oracle).
Instituted best of Agile practices while achieving PCI PA-DSS certification.
Became the first VAR to be certified for stored value (gift) cards using an
interface to Chase Paymentech's NetConnect SOAP API that I wrote. Designed a
WSDL and SOAP server architecture for an online ordering module. Added the
ProfitPoint loyalty card system and made numerous improvements to the existing
Paytronix loyalty and stored value implementation, converting the system to
pure SOAP. Wrote a from-scratch interface to the First Data ValueLink gift card
system, driving the certification process to completion. Implemented a
JSON-RPC-based interface to the CaptureCode loyalty system. Added the LevelUp
mobile payment system to NetPOS. Added an interface to the HyperActive drive
thru interface. Further extended the JSON-RPC-based interface for stored value,
loyalty, and mobile payment integrations with Virtual Next, AppFront, and
Relevant Mobile. Implemented a SOAP interface to Heartland stored value.


OnRoto.com

Software Engineer
February 2009 through June 2009

Created a fast JavaScript/DOM based-architecture for a fantasy baseball
roster manager with industry-first live validation against league
specifications, completely replacing an aging Java applet 

ePrize

Software Engineer
September 2007 through December 2008

Maintained the MVC-inspired JavaScript/AJAX front end and the Perl/MySQL
back end of the My Coke Rewards Catalog Manager.  As part of the crack iCoke
team, we achieved a zero defect product within six months.  Moved on to
maintaining the iCoke 2.0 SOAP platform, where we also achieved a zero defect
count.  During my tenure, the iCoke programming team achieved accolades from
Coca-Cola and was essential to ePrize's profitability 

Cybernet Systems Corporation

Software Engineer
December 2005 through December 2006

Maintained the NetMAX Operating System, a network appliance-targeted Linux
distribution with a web-based GUI written chiefly in Perl; solely responsible
for 5.5 and 5.51, the most thoroughly audited VPN releases to date; fixed
challenging bugs driven by corporate and customer input; ported the system to
new network appliance hardware; overhauled Cybernet's server infrastructure,
incorporating corporate customizations into the releases; improved mail system
performance while traffic tripled; backported a Linux kernel storage driver for
a specific customer application.

F & M Financial Trading Systems, N. V.

Software Engineer / System/Network/Database Administrator
July 1999 through October 2005

Designed a 270,000-line Gtk+/GNOME/Glade tablet/desktop trading application
for the Red Hat and Fedora Core Linux operating systems in C and XML; designed
a 50,000-line database daemon using C and PostgreSQL's libpq; designed
connection daemons using proprietary libraries supplied by the exchanges;
designed a daemon to supply theoretical prices to the system; designed the
software router and overall protocol to keep the system running smoothly;
maintained the SQL schema as system requirements changed; continually tuned
network bandwidth consumption, database use, and algorithms to increase system
performance; developed the system using exchange development networks, passed
all conformance testing, and used the system in production on numerous
exchanges for a total of approximately five years.

LinuxNIC, Inc.

Head Programmer
September 1999 through December 1999

Designed and implemented the Perl/DBI/MySQL-based backend for their domain
(.linux) registration system.

Avant! Corporation

Summer Intern / Software Engineer / Tcl/Tk/Scheme/C Programmer
July 1998 through December 1998

Developed an HTML-based integrated documentation system in Tcl/Tk and Perl
to replace a proprietary system based upon FrameViewer; developed a database
visualization tool for Avant!'s next generation layout editor.

Avant! Corporation

Summer Intern / Software Engineer / Java Programmer
May 1997 through August 1997

Developed a Java-based hierarchical design visualization tool using JDK
1.1.x; constructed a framework to interoperate with their C-based
libraries.

Ford Motor Company

Scientific Research Laboratories
Summer Intern / Motif Programmer
May 1996 through August 1996

Designed a Motif user interface for an Xlib-based embedded microprocessor
execution simulator; revised the architecture of this project and added
multiple, simultaneous execution visualization modes.

Total Quality Stats

Linux Consultant / Java Programmer
April 1995 through October 2005

Helped build and maintain their Linux-based network; architected automated
FAX scripts for content delivery to their customers; maintained and extended
their Java-based sports statistics program; designed databases based upon 
PostgreSQL to ease retrieval and maintenance of their sports statistics;
created and modified C programs to use their new databases; identified and
corrected bottlenecks in their web server through hardware upgrades and
software measures, such as transitioning to the Apache mod_perl extension.

University of Michigan

Computer Aided Engineering Network
Systems Programmer I / UNIX System Administrator / Java Programmer
November 1994 through July 1998

Oversaw the operating system upgrades of approximately 50 DECstations;
designed a Perl script to allow the DECstations to report system messages via
the syslog facility; developed a web-based statistics gathering program and
other tools in Bourne shell and Perl for CAEN's AFS-based distributed computing
environment; insured the correct day-to-day functioning of the DECstation
network via log file analysis; designed a configurable, standalone or web-based
replacement in Java for their web-based Perl/CGI realtime lab viewer.

Personal Experience

Technical Writer
October 1997 through Present

Wrote DHCP mini HOWTO for University of Michigan students.  Wrote
configuration mini HOWTO's for sendmail 8.8.x and 8.9.x.  Documented Linux
configuration of the Sony PCG-C1XS and PCG-F680 laptops.  Documented Linux
configuration on the uncommon AMD K6-2+ and K6-III+ processors.

Linux Kernel Developer

November 1994 through Present

Credited Linux kernel hacker.  Contributed minor patches directly to Linus
Torvalds.  Maintained the totem and oplbeep packages.  Early contributor to the
linux-kernel mailing list.

Free Software Developer

May 1994 through Present

Developed scripts to help University of Michigan students running Linux to
connect to the various computer networks.  Became the campuswide Linux guru.
Contributed bug fixes and/or feature enhancements to freely available programs
such as SysVInit, slrn, xmille, tkman, dcon, mc, Wine, xlockmore, xscreensaver,
fontutils, fileutils, sh-utils, textutils, Mesa, xosview, nmh, gtk+extra, and
others.  Contributed the configuration front-end to gnome-socket.  Contributed
configuration suggestions and patches to various GNOME applications.  Created
simple GUI-based versions of telnet and zwrite in Tcl/Tk.  Wrote parsenews, a
Perl-based e-mail/Usenet news article beautifier.  Maintained sortmail, a
header-based mail sorting program written in Perl.  Contributed dozens of new
and enhanced RPM spec files to various projects, including GNOME.  Early
contributor to Linux development lists.

Childhood

April 1975 through April 1993

First BASIC code published at age 12 in Run Magazine.  Developed mailing
label software and a printer driver for an automotive parts warehouse's
advertising brochures.  Developed a French to English dictionary program,
complete with a redefined character set.  Spent a year learning Pascal and
developed an unfinished implementation of Solitaire as my final project.

Educational Experience

University of Michigan College of Engineering
September 1993 through April 1999

Pursued virtually all undergraduate coursework offered in Electrical
Engineering, Computer Engineering, and Computer Science for a total of 12
four-month semesters.  Postponed graduation due to financial considerations
and interesting Linux software development opportunities.

Organizations

American Mensa (Membership number 100093630)
Amateur Radio Operator (Extra class callsign N8QDW)