Robert L. White
Sr. Software Engineer/Architect

11806 Easthampton Dr. Tampa, FL 33626
BobWhite@writeMe.com
Home: (813) 818-4401
Cell: (727) 741-5552
Skill Index
•	Java. Delphi. C/C++. VB. XML.	•	User Interface. HTML. Javascript, GUI. Windows.
•	Object-oriented design.	•	Software Architect:  Problem solving and Analysis.
•	Relational Database Design.	•	All stages:  Design/Implement/Document.
•	Over 21 years experience.	•	Project Leadership.
Education
	B.A. - Mathematics, Indiana University,  Bloomington, IN (1980)
Summary
Bright, self-starting and creative individual with many completed systems to his credit, a guy who can put the pieces of the system together.  Has succeeded at all aspects of software engineering from high-level design to detailed debugging, from user-interface to firmware, from Shell scripts to assembly.
Modern
Operating Systems
Extensive:	Windows 95/98, Windows NT, UNIX
Languages
Expert:	Java, C/C++, XML, Object Pascal/Delphi, Assembly.
Extensive:	HTML, XSLT, XPath, JavaScript, SQL, Visual Basic.
Moderate:	Shell scripts
Application Frameworks & APIs
Extensive:	Java2, J2EE, JDBC, JFC/Swing, JAXP, DOM, JNI, JMS, JSP/Model 2, VCL.
Moderate:	MFC. AWT. 
Databases
Moderate:	Sybase.  UDB. DB2. Oracle. Access.  Paradox.
Java Tools
IDE: 	JBuilder 6.0, Visual Café Enterprise ed. 3.0, Visual Age for Java 2, Forte, eclipse.
Bean library: 	JClass, StudioJ, JGL, JBCL, JFreeChart bean.
Profiler: 	JProbe, OptimizeIt, DevPartner for Java

Professional Experience
The rest of this résumé describes what I have achieved throughout my career, most of which has been as a consultant.  I started consulting early on in my career because I found that it provided a wealth of experience and intellectual challenge not generally available in one position.  However, since I am now raising a family, I prefer to find a more permanent position working mainly with Java.  To that end, I have abbreviated the résumé by including only positions from the last few years.

America II Corp.	St. Petersburg, FL	(8/02 to present)
Java Programmer
Created a rule-based JavaMail program that automatically scans incoming e-mail messages and extracts vendor inventory data to be inserted into a master inventory stocklist.

IBM, Watson Research Center	Hawthorne, NY	(9/00 to 2/02)
Software Engineer/Consultant
•	Using Java/Swing and Delphi 5.0, wrote various GUI programs to display the status of dynamically allocated, linux-based web servers in a server farm.  Used JNI, JDBC, JAXP (XML, XPath) and JMS.  Application contained several JTables and JFreeChart (available on SourceForge); featured several frames, popup menus, custom Javabeans, background images, and a variety of Layouts (approx. 18,000 lines of code).
•	Using C, modified a daemon that compiles TCP/IP statistics from the /proc pseudofiles on a periodic basis.
•	Using Java & C, modified an Apache plug-in to compile other statistics related to web server load.
•	XML to DB conversion: Wrote Java program to read an XML file representing a Service Level Agreement (SLA) and write its contents to a DB2 database (using JDBC, of course).
•	XML to DB conversion: Wrote Java program to read an XML template file mapping an XML data input file to a database, allowing us to populate our database quickly (involved extensive use of XPath).  The result is not unlike a procedural version of XSLT.
•	Wrote a combination of JSP/Servlets, Javabeans and Javascript to add SLA contracts to our database. Used web application architecture I had written before (described below, see AMERICAN SKANDIA). Also used simple elegant Object-Relational mapping classes that I extensively simplified and extended.

AMERICAN SKANDIA	Shelton, CT	(9/99 to 8/00)
Project Leader, Project Manager
	Implemented both client-side and server-side Java in order to let Skandia customers access data and execute financial transactions through the web.  
	Client-side Java (using Swing classes)
