Jonathan Gordon

resume at kinobe dot com

Overview

Interested in multi-tiered web application development in Portland, OR. Well-versed in network applications, have extensive Java and SQL experience, and am adept at leading teams and self-managing. Passionate about using Free Software in my work and develop on Linux. I am no longer considering work developing with Microsoft products/technologies (.NET, C#, ASP, MSSQL, etc.).

Experience

Shambhala Publications - Independent book publisher and seller

2002 - Present; Freelance (Portland, OR and New York, NY)

Designed and implemented a Java application (1.0 in Perl) that allows Shambhala Publications to create mailing campaigns and correlate them with subsequent orders using a sophisticated matching algorithm. As an example of the technologies I'm comfortable working with, this project uses the following:

Language - Java 1.6, using the following new features: Generics, Enhanced for Loop, Autoboxing/Unboxing, Typesafe Enums.
Groovy - Groovy 1.5.7, possibly one of my favorite things about Java. Builders, closures, GStrings, oh my!
Application Server - Apache Tomcat 5.5: Application Server and Web Server.
Web Framework - Apache Struts 1.2.9: Validator Form, Tiles, Displaytag.
Persistence Framework - Hibernate 3.2.0: Using simple JDBCTransactionFactory and ThreadLocalSessionContext, pooling connections with c3p0. Caching performed with ehcache and OSCache. Annotations and Validator.
Messaging Framework - SOAP: Using Apache Axis2 1.4 (notably, wsdl2java.sh) for Java class generation to communicate with a third party email marketing application.
AJAX Framework - jQuery 1.2.3: Functionality includes autocomplete, drag-and-drop sorting, click to edit, meaningful hover highlights, modal dialogs, dynamic add/remove of page elements, in-line HTML editing (via FCKeditor) and extensive use of JSON.
Testing - JUnit 4.x: Annotations, In-memory database tests using HSQLDB.
Logging - Apache Commons Logging 1.0.4 with Log4J 1.2.7.
Runtime Performance Monitoring - JETM 1.2.2.
Build - Ant 1.7.0: Used for build/deploy scripting. Docbook used for documentation.
Version Control - Subversion.
IDE - IntelliJ 8.1. Yes, it is a pleasure.

Geneva College - Private, four-year college

2008 - Present; Freelance (New York, NY)

Added the capability for students to save their work in progress on Geneva's online application form. Implemented novel solution that required no change for application form designer. Uses jQuery (and plugins) on front-end, Groovy on back-end with an XML data store.

Mandala Designs - Boutique software development and hosting firm

2002 - 2006; Freelance (Portland, OR)

Primary back-end developer for several Java web applications: E-Commerce (Samovar Tea Lounge Store), Publishing (Inner Traditions), and Education (Marylhurst University Course Evaluations, not public).

Formix - High-performance computing consultancy

2000; Freelance (Seattle, WA)

Designed and built a web-based host administration application for a heterogeneous computer network. The application maintained the information necessary to provide network services (DNS, DHCP, YP/NIS) to all computers on the network. The application was designed with robust error handling as well as extensive run-time configuration options.

Viant - Dot-com Internet consulting firm

1997 - 2000 (San Francisco, CA)

Served as a Technical Lead in role at the Innovation Center at Viant. My area of expertise was in the implementation of dynamic, multi-tier web applications, including wireless technologies on WAP-enabled phones and Palm devices.

Served as a Senior Developer in the Tech Center. Was responsible for writing re-usable code for several projects, including a Java Web Stress Tester, an Automated Survey Handling Tool, and the Focus Workspace Browser (FWB), an internal knowledge management application. Gave a presentation of my work on the FWB at IBM's WebSphere 2000.

Served as a Senior Developer on a project for Compaq. Was responsible for developing a codebase using object oriented programming that was easily extended and enhanced, as well as providing guidance to more junior members of the development team.

Served as the Technical Lead of the Compaq OEM Technologies Group (OTS) conversion project. Led a team of three developers to enhance the Next Generation Architecture (NGA) content management solution using Microsoft Internet technologies. Key feature additions included a more robust security scheme coupled with a single sign-on solution for all three of the OTS sites (ServerNet, NonStop Software, and Atalla).

Served as the Senior Developer for a company that provides college application services online. The project consisted of a technical architecture audit of their current site, followed up by an application stress test using Viant's custom stress testing software.

Served as the Technical Lead of the Tandem Personalization project. Led a team of four developers to enhance the Next Generation Architecture (NGA) content management solution using Microsoft Internet technologies. Key feature additions included developing a sophisticated rule engine that allowed administrators to build targeted banners based on user behavior and preference selection, as well as allowing users to create their own profile-based (not browser-based) personal links to both internal and external content.

Within Viant, was a member of the technology discipline and was a member of the San Francisco mentoring group. Member of the IT group as backup for the San Francisco-based Information Technologist. Played an active role in recruiting, serving as the Haas School of Business recruiting captain.

Andersen Consulting - Global management consulting, technology services and outsourcing company

1996 - 1997 (San Francisco, CA)

Worked for the System Implementation Group of the Northern California Office of Andersen Consulting. My primary focus was the installation of customer service applications for high tech electronics clients.

Served as the technical lead for the development of a global customer service client-server application at Informix Software. My responsibilities included: development planning and resource allocation, customer data modeling and database design, detailed technical design, customized application development, system test preparation, performance tuning, interface design and development.

Technical Skills

LanguagesExperience
Java (Tomcat, Struts, Hibernate, Ant)High
SQL (Referential Integrity, Indexes)High
GroovyMedium
JavaScript (jQuery)Medium
PHPMedium
Ruby (Rails, ActiveRecord)Medium
PerlMedium
PythonMedium
BashMedium
CLow
  
Database AdministrationExperience
MySQLHigh
SQL ServerMedium
OracleMedium, though it's been a while
IBM InformixMedium, pre-IBM
  
Internet TechnologiesExperience
HTMLHigh
JSPHigh
XMLHigh
SubversionHigh
ASPMedium
  
AdministrationExperience
Servlet Container (Tomcat)High
Web Server (Apache, IIS)Medium
DNS (bind)Medium
Firewall, NAT (ipchains)Medium
Mail Server (qmail)Medium
  
Development/Deployment PlatformsExperience
LinuxHigh
MicrosoftMedium

Certifications: Microsoft Certified Professional (MCP): Microsoft Internetworking with TCP/IP

Education

Cornell University: B.S. in Environmental Systems Engineering
GPA: 3.62 (in major) / 3.46 (overall)
Teaching Assistant for ABEN 151: Introduction to Computing

Activities/Interests

Cycling enthusiast, both international (Belgium, Laos, Netherlands, Sweden) and local (love the Manhattan Waterfront Greenway!).
2000-watt society aspirant: Energy reduction geek. Blew my goal with most recent trip to Sweden (see previous interest).