Robert W. Vawter III (bob@vawter.org)
Home address: 1063 Morse Ave #7206
Sunnyvale, CA 94089
(408) 203-7369

Objective:

Seeking a to-hire position specializing in Java development, network management, or Unix administration.

Work Experience:

Research Actualization Engineer
Mountain View, CA
April 2007 — Present

Contributor to the Google Web Toolkit and internal tooling to support GWT development.

Site Reliability Engineer
Mountain View, CA
Sep. 2005 — March 2007

Found a position specializing in Java development, network management, and Unix administration.

Software Engineer
Washington, DC
Oct. 2004 — Aug. 2005

Performed software engineering duties to create and deploy software running under the Blackboard Learning System 6.x (Enterprise). This software is delivered as "Building Block" modules. Learning Objects produces a core product suite called Campus Pack that consists of four building blocks, Teams LX (wiki software), Journal LX (blogging software), Backpack LX (personal publishing), and Search LX (full-text search). Additionally, Learning Objects performs consulting work to develop custom software solutions for its clients.

Core Skills Used:

Java development: Building Blocks are Java web applications that have additional meta-data to allow integration into the Blackboard system. Additionally, they rely on Blackboard's data-persistence and -presentation middle-ware.

Blackboard Learning System: Experience with installation, maintenance, and development of Blackboard Learning System 6.x servers in stand-alone and load-balanced configurations.

Consulting: Worked with customers to design, implement, and deliver custom building blocks to solve unique problems. Provided follow-on support and additional development as necessary to fulfill contractual obligations. Worked to leverage custom code into future development plans to create new products to extend the services that Learning Objects can provide to its customers.

AskThemOnline
Partner & Lead Programmer
www.AskThemOnline.com
Jun. 1998 — Present

Developed AskThemOnline, a form-based, data-collection program designed to conduct questionnaires, surveys, and other data over the Internet. A companion program, ScriptWriter, was developed to interactively build the AskThemOnline forms. AskThemOnline also provides custom application development in addition to the form-based services.

Core Skills Used:

ATO server: The AskThemOnline server is written in Java, using Servlets, hosted by an Apache+Tomcat server. It stores data in a PostgreSQL RDBMS using a JDBC conduit, and also uses JNDI to interact with the servlet container for configuration. To restrict access to certain forms, an OpenLDAP server is used to store user information allowing for centralized management of form security. The JavaMail API is used by the ATO server to send email to form owners and to provide "receipt" functions. Extensive use of JavaBeans are made to generate and process forms and form elements.

The AskThemOnline server has an Apache HTTP server to talk with users' browsers. This server will forward requests to Tomcat application servers via a JK conduit. This allows for automatic load-balancing and server fail-over. All session data is stored in a distributed manner so that the failure of an application server will not affect the user's experience.

ScriptWriter: SW is written in Java, using Swing as the UI toolkit. It is written to be as cross-platform as possible, and also supports Java WebStart environments. Created scripts are stored in an XML format, which is made relatively simple because the form items, as well as the form itself, are implemented as Java Beans.

PHP/JSP: After data is collected, custom reports and web applications are written for the customers. These are written in PHP and JSP, taking data from the ATO server's PostgreSQL database. Additionally, the AskThemOnline website is written in JSP and integrates the AskThemOnline form processing software with a content-management system to allow customer self-service.

IBM, Pervasive Computing
Software Developer, Supplemental
RTP, NC
May 2002 — August 2002
June 2001 — Dec 2001

Designed and developed a prototype, Java-based software installer to automate installation and configuration of a suite of products, and worked on expanding the prototype into the installer for the WebSphere Portal Offering software release. In the second year, development of the prior year's installer project continued, expanding it to support multiple OS/hardware platforms (Win32, AIX, Solaris, Linux/x86, and Linux/S390) and multiple software offerings with a single, integrated code base. Developed a PHP-based job management system for automating software builds and maintenance tasks, and assisted in the general maintenance of the departmental server.

