Andreas Guther 2500 Morning Sun Drive Richmond, CA 94806 Mobile (510) 333-2791 a.guther@guther.com Summary Over 10 years experience in software engineering as software analyst, designer, and developer of Object Oriented software. Developed components and frameworks for distributed, Internet-centric enterprise systems. Experienced in client and server side programming, relational databases, object modeling, and UI modeling. Comprehensive knowledge of build process and development tools like Maven, Ant, JUnit, and MockObjects. Skills Programming Java/J2EE, XML, XSLT, XSL-FO, XSD, Servlets, SQL, DHTML, CSS, JavaScript, JSP, Pascal, Delphi, PHP, Python Database MS SQL, MySQL, ORACLE, Paradox, DBASE Analysis, Design UML, Omondo, ArgoUML, Design Patterns Environments Windows, Linux, Solaris, HPUX, Maven, ANT, Tomcat, JBOSS, Apache, Jakarta-Commons, Jakarta FOP, SpringFramework, WebWork, Velocity, Eclipse, JBuilder, Delphi, CVS, Bugzilla, XDoclet Employment 09/2002-Present Senior Software Engineer PaymentOne, San Jose, CA PaymentOne is a start-up providing financial and customer management services for Internet service providers. Responsible for the overall architecture and development of a n-tiered reporting system comprised of various Java, XML, XSL, XSL-FO, JSP, JavaScript, DHTML, CSS and CORBA technologies using the Spring Framework and Struts Tiles. Solely developer of the client side application and major parts of the back end components. Contributed major parts for a Dependency Inversion Principle oriented architecture of a large scale n-tiered enterprise solution comprised of Java, J2EE, AOP, DHTML, Velocity, CORBA, ORACLE, CSS, JSP, and JavaScript. Solely developer of web based client side application as well as back end components. Assigned as technical lead in second half of project. Introduced company to Aspect Oriented Programming (AOP). Implemented logging Aspects using Jakarta Commons and Log4J. Developed second generation of API end user interfaces using Servlets, HTML, XML, and Velocity. Interfaces are defined in XML and once dropped into the application space are immediately available for usage. New interfaces can be specified within minutes by virtually anyone without any coding experience saving the company development time. Researched for a Document Management System (DMS) after the company canceled the purchase of a commercial DMS and introduced company to an Open Source DMS which has been used since and eliminated a high cost from the company's budget. Designed application framework using the Dependency Inversion Principle (DIP) and Dependency Injection pattern which supports the development of components easily testable in isolation and within a controlled environment. Improved overall code quality by introducing within the same project the company to MockObjects. The framework was successfully used in the companies Offer Management application, a large scale, n-tiered enterprise solution comprised of various Java, J2EE, and CORBA technologies, and contributed significantly to an application built on time and within budget with a very low bug rate. Developed a testing framework for Java code accessing databases. The framework is built on top of DbUnit with the goal to ease the set-up and usage of DbUnit. The framework allowed easy configuration of different database connections and DbUnit integration into test code with a few lines of code. Framework contributed to a wider acceptance of DbUnit usage due to its ease of use. Developed Web based requirements management system based on PHP and MySQL which provided management and developers with different views on the requirements and contributed to a solid development process. Improved and simplified the development environment set-up and build process dramatically by introducing Maven to the company. Since then Maven became the companies first choice of software project management and comprehension tools. Wrote Servlet based API interfaces which simplified the process of testing new developed APIs dramatically. The code base was written in Java. API interfaces specified in XML and XSL were used to transform the specification into pluggable Java classes and HTML interfaces. This made it possible to reduce the time necessary to provide new API test interfaces within less than an hour instead of a day. Automated process of writing table accessing JDBC based classes by designing and implementing a source code generator in Java that uses meta data and introspection provided by JDBC to generate the needed components. Usage of code generator cut down the time for providing those components dramatically and assured consistent and bug free code. Introduced project oriented mailing lists in Open Source development style with Mailman and its mailing archiving system which helps to keep track of project relevant information often only exchanged via email. Designed, developed, and since then maintained the company's internal developer portal web site, using Apache, HTML, CSS, PHP. Introduced company to Maven generated project sites. Introduced company to Test Driven Development using JUnit for general and DbUnit for database related tests. Since then evangelist within the company for development with JUnit and the xUnit testing family like XMLUnit, DbUnit, pyUnit, httpUnit, etc, which greatly improved the code quality and shortened QA cycles due to less bugs in initial QA hand overs. Participated in the architecture team for the company's new billing framework. Major contribution to the persistence layer as well as design and development of central business processing components. Since 2002 responsible for maintaining the Concurrent Versions System CVS and ViewCVS. Introduced to the company a Wiki web used since then for shared project and production issue documentation and which has improved the companies process of knowledge transfer. 07/2002-09/2002 Senior Software Engineer Contractor for NetFuel at PaymentOne Designed and implemented as contractor to PaymentOne a Servlet based Point of Sales application using WebWork, Hibernate, MS SQL, Javascript, and Cascading Style Sheets. Became full time employee after first phase of project was finished. 05/2001-06/2002 Senior Software Engineer NetFuel Inc., Saratoga CA NetFuel, Inc. is a small start-up developing applications for network processing devices. Participated in the design and led the quality assurance of a policy and agent based network management framework using Java and CORBA. Responsibilities included design, and maintenance of Infrastructure (Linux and Windows 2000), wireless and Ethernet, Project and Corporate Web Server, Development Process, Build Management with Ant, Design Reviews, Quality Assurance. Designed and lead the implementation of an internal email based Ticket Reporting system using Apache, PHP, HTML. 07/2000-05/2001 Senior Software Engineer Charles Schwab, Inc.—San Francisco, CA Charles Schwab, Inc. provides securities brokerage and financial services. Contractor for NetFuel on the Charles Schwab IPO project Java Application Group from July 2000 until March 2001. Led client side application architecture and GUI design, developed data processing applications in Java using CORBA and Swing. Responsible for continuous build integration using Make. 07/2000-05/2001 Senior Software Engineer Contractor to NetFuel Inc Designed and developed as contractor to NetFuel the company's web site using Apache, PHP, MySQL. 1997-2000 Software Developer, Researcher, Manager GMD FOKUS—Berlin, Germany The Fraunhofer Institute for Open Communication Systems FOKUS researches and develops mobile communication systems in wireless and wired networks. 1998-2000: Managed a European Union research project (budget over 2 Million) in Agent technology (MIAMI) with partners from Europe, Canada, and Japan. 1997-1998: Software Designer for Agent Technology-based Network Management. Research engineer for the German National Research Center for Information Technology in the Competence Center Intelligent Mobile Agents. 1996-1997: Designed and implemented management applications in a CORBA-based telecommunication environment using OMT, Java, and Design Patterns in the context of a TINA-Auxiliary Project at the German National Research Center for Information Technology. Co-authored book on Web publishing. 1993-1996 Software Developer Technical University Berlin—Berlin Germany Designed and implemented in UNIX environment Graphical User Interfaces for a tool set management application in Motif. Programmed in C. Editor for project deliverables in LaTeX. Team member of quality assurance group for JVTOS. Wrote user guide for JVTOS. 1991-1993 Software Developer AlphaSoft—Berlin, Germany Self-employed developer and company owner. Designed and implemented applications mostly for a travel agency using Borland Pascal and the Paradox Database. Memberships Professional Member of the Association for Computing Machinery (ACM) since 1995. Associate Member of the Institute of Electrical and Electronics Engineers, INC. (IEEE) since 1995. Miscellaneous Fluent in written and spoken English; Native language German; Green Card. Education Masters in Computer Science, Technical University Berlin, Germany; 1997