N. Oatman Ave. Portland, OR 97217
(503) 367-8547 -
OBJECTIVE:
Stimulating and challenging employment as a software engineer for an
organization that values experience, creativity, and a quick yet careful mind.
With a lifelong concern for the environment, work in the "green" technology or
energy fields would be particularly attractive.
Languages
Java, JSP
SQL (Oracle, MySQL)
C
PHP
(D)HTML, XML, CSS, XLS
Python
C++
SQL
Pascal, Delphi
PERL
EsiObjects, MUMPS
Project Highlights
Designed and created a scriptable/pluggable data exchange automation
system.
Embedded user interface and media framework for an advanced plasma
video/television system.
Extension to the PHP language providing connectivity to EsiObjects
database servers.
Created an IDE for the EsiObjects language.
Custom IDE for FPGAs
User interface and e-commerce system for sports- and
activities-oriented web site.
Some APIs Used
Swing / JFC, AWT
JDBC
Hibernate
Log4J
GNOME
glib
glibc
gtk / gtk2
PHP (4,5) Extension API
POSIX
Development Platforms
Linux/GNU
UNIX
MS Windows 95 - XP
MS DOS 2.x - 6.x
PRINCIPAL SOFTWARE DEVELOPMENT SKILLS:
Extensive experience developing and designing applications and user
interfaces (on Java, Linux and web platforms), APIs, serial and TCP/IP
communications systems. Firm grasp of object-oriented concepts and design.
Can port code between various platforms, debug and refactor complex code
written by others. I am very adaptable and write carefully-designed,
readable, well-commented code.
OTHER ASSETS:
Strong work ethic. Work well under pressure. Very quick learner yet
patient teacher. Excellent English writing and editing skills. Good verbal
communication skills (with individuals as well as groups). Can read,
write and speak Italian and German fluently.
RECENT EMPLOYMENT AND PROJECT DETAILS:
Aug. 2006 - Dec. 2008: Sr. Software Engineer,
Comotiv Systems (Portland, OR).
As a principal UI Engineer for a small startup, helped
architect, design and create a complex, multi-threaded remote
collaboration tool that supports cross-platform, multi-person video-
and audio-conferencing and file sharing, using agile development methods
(Java, Swing, JMF, Hibernate, Webstart).
Oct. 2005 - Apr. 2006: Software Engineer/Architect, Blue Cross/Blue Shield of
Minnesota.
Lead Engineer and Architect for the SelectAccount Operations Controller,
a flexible, scriptable framework to allow automated exchange of data with
various business partners. Wrote numerous plugins for the framework to
facilitate exchange of data from BC/BS' Oracle and FoxPro databases with
specific partners. Designed and developed an ORM solution to facilitate
rapid development of Java code to communicate with FoxPro databases.
Also created a GUI to allow manual/unscheduled data exchange operations.
(Java, SQL, JDBC, Hibernate, XML, Log4J, FoxPro, Swing).
Jan. - Sep. 2005: Software Engineer,
Help/Systems (Minnesota).
Developed complex user interfaces for the market leader in IBM iSeries
operations automation and monitoring software (Java, Swing).
Oct. 2002 - Dec. 2004: Software Engineer, TriAxial Data Systems
(California).
Primary developer of a flexible data management application framework
(UI: PHP/DHTML; back end: EsiObjects [object-oriented
MUMPS]). As part of the project, created an extension to the PHP
language which allows objects on a remote database server to be accessed
natively within PHP (using C, TCP/IP, PHP4, PHP5). Also identified and
fixed several bugs within the official EsiObjects and PHP language
implementations.
Feb. 2001 - Oct. 2004: Software Engineer, Giavaneers (California).
Worked with a team of developers on various software projects under contract
to Giavaneers' clients:
Ported portions of a popular anti-virus system from Windows to Linux (UI:
Java, SWING, C, C++ JNI, GTK2; back end: C++, C).
Developed portions of an Integrated Development Environment (IDE) for a
leading FPGA manufacturer (Java, SWING, AWT).
Developed portions of a UI and application
framework for digital TV (Java, XML) as an embedded system built on a
Linux-based OS. Primary engineer on email and speech synthesis components
(Java, C, JNI, Festival).
Resolved numerous bugs in a complex, client-developed enterprise systems
security framework (Java).
RECENT EMPLOYMENT AND PROJECT DETAILS, continued:
May - Jul. 2004: Personal Project: Geode
Developed an IDE to allow development and debugging of software in the
EsiObjects language on Linux-based platforms (previously impossible
without a Windows-only IDE). Project goals: Facilitate work for a paying
client while improving Linux GUI development skills (using C, GTK2,
EsiObjects TCP/IP protocol). Result: Success! Within a month I was
regularly using Geode for my work, and soon released a stable, alpha
version of Geode to the community under the GPL (open source license).
This project is no longer maintained as I no longer have any use for it.
For source code and a screen shot, see
http://geode.sourceforge.net.
Feb. - Nov. 2000: Software Engineer, macroplay.com
(California).
Principal UI engineer at a sports-oriented internet startup. Developed the
front-end for several related web applications, including an e-commerce
system (JSP, JAVA, DHTML, Javascript, CSS), and did some work on the
back-end database system (EJBs, SQL). Finished all assigned projects before
leaving (voluntarily) to pursue more challenging career opportunities in
another city.
Jan. - Nov. 1999: Various independent contracting work in Italy:
@all.it: Internet development and programming for an ISP.
All'Informatica Shop: Technical assistance for computer retail
store.
Digivision: Soft- and hardware demonstration and user training (in
English and Italian) of PC-based digital video editing systems.
Acquarelli Video: Digital video production assistance, web
design.
EARLY SOFTWARE DEVELOPMENT EXPERIENCE:
1987. Wrote quality control software under contract for Gillette Papermate (in Pascal, using
serial communication with a Sartorius precision balance).
1986 - 1990. As owner/founder of Cavan Int'l, designed LABBS, a
computer bulletin board system with early support for email, public and
private discussion forums, binary file transfer protocols, and online games,
which was used on several systems across the US (Pascal). Developed and sold
AOLA, a simple DOS-based ANSI character graphics and screen editor for use by
BBS operators and software developers (Pascal). Operated "LAPD", a BBS
hosting software development discussion forums as well as providing games,
free software and documentation. Also developed and distributed some other
small utility programs (Pascal, x86 Assembly Language).
FORMAL EDUCATION:
B.S. degree in Chemistry, with multiple honors, University of
California at Santa Cruz. (1995)
A.A. degree in Computer Programming, with honors (at age 15),
Santa Monica College. (1987)
HOBBIES/INTERESTS:
Antique motorcycle repair and restoration.
Home restoration and remodeling (first-time homeowner).
Woodworking
Writing
REFERENCES
Excellent personal and employment references available upon
request.