Erik Dorfman

Download 36.15 Kb.
NameErik Dorfman
A typeDocumentation > manual > Documentation

Erik Dorfman

4707 Chestnut Street
Bethesda, MD 20814 USA

+1 301.922.9677


  • Independent consultant with over 20 years of experience as a software developer/architect.

  • Developed systems for NASA (for 8 years) and the National Institutes of Health (for 12 years).

  • Computer Science degrees from Cornell University (BA) and University of Pennsylvania (MSE).

  • Authored/supported various Open Source libraries; documentation published by O'Reilly.

  • Knowledge is both broad and deep: application development, configuration management, system administration, technical writing/illustration, teaching. Has project leadership experience.



UNIX developer since 1988; Linux developer/administrator since 1994.


Since 1994. Frequent contributor to the official Perl code repository (CPAN) as “ERYQ”. Documentation published in O'Reilly's Perl Resource Kit. Authored/taught a Perl course.


Since 1998. Sun Certified Java Developer. Experience with J2EE (EJB2/EJB3), JMS, JDBC, JNI, RMI, SAX/DOM, JSP, Spring, Struts, and Swing. Authored/taught a Java course.

C / C++

Since 1989. Experience writing portable code and bindings for higher-level languages. Developed tools to analyze executables/libraries to detect certain types of bugs. Authored/taught a C++ course.


Experience with various interprocess communication protocols and APIs, from stream/packet-level (TCP, UDP) to application-level (HTTP, RMI, etc.).


Detailed knowledge of web-related protocols (HTTP, FTP, SMTP), data formats (XML, XHTML, Unicode, MIME), client-side tools (CSS, Javascript, AJAX), servers (Apache, Tomcat, OC4J), and server-side tools (JSP, Taglibs, Velocity).


Developed configuration management systems for large, multi-language code bases. Integrated various versioning systems, build systems, compilers, and package managers.


Authored/taught courses in Object-Oriented Programming, Perl5, Java, and C++.


Created a tool capable of analyzing XML and producing optimized SAX parsing code across multiple languages (e.g., Java, Perl). Designed novel graphical representation of query hits for text-searching systems.



Java, Perl, C/C++; Bourne/C shell scripts, Lisp/Scheme, Prolog, Smalltalk;
Lex/Yacc, JavaCC; others as needed (Javascript, Python, PHP, XSLT, etc.).


Linux (RedHat, Fedora) and UNIX (Solaris, IRIX, HP/UX) system administration; basic use/administration of Windows XP/2000 and VAX/VMS.


Oracle, MySQL, Sybase, GemStone OODBMS, GDBM; Java JDBC, Perl DBI.


Low-level IPC (TCP/IP, UDP/IP, pipes) to application-level IPC (RPC, RMI, SOAP). Detailed knowledge of HTTP, FTP, SMTP, DICT.


XML (extensive use of SAX/DOM APIs), XHTML, CSS, MIME, Unicode.

CASE/CM tools

ClearCase/ClearQuest, CVS, RCS. Eclipse, JBuilder.
Make, Perl ExtUtils, Ant, some Ivy. RPM, Yum, Sun PKG.

Web services

Apache, Oracle Application Server / OC4J, Tomcat.

Content mgmt

MediaWiki, pvWiki. Various search engines: Collexis, Verity, ht://Dig.


Technical writing/illustration. Information design (courses, presentation, websites, user interfaces). Data visualization. Medical informatics.


Master of Science and Engineering in Computer and Information Science, with a concentration in AI.
University of Pennsylvania, Philadelphia, PA. 1988 - 1989.

Bachelor of Arts in Computer Science.
Cornell University, Ithaca, NY. 1984 - 1988.



NIH Clinical Trials project won Harvard's Innovations in American Government award, including $100,000 grant (2004).

Became Hughes STX's first full-time-telecommuting employee (1994).

Received Hughes STX Group Achievement Awards (1993, 1994, 1995), Certificate of Commendation (1992) and Peer Awards (1990, 1993).


Graduated from Cornell with Distinction in All Subjects; Dean’s List: 4 semesters.