Core Skills Used:

Operating Systems: AIX 4, 5L, Solaris 7, 8, Suse Linux, RedHat Linux. I have experience installing and administering all of these operating systems.

Java Technologies: Swing, LDAP integration via JNDI, database server interface via JDBC. Heavy emphasis was placed on modular, object-oriented design of the installer. Also important was separating the platform-dependent "control" portions of the code from the platform- and product-specific installation and configuration code. JNI methods were used extensively on Win32, while the Unix platforms relied on shell scripting, Bourne-compatible and KSH, to interact with the system.

Databases: The installer was required to support IBM's DB2 and Oracle 8 database systems. I have experience installing these databases and interacting with them through their administrative consoles and through SQL queries. The PHP job-control system used PostgreSQL as its data-store.

Software: By the end of Summer 2002, the installer supported more than 30 pieces of software to be automatically installed and configured. My assigned products included DB2, SecureWay Directory Server, IBM HTTP Server, as well as a collection of common libraries.

Miscellaneous skills: My work at IBM taught me how to work effectively in a team environment, learning how to share tasks with other people, and to communicate effectively to keep my team members up to date on changes made and changes being considered. Also, I learned how to take requirements for the software, recommendations and comments from the team, and lessons from my own experiences, and turn these into a functional product.

Technical Experience:

Programming Languages:

Java (8 years) is my primary development language. Experience with:

  • GUI design using the AWT and Swing toolkits, with emphasis on Human Factors and Accessibility
  • Web Services using Servlets, JSP, JDBC database interfaces, and JNDI (LDAP server interface)
  • Hibernate object-relational persistence layer
  • J2EE technologies, including XML (DOM and SAX models) and JavaBeans component model
  • Perl, Python, PHP: Experience in using these languages for Internet applications, rapid development and prototyping, and data-processing.
  • Unix Scripting: Many of my administration duties have included automation of maintenance tasks using AWK, Perl, and the "standard UNIX toolkit".

Operating Systems:

Experience installing and maintaining Linux (Slackware, RedHat, Gentoo), Apple Mac OS X , AIX 4 & 5, *BSD, and Solaris 8 Unix machines. I have been using and maintaining Unix systems for 8 years, primarily Linux machines, on occasions using OpenMosix clustering environments, and IBM's Enterprise Volume Management System.

Experience with all versions of Microsoft Windows.

Other Software:

Databases: Oracle 8, DB2 v7.x, PostgreSQL. I can install, configure, and maintain these RDMS products. I am proficient in SQL and database design and have experience interfacing with these databases through their GUI management tools, as well as being able to use lower-level tools, such as Oracle's "sqlplus" and PostgreSQL's "psql". I am also familiar with the "on-disk" layouts of these databases for tuning and maintenance purposes. PostgreSQL is my "primary" database, which I have three years of experience with, and have developed Java and PHP applications to use PostgreSQL. I have one year of DB2 and Oracle experience, and have used Java and shell scripting to interact with them.

Application Servers: WebSphere AppServer, Apache+Tomcat. I have used both of these products as Servlet and Java Server Page (JSP) containers and am familiar with installation, configuration, and maintenance of these servers.

Virtualization systems: VMWare GSX in both server consolidation and terminal-services roles.

Learning Systems: Blackboard Learning System 6.x Enterprise + Portal (aka Community)

FAQ:

  • I am willing to relocate.
  • I do not have a security clearance, however I have no criminal record, nor should there be anything to prevent me from passing a background check.
  • "Vawter" has two syllables. The first one is pronounced like the word "jaw", except with a "V" sound. The second one sounds just like the "-ter" in "water".
  • I describe myself as a Professional Computer Geek. Besides a propensity towards odd hours, I enjoy what I do and learning about new things. My work is not just a paycheck, but something that I find personally fulfilling.

Thank you for reading. Have a nice day. Images and text are Copyright 2007 Robert W. Vawter III. Valid XHTML 1.0! Valid CSS!