(David) Nick Main October 2009
Address: Home : XXX XXX XXXX Cell: XXX XXX XXXX
XXXXXXXXXXXXXXXX, Email: XXXXXXXX@XXXXX.XXX
Claremont, CA 91711 Blog : http://epistemologicalengineering.blogspot.com
-------------------------------------------------------------------------------
Key Skills:
* Java (12 years), bytecode, J2EE: EJB, JDBC, JMX, JMS, Servlets, JSP, Spring
* C/C++ (6 years), Win32 API
* Semantic Web: OWL / OWL2, SPARQL
* Web Technologies: JavaScript, HTML, Flash (SWF file format + bytecode), AJAX,
XML, XSLT, HTTP...
* Database: SQL
-------------------------------------------------------------------------------
Open Source:
* Created and maintained the JavaSWF library for Flash parsing and generation.
* Currently developing a diagrammatic ontology authoring tool.
-------------------------------------------------------------------------------
Work Experience:
Disney Staff Software Engineer Glendale, CA Sep 06 –
* Responsible for development of high-volume guest-facing web sites as part of
a multidisciplinary Agile team.
* Collaboration with bi-coastal architecture team in defining common technology
stacks and components.
* Design and implementation of ontology-based (OWL/SPARQL/semantic web)
functionality, including a high-performance faceted-search engine.
* Design and development of server-side Java logic, Spring MVC and WebFlow
* Implementation of HTML and RSS templates (TEA templates)
* Design of Content Management System schemas and associated tools
* Flash (ActionScript 3 and AVM2 bytecode) architecture and prototyping
* Development of client-side AJAX logic in Javascript
Nissan/Infiniti (Contract) Long Beach, CA Aug 05 - Sep 06
* Developed several customer-facing "shopping tools" (vehicle configurator,
request-a-quote, competitive comparator) - DHTML/AJAX, Java, Servlets,
iBatis, Tapestry, Freemarker, JSP, HSQLDB, Spring.
* Developed Flash tools and utilities to enable data-driven content.
Intersperse S/W Engineer Pasadena, CA Aug 02 - Jan 05
* Implemented a Java bytecode instrumentation layer for EJBs.
* Implemented a JVM profiling agent in C++.
* Implemented IIS log monitoring ISAPI extension.
* Implemented JMX MBeans managing applications deployed in Weblogic.
* Swing UI dialogs for some features of the Intersperse Management Console.
* Implemented EJBs and JMS components for intra-cluster management.
* Implemented SNMP to JMX bridge (JMX wrapped around SNMP).
* Developed SOAP and JMS based app management protocols.
* Made extensive use of Ant and JUnit.
Qarbon (Contract) San Jose, CA Jan 02 - Jul 02
* Implemented pure Java XML-to-Flash compiler, including dynamic
ActionScript bytecode generation, audio encoding and image compression.
Tekadence (Start-up) Venice, CA Dec 00 - Dec 01
* Director of Software Architecture
* Involved in all aspects of developing a Java multimedia authoring tool
including Swing programming, Flash import and rendering, web-site
development using EJB, Oracle, JavaMail, interfaces to third party
payment processors.
Model E (Start-up) Fremont, CA Jun 00 - Dec 00
* Lead Software Architect
* Designed and involved in implementation of internal architecture and
custom CRM, using DHTML, Servlets, JSP, JDBC/Oracle, JNDI and Jini.
Disney Online (Contract) North Hollywood, CA Jul 99 - Jun 00
* Implemented high-volume email daemon (using JDBC, SendMail).
* Designed and implemented several server-side technologies for content
generation and application deployment/management using Servlets, JDBC,
Oracle stored procedures and EJBs, custom XML processing.
* Designed and implemented a Java library for parsing and creating
Macromedia Flash content. (Now open source at http://javaswf.org)
* Provided Macromedia Flash ActionScripting support and mentoring to
Graphic Artists and Animators.
* Implemented Servlets for various business units and web sites.
Symantec (Contract) Santa Monica, CA May 99 - Jun 99
* Implemented a remote installation utility using MFC, Win32 API Networking
Path Communications (Start-up) Venice, CA Feb 99 - Apr 99
* Developed high-traffic Java servers for chat and HTTP proxying.
FileNET Costa Mesa, CA Sep 96 - Jan 99
* Principal Software Engineer
* Developed ActiveX controls for Visual Workflo: Visual C++ and MFC.
* Supported the OS/2 version of the Visual Workflo authoring tool.
* Designed and prototyped a networked (RMI) Java API for the workflow
engine. Used JNI for back-end integration. Mentored the implementors.
* Conceived and implemented a general purpose bi-directional Java/COM
bridge for Sun's JVM using JNI. (Google for "jiglue")
* Conceived and implemented an interactive applet authoring/code
generation/deployment tool using Visio, the Java/COM bridge and Java AWT.
* Implemented a small pure Java HTTP server and JSP-like parser/compiler
to enable a web-based management UI for the Visual Workflo engine.
* Implemented a prototype Java Graphics2D UI for a proposed workflow
authoring tool.
* Involved in the functional design of a future workflow product.
BE Aerospace (Contract) Irvine, CA Nov 95 - Aug 96
* Developed in-flight entertainment control system in C++, OS/2 PM, Rexx
* Ported control system to Windows MFC.
Bank of America (Contract) Los Angeles, CA Apr 95 - Oct 95
* Designed and implemented trading UI in C++, OS/2 PM, DB2, CORBA, SOM/DSOM
Midland Bank (Contract) London, England Jul 94 - Mar 95
* Designed and developed part of UI (C++, OS/2 PM) for CRM system
* Wrote part of functional spec for CRM (+Loan Management) System
Syntelligence Redhill, England Jul 93 - Jul 94
* Developed tools for internal and customer use in C++, DB2 and Rexx
* Developed using Syncore (expert system)
Thorn EMI (Contract) Reading, England Jan 93 - Jun 93
* Developed delivery scheduling UI in C and Presentation Manager (OS/2)
Midland Bank (Contract) Sheffield, England Oct 91 - Dec 92
* Prepared test plans and supervised testing of customer info system
Andersen Consulting/Accenture London, England Aug 89 - Oct 91
* Engineered AION Expert System for Dept. Social Security.
* Developed customer info system UI in C and Presentation Manager (OS/2)
IBM (Internship) Warwick, England Aug 85 - Oct 86
* Programmed in Fortran to extract CAD data into SQL database.
-------------------------------------------------------------------------------
Education:
Masters, Computer Science - Cambridge University, England. Graduated 1989.