High School

Received Regents Scholarship. Membership in National Honor Society.

Employment History

President, Zeegee Software Inc. (Bethesda, MD). Aug 1997 – present

  • Manages small consulting business specializing in software design and development; acquires and works on various contracts (list follows).

National Institutes of Health / Office of the Director (Bethesda, MD). Jan 2009 – present
Contracted by SAIC (Rockville, MD office).

  • Development Lead of the Grants Management Team. Leads an on-site team of 7 to 9 developers, who together have produced/maintained J2EE and Java6/Spring/Tomcat applications used for the internal management of the NIH's entire grant portfolio.

  • Assists in the architecture of new/evolving applications; conducts design and code reviews; oversees entire software development lifecycle. Provides production support for time-critical grants management systems. Serves on the various Working Groups which are designing the next generation of NIH's electronic records management systems and processes.

National Institutes of Health / Office of the Director (Bethesda, MD). Apr 2007 – Jan 2009
Contracted by Altum, Inc. (Reston, VA).

  • Member of a large software development team which developed RCDC: a J2EE system (EJB3, OC4J, Oracle) for the automated categorization and financial reporting of NIH grants and contracts. System has been used for reporting to Congress and has high visibility throughout HHS.

  • Implemented key business rule logic, core utilities, and Web-accessible system administration tools. Frequently called upon to perform configuration management tasks.

  • Participated in requirements analysis and design reviews, and generated detailed design documents (UML): RCDC employs formal Software Development Lifecycle practices and utilizes industry-standard CASE tools (ClearCase, ClearQuest).

Contracted by ASRC Federal (Greenbelt, MD). Oct 2006 – Dec 2006

  • Designed architecture for a cost-allocation reporting system in a secure environment, proposed to the NGA. Authored corresponding sections of the proposal.

National Institutes of Health / National Library of Medicine (Bethesda, MD). Jul 1999 - Jul 2006
Contracted by Aquilent Corporation (Laurel, MD).

  • Helped develop the web-accessible National Clinical Trials Registry, including the main website, supporting websites/services, operator tools, and many of the core software packages. This was a large Java-based project (Velocity/Struts servlets, Swing GUIs, RMI- and SOAP-based services, SAX/DOM/JSTL, JDBC/MySQL, advanced concurrency techniques for high throughput, etc).

  • Worked with various Medical Informatics ontologies, databases, and services.

  • Designed/developed/administered cvu, a configuration management and build system for a multi-project, multi-language code base (CVS, Perl). Developed/administered CM website for developers.

  • Designed/developed polka software deployment and site management system. Features included ability to deploy products, configuration, or databases to operational machines with automatic stop/restart of affected servers; ability to inspect/control services across multiple hosts via script or web interface.

  • Developed htmldiff tool to perform site-wide crawling and change-reporting of websites, for impact analysis. Features included graphical display of changes broken down by severity, and drill down to side-by-side annotated comparisons of differing pages.

  • Created xax, a CASE tool able to analyze an XML snippet and produce fast SAX-based source code for converting similar XML to objects in a variety of languages (e.g., Java, Perl).

Contracted by INTELSAT (Washington, DC). Oct 1997 – Jul 1999

  • Developed/administered icms: a configuration management system for Satellite Systems (Perl5, CVS). Created ICMS website complete with FAQ and User/Administrator/Developer Manuals. Worked with developers, I&T, and operations staff to tailor ICMS to meet new requirements. Some features: version control for binary large objects; sophisticated branching and merging; automatic Makefile generation; automatic embedding of build information in products for traceability; automatic sanity checking of build products to detect problems; automatic nightly builds which notified appropriate developers by email if checked-in code failed to compile/link.

  • Supported various projects as needed. Taught classes in object-oriented programming, Perl5, and Java.

