Robert L. White

Sr. Software Engineer/Architect

 


11806 Easthampton Dr. Tampa, FL 33626-2647

BobWhite@writeMe.com

Home: (727) 490-7363

Cell: (727) 463-6061

Skill Index

  Java. Delphi. C/C++. VB. XML.            User Interface. HTML. Javascript, GUI. Windows.

  Object-oriented design.                       Software Architect:  Problem solving and Analysis.

  WebSphere administration.               DB2, MySQL administration

  Linux, Aix, Apache administration.    Perl, JavaScript, groovy.

  Relational Database Design.             All stages:  Design/Implement/Document.

  Over 23 years of 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.

 

Skill Summary

Operating Systems

Extensive:         Windows (95/98, NT, 2000,XP), UNIX

Moderate:          Aix, Linux

Languages

Expert:              Java, C/C++, XML, Object Pascal/Delphi, Assembly.

Extensive:         HTML, XSLT, XPath, JavaScript, SQL, Visual Basic.

Moderate:          Shell scripts (bash), perl, awk

Application Frameworks & APIs

Extensive:         Java2, J2EE, JDBC, JFC/Swing, JAXP, DOM, JavaMail, JNI, JMS, JSP/Model 2.

Moderate:          MFC. AWT. Struts.

Application Servers

Moderate:          WebSphere 5.0, Geronimo 1.0, Jakarta Tomcat 5.5, WebLogic 5.1

Databases

Extensive:         UDB. DB2.

Moderate:          Sybase.  MySQL.  Oracle. Access.  Paradox.

 

Tools

IDE:                  JBuilder X, Stylus Studio, ER/Win, eclipse, WebSphere Studio AD

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)

Software Architect

·         Java, JavaMail, JSP, XML/XSLT, DB2, JDBC, WebSphere, Tomcat, Aix, Linux, groovy.

·         Ported major web application from WebSphere under Aix to Tomcat under Linux.

·         Administered seven SuSE Linux servers (using YaST2 and Webmin).

·         Built a fast rule-processing engine to sift through e-mail messages, detach data files from some, forward some and delete others, according to certain rules.  Designed database tables to hold the rules. 

·         Wrote Java program to upload hundreds of data files of various data formats to a central inventory table.

·         Designed and implemented program to update the DB2 rulebase via an XML rules file.

·         Designed and implemented Swing mail client used to examine messages and mark individual messages for deletion or rule processing.

·         Designed and implemented several utilities to store and retrieve XSL files from either database or via HTTP, according to rules specified in an XML configuration file.

·         Wrote printer driver for barcode printer.

·         Wrote Java code to print simple pages and route PostScript output to appropriate Aix & Linux print queues.

·         Using Delphi, wrote an ActiveX control to print pages from within a web page without invoking the print dialog.

·         Analyzed workflow and clarified UI specifications for web-based warehouse inventory system.

·         Gathered requirements, wrote specifications and designed a major rewrite of our database update process.  New version contains a web-based UI to administer the process and view its status and history. 

·         Installed, configured and administered WebSphere and IBM HTTP Server (Apache) v2.0.

·         Wrote various Java utilities to capture system and user data; then wrote awk programs to extract data into CSV form so that it could be graphed and analyzed.

·         Debugged and maintained thousands of lines of existing rookie Java code.

·         Installed and maintained CVS repository, as well as WinCVS clients.

·         Instructed and mentored less experienced colleagues.

·         Planned migration from DB2/WebSphere to open-source, clustered environment.

·         Wrote Windows program in Delphi and C that appeared as an icon in the Windows taskbar which used the contents of the Windows clipboard to perform a search of our parts database.  Also implemented a toolbar plug-in for Internet Explorer that works the same way.

 

 

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.

·         Using the J2EE blueprint, 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.