John G. Ferguson

615 Caravay Lane

Downingtown, PA 19335

(610) 321-0285

Summary Of Experience

A pragmatic, business-driven Software Engineer with an extensive background in developing applications, tools, APIs, and subsystems. Proven abilities in learning and applying new technologies. Has worked predominately in a team setting.

Possesses strong skills in assessing designs for potential issues, drilling into details.

Also has skills in higher level presentation for communicating technology issues to a broader audience. These skills were developed while in direct contact with end users on a support newsgroup.

20 years programming experience

Work ranged from desktop applications to multi-tier applications based on Internet technologies, COM, and Java.

Technical Summary

Programming Languages: C/C++ (11 years), Java (3 years), XML (2 years), HTML (1 year), YACC/LEX (1 year), SQL (1 year), JScript (0.5 years), DHTML (0.5 years) and CSS1 (0.5 years).

Operating Systems: NT, Windows 3.1, OS/2, and MVS/CICS. Most work has been done under NT/Windows 2000 (11.0 years).

DBMS Systems: SQL Server, MS Access, IBM VSAM.

Professional Experience

Bentley Systems, Exton, PA2000 – 2004

Develops a CAD platform known as Microstation with vertical applications.

Software Engineer

Developed and supported a wide range of APIs, CAD applets, and small scale subsystems within the CAD application. Most work was in C/C++.

Added features to Java based applications for CAD platform including XML processor used for a UI system.

Co-developed updates to system for defining and saving view parameters.

Designed and developed APIs and system for saving layouts of views.

Designed and developed APIs for maintaining view parameter objects.

Supported Text subsystem and re-architected portions of the implementation for text formatting.

Supported and enhanced Java interface to Microstation.

Shared Medical Systems, Malvern, PA1986 – 2000

Develops applications for use by clinical and financial users in the Health Care industry.

Lead Technician

Developed a wide range of tools and subsystems for use in applications. Also, took part in prototyping with various technologies to be used by and in support of applications including MFC Recordset support and cross DBMS ODBC usage.

Developed XML based system using Java for serializing Java business objects to/from the HTML based client and the data servers.

Assumed support and development of Java based application framework used to model UI/Application flow defined in XML.

Worked on prototype of DHTML based client application using ASP and ADO Recordsets.

Developed and supported tools for applications including a 2-tier, C++/COM based access control server using an ODBC based back end. The design chosen allowed for various DBMSs. The initial base implementation supported: SQL Server, Sybase 11, Oracle RDB, and Access using one code base.

Developed bridge APIs for access from VBA to C++ code.

Co-developed HDBMS tools, command processors, and API for MVS/CICS applications using BAL (assembly language).

Worked on small team to research and select OOA/D Methodology, resulting in a combination of Shlaer-Mellor (OOA) and Booch (OOD).

Augustine and Company, Exton, PA1984 – 1986

Develops applications for use by police departments and municipal governments.

Programmer

Designed and developed custom applications for users based on direct interaction with users to gather specifications.

Designed and developed initial code base for Water and Sewer service billing system.

Enhanced revisions of initial system for various customers.

Education

Bachelor of Science, Computer Science, 1986, West Chester University

Independent Efforts

Developed simple VRML based game using Java. (complete)

 Ported OpenGL tutorials from C to Python (complete)

.NET self-study, working through tutorials. (in progress)

Studying for Java 2 Certification - Prog./Developer Exams. (in progress)