Seattle, WA 98103
Phone: (206) 388-8181
Thomas Tat-Man Yip
Looking for a challenging career involving cutting-edge technologies and working with a great team.
Unique combination of experience in Clustering, Persistence (O/R), Enterprise Systems, XML, GUI and open-source development with an inventor spirit.
· 7 years of programming in Java. Very solid OOP skills and concept.
· 6 years of open source development: as a project lead, contributor and user.
· 6 years of expertise with object/relational (O/R) mapping theories and implementations.
· 6 years on clustering, distributed, concurrent and high availability programming.
· 6 years on data persistence and transaction processing: JDBC, OQL, JDO and EJB CMP, and XA, JTA, and JCA.
· 6 years on J2EE, Web Services, and BPM (Business Process Management): EJB, Mail, Servlet, WSDL, SOAP, WS Addressing, BPML, BPEL, etc.
· 1.5 year of GUI development on Eclipse Platform, WTP.
· XML technologies: XML Schema, Data Binding, XPath, XSLT, Namespace and Schema validation.
· Enterprise systems: Oracle, MQ-Series, JMSs, WebLogic, iPlanet LDAP, Active Directory, Unix etc.
· Experienced 3 full development cycles of delivering enterprise software products to paid customers. Experienced 1 full development cycles of delivering Eclipse-base product.
· An enthusiastic, creative, innovative team player and quality oriented.
BEA Systems Sept 2004 – Present Seattle, WA
Senior Software Engineer
Main contributor of the new BEA Workshop 9.2 for WebLogic. Workshop is an IDE for J2EE development. It is based on Eclipse and its Webtools project (WTP).
· Developed 90% of code-base for WebLogic server adapter plugins of the Workshop product, including application packaging and deployment (jsr-88 API), configuration, debugger support, server starting/stopping, server state detection and watching, wizards and editor pages etc.
· Investigated, resolved and worked around integration issues with WTP, WebLogic server, classloader, threading, and platform (Windows and Linux) specific issues.
· Provide assistance of implementation of specific deployment and education of various eclipse and WTP concept to different teams.
· Provided initial feasibility analysis on porting BEA Workshop to Eclipse and Eclipse WTP platform. Implemented initial prototype for server adapter.
· Contributed to API/SPI design enhancement to the Server Adapter API, project facet (feature) API. Filed bugs, investigated problems and contributed patches to Eclipse WTP. Listed as a very active contributor.
Intalio, Inc. June 2000 – July 2004 San Jose, CA
Senior Software Engineer (Dec 2003 – July 2004)
Main contributor of the new architecture of the company’s flagship server side product, Intalio|n3 Server, a Business Process Management Server. The Server executes customizable business processes and workflows to orchestrate computer systems and people and to achieve business goals in an enterprise.
Promoted to Senior Software Engineer in Dec 2003
· Designed the symmetric message router, a simplified processes execution model, the proper transaction model, and a more efficient database schema and implemented them with the core team of six people. These designs are critical to enhance the overall server performance and scalability to workload dramatically, reduce the complexity, thus the development and maintenance cost, and simplify the development of customizable business processes.
· Co-designed and co-architected the high level clustering strategy with the core team. Implemented and unit tested the main clustering and distributed components, including clustered lock manager, work distribution service, clustered task scheduler, distributed message router and transaction utilities etc. It enables the business processes to be executed in parallel with balanced workloads on multiple computers. Over the two years, I contributed about a third of the Server’s code base, which is in the same level of complexity as an EJB Server.
· Responsible for the full development of various customer requested features. Coordinated testing effort and provided training to the support team. For example, porting the Server to AIX operating system, developing a security framework (DoA) on iPlanet Directory and Active Directory, developing high availability (fail-over) deployment to reduce downtimes of the Server that runs business critical processes.
Software Engineer (July 2002 – Nov 2003)
Cooperate strategy changes facilitate me to move away open source projects to proprietary projects. I become a main contributor of the company’s flagship product: Intalio|n3 Server and its backend components for the execution of business processes and connection to systems.
Outstanding (highest) rating in the yearly performance review in October 2002
· Designed, implemented, unit tested new and fixed existing features of BPM execution engine. Utilized technologies including XML, XSD, XPath, COBRA/RMI, JCA, EJB, WebDAV to communicate with backend systems.
· Produced documentation including requirement analysis, functional specification and design document for technical discussions and inter-teams communication, and to record architectural choices and rational for future references.
· Developed and maintained advanced features of Tyrex, a TP (Transaction Processing) monitor. Such as, locking, connection pooling, and system recovery. Utilized technologies including JTA, JCA, JDBC, XA distributed transaction and OTS that enables high integrity business transactions.
· Led the team to architect, design and implemented the first version of the Portal product. Using technologies such as Servlet (Catalina), CORBA/RMI, and WebDAV (Slide) to enable people/people and people/system communications.
Castor JDO Technical Lead (June 2000 – June 2002)
Responsible for technical aspects of the project Castor JDO (http://www.castor.org/), a strategic open-source project funded by Intalio at the time.
Appointed as Technical Lead of Castor JDO in Feb 2001
· Implemented advanced O/R functionalities, including many to many relationship support, lazy loading, multiple threads shared cache, enhanced the concurrent and locking model, improved the reliability and robustness etc. With my contributions, the project became the most popular and feature-rich open-source object-relational mapping framework for Java at the time.
· Integrated Castor JDO into Intalio C2 framework (Intalio version of a standard J2EE stack) for the first paid customer of Intalio: Apple Computer. It is what Apple WebObject Server is based on since version 5.0. It replaced their proprietary web application container.
· Researched on advanced O/R topics including proper OQL to SQL mapping, cross database query, long transaction etc.
· Coordinated and distributed tasks to contractors and independent open source developers.
· Evaluated and gave recommendations pertaining to the data persistence issues of the company’s flagship product.
Leafsoft.com Vancouver BC, Canada
Inventor (May 1999 – May 2000)
I was fascinated by the XML ideas in college years. I am very proud that I had extended the vision I had with XML into a full-time venture, and the inventions that I produced. Leafsoft.com is the place-holder company for these inventions.
· Invented a XML schema language, Leato.
· Implemented a working validator prototype that dynamically verifies the conformity of a XML document or fragment to any Leato schema. Similar feature had not been available to the market until years later.
· The validator supported references, extensible rules and efficient element look-ahead. At any point during validation, the look-ahead feature shows a list of all elements that compile to Leato schema. Leato is also designed to be suitable as a XML querying lauguage.
· Developed a highly extensible XML transformation framework Larix, similar to today’s Apache Jelly script.
1999 University of Victoria Victoria, BC Canada
· B.Sc., Computer Science, emphasis: System
Chinese ink painting, bowling, classic cars upgrade and maintenance, reading, current issues.
References available upon request