A version of this document is available in other formats.

Summary

Senior consultant with 20 years of experience and very strong software development, training, and coaching skills available to work full-time or part-time in Rhode Island, the Boston area, or remotely. Main software development skills include high proficiency in creating applications and frameworks using Java and JavaScript for a wide variety of environments, including the server, the web (server-side and client-side), the desktop, and mobile devices. Candidate has had second career as political consultant during which he has acquired and demonstrated unusual leadership and teamwork experience.

Experience and Accomplishments

Lead Developer, 1-800-MY-APPLE

Led the development of software that answers the phone when customers call the Apple Store in the United States, Canada, the United Kingdom, and Ireland.

Lead Developer, Finovate Conference Fall 2013 Best of Show

Developed award-winning application to illustrate how financial services companies can provide better telephone-based support to their customers. (Coverage from: BostInno)

Speaker, JavaOne Conference

Authored a presentation titled Patterns for Integrating Java and JavaScript Technology: Tales from the Front Lines and presented it to a large audience at the 2008 JavaOne Conference, the major industry conference for Java developers.

Authority on Java/JavaScript integration and Java/Cygwin

Interviewed by Java publication JAXEnter.com about the deprecation of the Nashorn JavaScript engine and its potential replacements (full interview). Cited in the Apache Ant reference manual, and often consulted by developers with questions about Cygwin, Java, and JNI.

Automated Testing Leader

Drove the adoption of unit testing on two projects: first, for the Mozilla Foundation, creating a Java environment in which the Firefox JavaScript conformance tests could be run against the Rhino JavaScript engine, and then for Apple, creating a unit testing framework so that unit tests could be authored for the 1-800-MY-APPLE telephone system in order to ensure it conversed correctly with callers, provided correct information to them, and routed calls to the correct human call center at the correct time.

Committer, Mozilla Foundation

One of the three project leads on the Mozilla Rhino project, a JavaScript interpreter written in Java which is bundled with the Java SDK (until Java 8) and many other products. Author of the E4X support for XML processing bundled with Rhino as well as the software used to verify conformance with the JavaScript specification and the Firefox JavaScript implementation, known as SpiderMonkey.

Oracle-Certified Java Enterprise Architect, Java Developer, Java Programmer

Have been the lead architect on over a dozen Java-based projects, using a wide array of technologies.

Java Instructor (Oracle-Certified), various schools

Taught Oracle (then Sun)-developed curriculum (SL-275), as well as custom-developed curriculum using Object-Oriented Programming in Java as the primary textbook.

Political Consultant

Recruited, motivated, trained, and coached volunteers and staff with various organizations, especially those advocating on behalf of the LGBT (lesbian, gay, bisexual, and transgender) community.

Friends of Justine Caldwell

Managed campaign for Justine Caldwell (spouse), a first-time candidate running against the Rhode Island House Deputy Minority Leader, to an upset victory in the November 2018 election. Developed a technology stack to guide canvassers through neighborhoods, enable tracking of interactions with voters, enable "second contact" interactions (via phone, E-mail, or mail) with voters who had been canvassed, and develop voter target lists for paid follow-up communication, including Facebook integration. Managed successful re-election campaign in 2020.

Los Angeles Gay & Lesbian Center, LGBT Mentoring Project, and other organizations

Worked in a consulting role with the staff of several organizations interested in doing much more effective political work. Primarily responsible for identifying and mentoring promising current and potential staff members with campaign organizations in order to improve their leadership and analytical skills. Other roles ranged from managing ten paid field staff working to win an election surrounding marriage for gay and lesbian couples in Maine to managing a campaign to verify student provisional ballots in Bowling Green, Ohio.

Heights Families for Equality

Ran campaign in which Cleveland Heights, Ohio became the first city in the country to pass a pro-gay ballot initiative. Organized a massive field campaign by recruiting and training over 1,000 volunteers, resulting in one-on-one conversations with nearly half the voters in Cleveland Heights using only volunteers and raising $85,000. Recruited and trained leaders to assume volunteer leadership roles in this effort. Responsible for dealing with the campaign's vendors.

Clients and Selected Projects

Proficiencies

Java

Java EE / Servers

  • Java Servlets, JSP
  • Spring (Boot, MVC, etc.)

Platforms

  • Tomcat
  • Google Cloud / Google App Engine
  • Amazon Web Services (AWS)
  • RabbitMQ, Kafka, Google Cloud PubSub

JVM Languages

  • JavaScript (Rhino, Nashorn, GraalVM)
  • Kotlin
  • Groovy

JavaScript / Web

  • HTML (including HTML5, XHTML)
  • CSS (including CSS3)
  • DOM

Frameworks, Libraries, APIs

  • React Native
  • React / Redux
  • AngularJS
  • jQuery
  • JavaScriptMVC
  • Google Chrome Extensions (with Native Messaging)
  • Node.js

Engines

  • Rhino
  • Nashorn
  • GraalVM
  • SpiderMonkey (Firefox)
  • v8 (Google Chrome, Node.js)

Architecture

Web

  • REST / HATEOAS
  • SOAP
  • OAuth2
  • Comet (HTTP server push)

Internet Protocols

  • HTTP
  • SMTP, POP, IMAP

Methodologies

  • Design Patterns
  • Dependency Injection
  • Functional Programming
  • Agile methods

Data

Relational Databases

  • MySQL
  • Oracle, including PL/SQL
  • Postgres (PostgreSQL)
  • Apache Derby
  • SQL Server

NoSQL Databases

  • MongoDB
  • Salesforce.com (Force.com, Database.com)
  • Google App Engine Datastore

Google Data APIs

  • Google Calendar API
  • Google Sheets API
  • Google Drive API
  • Google Identity Platform (OAuth2)
  • Google Maps API
  • Gmail API
  • Google Apps Script

Education

Case Western Reserve University
B.S. Computer Science, May 1995
Minor: Political Science