Jean Tessier    
Software craftsman with experience in agile practices and Java development of large scale web-based applications, looking for agile team doing Java and Ruby.

Test-Driven Development Java Servlet / JSP / WebWork
Pair Programming Ruby / RSpec HTML / HTTP
Object-Oriented Perl XML / XSLT
Design Patterns Shell Scripts JDBC / email

Work Experience

ShopWell Solutions Inc. (Palo Alto, CA) 10/2009 - present

Software Engineer
Keywords Groovy, Grails, Git, MySQL, MacOS X

Software developer in an early stage startup.

Dependency Finder (dependencyfinder.jeantessier.com) 01/2001 - present

Principal
Keywords Test-Driven Development, Design Patterns, Java, JSP, XML, XSLT, Subversion, SourceForge, Ant

Design, implement, and maintain an analytical library in Java to inspect compiled Java code for dependencies, API evolution, and OO metrics. Support multiple presentation modes: command-line, GUI, Ant tasks, and web application. Software Development magazine listed Dependency Finder as one of ten open source projects to watch in 2004.

Google Inc. (Mountain View, CA) 08/2005 - 10/2009

Software Engineer
Keywords Test-Driven Development, Pair Programming, Estimation Poker, Java, Guice, WebWork, jWebUnit, Selenium, Perforce, Git, Ruby, RSpec, Python, Sawzall, ClearSilver, MySQL, Linux

Backend developer on Google Apps' business offering, integrating distributed services using Google-proprietary asynchronous RPC technology.

Agile coach on many Java-based projects (Calendar, Docs, Orkut, AdSense). Coach teams on making developers more productive. Help refactor the code for maintainability and testability. Improve continuous build systems. Give training on code quality, including public articles on jMock and Guice.

Front-end developer on Google Base. Design, implement, and maintain a reporting feature for publishers resulting in 20% increase in dashboard views. Provide overall production support. Implement spot improvements for the main search front-end server. Mentor one summer intern in 2006 and one in 2007.

LinkedIn Corp. (Palo Alto, CA) 08/2004 - 08/2005

Senior Software Engineer
Keywords TDD, Java, JSP, XML, HtmlUnit, MaxQ, CVS, Oracle, XeriL, MacOS X

One of five developers of the software the company uses to run its public website. Most development items require code in the presentation layer as well as the business logic and persistence layers, and appropriate unit and acceptance tests. Short release cycles.

Vignette Corp. (San Francisco, CA) 12/2002 - 07/2004
Epicentric, Inc. (San Francisco, CA) (acquired by Vignette Corp.) 05/2000 - 12/2002

Software Architect
Keywords TDD, Pair Programming, Design Patterns, Java, JDBC, Servlets, JSP, XML, XSLT, UML, JRun, Tomcat, Oracle, SQL Server

Design, implement, and maintain core features of the Vignette Portal Server product. These features deal with scalability, clustering, and persistence of resources in the portal.

Project lead for reengineering of in-memory cache resulting in simpler design, plugin architecture, configurable and extensible caching behavior, and improved performance (test-driven development, iterative development, iteration planning game, 10 man-months). A 33% workforce reduction halfway and high interruption rate meant it was delivered on time but with reduced scope.

Lead developer for reengineering of hierarchical file system in relational database resulting in simpler design and improved performance (test-driven development, pair programming, planning, stand-up meetings, 20 man-months).

Lead developer for portal import/export feature to aggregate, serialize, parse, and recreate portal resources between installations (test-driven development, pair programming, planning, stand-up meetings, 12 man-months). US patent 7,293,070.

Lead developer for resource aggregration management in portal server (test-driven development, pair programming, planning, 10 man-months).

AT&T (Menlo Park, CA) 01/1999 - 05/2000
AT&T (Holmdel, NJ) 11/1995 - 12/1998

Senior Technical Staff Member
Keywords Design Patterns, Java, Servlets, SDS, Parlay, RMI, HTML, HTTP, CGI, Perl, Yados, CORBA, C++, Netscape Servers, Oracle, IRIX, 5ESS, CPDL, DOSS

On project "Unified Alerting", was key to the analysis, design, and implementation of a scalable real-time notification system for user communications. Also participated in an international, multi-corporation demo with the Parlay Consortium and mentored a summer intern.

On project "Click AT&T" (B2C E-Commerce), analyze, design, implement, and maintain all aspects of a distributed system for B2C E-Commerce, including core systems, user interfaces, and testing tools. Developed a distributed object prototyping platform in Perl. Mentor summer interns and new team members. US patent 6,047,268.

Téléglobe Canada Inc. (Montréal, Canada) 01/1993 - 10/1995

Contractor
Keywords Design Patterns, C++, Messaging, CMIS, ATM, Layla, xCoop

Responsible for analysis, design, and implementation of a C++ framework for OSI network management interfaces (X.700).

Editor of a standard on logging information, as part of the X.400 suite of standards on OSI email. Canada's delegate to ISO/IEC JTC 1/SC 18/WG 4 and ITU-T SG7 Q14 on OSI email.


Publications

Two-Stage Guice Provider
jeantessier.com, January 28, 2009

Mocking in Java: jMock vs. EasyMock
jeantessier.com, May 29, 2008

Method and system for deploying web components between portals in a portal framework
Moses, Petersen, Harbaugh, Chaston, Åkesson, Shue, Chauhan, Tessier
U.S. Patent No. 7,293,070, November 6, 2007

Method and apparatus for billing for transactions conducted over the internet
Bartoli, Griesmer, Lidor, Ronen, Tessier
U.S. Patent No. 6,047,268, April 4, 2000

Layla: Network Management Interfaces Framework
R. K. Keller, J. Tessier
Sidebar in Domain-Specific Application Frameworks, M. E. Fayad & R. E. Johnson, Wiley, 2000, pp 489-490

A Pattern System for Network Management Interfaces
R. K. Keller, J. Tessier, G. von Bochmann
Communications of the ACM, Sept. 1998, Vol. 41 No. 9

Education

MSc in Computer Science (Design Patterns in C++ for Network Management)
BSc in Computer Science
University of Montréal (Montréal, Canada)

Other Work

University of Montréal 05/1990 - 06/1995
Dept. of Computer Science
Assistant system administrator of UNIX network. Intern in the VLSI Laboratory programming CAD applications. Teaching assistant for Data Structures class and Operating System Theory class, both undergraduate classes with close to 100 students. Secretary (junior year) and president (senior year) of the student body.
Dept. of Classical & Medieval Studies
"Map of Paris In The XIVth Century": in a team of two, handled all information technology-related aspects of hypermedia software to help teachers of medieval studies present the city of Paris in the XIVth Century.