Hughes STX Corporation (Lanham, MD). Dec 1989 - Oct 1997
Performed work for
NASA/Goddard Space Flight Center (Greenbelt, MD).

  • As task leader and technical leader: Supervised/coordinated/evaluated the activities of other team members. Composed monthly and triannual reports. Assisted in proposal writing.

  • For NASA's EOSDIS V0 IMS Web interface (1995): Was chosen to lead an emergency effort to deliver a web interface to NASA's EOSDIS system, after the original contractor failed to show sufficient progress. We completed the effort ahead of the critical deadline; as a result, our company was awarded the contract to continue development. The system (Perl5, C) utilized many advanced web application features, some of which would later become industry-wide best-practices.

  • As HSTX's first full-time-telecommuter (1994): Acquired system administration skills needed to maintain own Linux platform. Traveled frequently to work site for work/meetings.

  • For NASA's Code 712 Web effort (1994): Designed and implemented WebLib, a Perl4 web application which provided a single searchable front-end to multiple distributed bibliographic databases.

  • For NASA's NSSDC Storage Systems project (1993): Took technical leadership of emergency situation: imminent failure of existing NSSDC archive system. Designed completely new system which would allow minimal human intervention for daily operation/fault recovery, and plug-and-play support for new archive devices. Worked with team to implement and thoroughly document new system (C, Sybase). System received praise from operators; data throughput went up 300%.

  • For NASA's International Solar/Terrestrial Physics Project (1992): Assisted in design, implementation, documentation, and support of full data ingestion, archival, and distribution system, complete with data catalog (Sybase) and end-user interface (JAM).

  • For NASA's Intelligent Data Management project (1989): Conducted research in the application of AI techniques toward automatically cataloging vast amounts of satellite data. Designed/implemented object-oriented database schema for catalog. Developed software to support investigation of neural network techniques in image analysis and to perform automated cataloging of incoming sensor data. Designed and helped implement user interface to catalog. Designed/produced presentation materials (slides, posters, HyperCard demo). Authored/co-authored technical papers, and presented research at remote sensing conferences and workshops, and to NASA management.

  • Additional activities: Developed pilot software for HSTX Software Reuse Repository, and promoted/distributed reusable libraries to other groups at NASA. Created/promoted Pseudoclass coding standard for portability/reuse. Contributing author for Code and Unit Testing section of HSTX Software Engineering Guidebook. Developed and presented courses/lectures in Perl5, Object-Oriented Programming, C++, and Software Reuse.

Tradenet Corporation (New York, NY). Sep 1989 - Dec 1989

  • Implemented parts of a business-information management system for the Macintosh (using Think C).

Cornell University Agronomy Department (Ithaca, NY). Jan 1987 – May 1988

  • Worked with team to revise and extend a large climate-analysis software package for the IBM PC.

Independent Software Developer Apr 1984 – Sep 1986
Contracted by
RG Computer Workshops, Inc. (New City, NY).

  • Worked with an educational consultant to develop personal computer software geared to teaching/reviewing basic math and language skills. Two products released: paid by percentage of sales.


Usability Issues in Developing a Web-based Consumer Health Site,” Proceedings of AMIA Symposium 2000; pp. 556-560, 2000 (co-author).

Portions of “The Perl Resource Kit”, O'Reilly Associates, 1998 (authored the published documentation of various components: MIME::Parser, HTML::Stream, etc.).

"A Spatial Data Handling System for Retrieval of Images by Unrestricted Regions of User Interest," Proceedings of the 1992 NASA/GSFC Conference of Space Applications of Artificial Intelligence, pp. 213-230, 1992 (researcher / principal author).

"Using Semantic Data Modeling Techniques to Organize an Object-Oriented Database for Extending the Mass Storage Model," Proceedings of the 42nd Congress of the International Astronautical Federation, 1991 (co-author).

"Architecture of a Large Object-Oriented Database for Remotely-Sensed Data," Technical Papers of the 1991 ACSM/ASPRS Conference, Bethesda, MD Volume 3, pp. 129-143, 1991 (author).

"Intelligent Information Fusion for Spatial Data Management," Proceedings of the 4th International Symposium on Spatial Data Handling, Zürich, Switzerland, Volume 2, pp. 567-578, 1990 (co-author).


Available upon request.

Resume for Erik Dorfman Page of

Share in:


When copying material provide a link © 2017