Not currently seeking a new job. Please do not contact me about contract positions.
Authorized to work in the US for any employer
November 2013 to Present
Instrumented Boxcar (an Indeed library and protocol for load-balanced, distributed services) to collect request samples from production services. Wrote load tests and regression tests that use Boxcar samples to test Indeed's job search backend.
Load-tested Indeed's home page and made changes to improve its capacity by more than an order of magnitude.
Worked on a Docker-based framework for specifying and running integration tests of distributed systems.
Wrote an HTTP/IMAP bridge that allowed QA staff to access email using Selenium IDE.
Ran scalability test for a file distribution system on EC2.
Worked with developers to measure and improve performance of a multi-stage, distributed system for generating and sending large volumes of email.
Led a company-wide effort to update our systems to Java 8. Fixed bugs and performance problems related to the Java 8 upgrade.
2008 to 2013
2008 - 2013
Tango Health has a cloud-hosted, browser-based service for managing health savings
accounts. It targets companies offering high-deduction health insurance to their employees.
Was with the company from its inception. Helped with technology evaluation and initial product
definition. Analyzed usage patterns from production database. Owned manual testing on desktop & mobile devices, maintaining QA environment on Amazon EC2, writing test plan,
API-level test automation (written in Clojure & Java), performance tests, usability tests.
Supervised one other tester. Linux, Java, Clojure, Postgresql.
Test Lead, Works
2004 to 2007
Works hosts a web-based service, called Payment Manager, for managing payment card
programs. The product is a leader in its market. Payment Manager is large and complex and has several thousand companies as active customers.
Worked with player/coach QA manager and 3-5 individual contributors to apply some rigor to how they invested their time, scoped their work, and documented their test cases for re-use.
Analyzed data from production system to identify usage patterns. Wrote a Java-based
framework for automated, API-level testing, and wrote test suites on top of that framework. As of this writing, the QA team still uses that framework. Windows, Linux, Java, XML, XSL, MS SQL.
2002 to 2004
Planned and oversaw testing for several development projects: test scoping, test cases,
execution plan, defect triage. Test team as large as twelve. Replaced manual smoke test
process with automated, per-build installs and testing. Helped write design docs. Established
product performance goals. Worked with customers on product issues. Solaris, Windows, Java,
Python, XML, XSL, Tomcat.
1998 to 2002
help system for our first client software. Ported our client software from Windows to Solaris.
Implemented content syndication mechanism for distributing diagnostics and static documents to our customers. Worked on rewrite of content management system. Met with customers regarding about our content management strategy. Solaris, Windows, Java, XML, C, JDBC.
1992 to 1998
Helped develop user interface infrastructure (Dialog Specification Language compiler and runtime, display server, gadget library) for Tivoli's systems management products. Led I18N
efforts. Interviewed and selected a vendor to outsource I18N/L10N work. Developer for Courier,
Tivoli's software distribution product. Worked on an internet security scanner. Visited customers to help close deals, establish beta-tests, and troubleshoot product problems. Windows, various
UNIX, C, CORBA, X-Windows, Motif.
1990 to 1992
Graphics/user interface for geologic software company.
1987 to 1990
Developer for standards-based graphics APIs (CGI/CGM/GKS). Developed CGI renderers,
primarily for TI-34010 based graphics controllers. Worked on site at Nova Graphics Japan on development projects. Met with customers and prospects in the United States and
1985 to 1987
Developer for graphics renderer for PDP-11 based data acquisition system.
1984 to 1985
Worked on device-independent graphics package for geologic software company.
BS in Computer Science
MS in Computer Science
Systems for automated identification and processing of qualifying expenses for tax-advantaged accounts and automated initiation of related account transactions (#8,392,310)
Permission-based scanning of a web site (#US6530022 B1)
Systems for automated identification and processing of qualifying expenses for tax-advantaged accounts and automated initiation of related account transactions (#US 6182227 B1)
A Funny Thing Happened on the Way to Java 8
An article on how I diagnosed a Java 8 performance problem using Linux perf_events and flame graphs. Published to the public-facing Indeed engineering blog.