•	Wrote applet to query a database of internal and external contacts
•	Wrote Calendar applet (similar to Outlook's calendar)
•	Created several (quick and dirty) HTML mock-ups of web applications for prototype purposes.
	Server-side Java (using XML, HTML, JSP/servlets)
•	Designed classes to implement JSP Model 2 architecture that simplified development of web applications running on a J2EE compliant application server.  Using JSP/servlets, a Javascript library, Java and EJBs (wrapping JDBC and SQL), we create HTML/Javascript web pages.  We are really just following Sun's J2EE architecture, but what I wrote is a mechanism for tying J2EE technology together to produce custom web applications.  Elements of this architecture are:
Workflow object	A dispatch servlet that handles navigation and interaction between web pages so that individual pages do not directly reference each other.
JSP	Responsible for look of each web page.
Page object	Populates the web page; contains HTML objects.
HTML objects	Server-side components that correspond to HTML elements on the web page.  They each write HTML tags and Javascript when invoked by the JSP (through JSP tag extensions).
Command objects	Used by the page objects to pass messages to each other (indirectly).
•	Developed an XML solution that allowed Skandia's Internet team to design database query pages in XML to produce various reports.  The XML instructions were transformed using XSLT to produce an HTML query page.  Queries were transformed (again using XSLT and Java) to produce SQL.  Oracle database returned results in XML format, which was transformed again to produce HTML results.  These results were presented one page at a time and could be sorted by any column
•	Managed myself on several projects and others on two projects.  Wrote one project plan (with lots of help).

J.P.MORGAN & CO., INC.	New York, NY	(11/98 to 6/99)
Project Leader
	In order to reduce license costs and improve staff mobility, J.P. Morgan commissioned a study of Java usage and Java tool selection. For this I wrote an RFP describing the effort and guided it through the approval process.  After proposals were received from four vendors, I summarized their presentations, and coordinated the evaluation process and wrote the evaluation document for board approval.  
	During the course of the engagement, I supervised the selected vendor (staff of 2), assembled and coordinated Java developer's group (53 members) to shape the effort, helped devise and execute a survey of Java development across the bank (including offices in New York, London and Paris). 
	Compiled criteria by which to judge various categories of Java development tools. Procured copies of Java development software in each category and evaluated those tools.  Presented recommendation to board for approval.
Among the evaluated tools were:
IDE:	Visual Cafe Enterprise edition 3.0,  Visual Age for Java 2,  JBuilder 3
GUI Bean library: 	JClass, StudioJ, Formula 1 for Java (spreadsheet)
Profiler: 	JProbe, OptimizeIt, DevPartner for Java

IBM, Watson Research Center	Yorktown Heights, NY (4/97 to 10/98)
Software Engineer/Consultant
	Using JBuilder and VisualAge, wrote various Java programs to support web-based systems management. 
•	Designed DB2 database to hold precise descriptions of desktop PC systems, software updates and rules which were used to determine which updates applied to such systems.
•	Wrote Java/JDBC program to evaluate rules stored in the database via a rather interesting SQL query.
•	Using JBuilder, implemented the prototype of a UI tool used to create and browse the content of our rule/update database.  Also wrote simple programs to initialize the database using JDBC.
•	Using Delphi 3.0, designed a rule editor to graphically display the logical expressions that make up rules.
•	Assisted in the writing of several detailed, lengthy project proposals, as well as design documentation.

Early Professional Experience (Highlights)						 (1/81-2/97)

•	Several Windows applications using Delphi, Visual C++ (MFC) and Visual Basic, as well as desktop databases such as Access and Paradox.
•	Using Visual C++, designed and implemented the communications portion of two different PC to Host computer interfaces.  Design was characterized by the object-oriented state machine at its core.
•	Various Unix projects using Solaris and SCO Unix, C and Shell scripts.
•	Design and implementation of several MS-DOS GUI programs written in C.
•	Design and implementation of several embedded systems projects written in various assembly languages and C.
•	Wrote C Coding Standard, an entertaining document that fully described (in 44 pages) preferred C programming techniques and style.
•	Published invention disclosure for Trench Detection algorithm.
•	Designed real-time executive used on four simulations to maximize software reuse.  Its chief advantage:  it separated time-critical tasks of simulation (such as event detection) from processes suitable for background processing (such as changing the state of the interface being simulated).
•	Software Manager assisting director of R&D and supervising six programmers.