Keith Beattie ksb@icds.org 424 61st Street www.icds.org/resume Oakland, CA 94609 s u m m a r y - Snapshot: 15 years software development experience, deep understanding of effective software development and release management practices - particularly with respect to web applications. Excellent written and verbal communication skills, meticulous attention to detail, expert level Unix user and CVS administration knowledge - Fields: Object-Oriented design and development, Release Engineering, Source Code Management, Configuration Management, multi-threaded programming, multicast communication. - Languages: Java, Python, Bourne Shell, XML, XSLT, SQL, C, C++, HTML, Perl - Tools: CVS, ssh, make, Subversion, Ant, emacs, gcc, Maven, JUnit, Oracle, ClearCase - OSs: Unix (FreeBSD, Linux, Solaris), MacOSX, WinXP e x p e r i e n c e Lawrence Berkeley Laboratory, Berkeley Aug 2002 - Present Computer Systems Engineer II: Distributed Scientific Group, Distributed Systems Dept. IceCube - An NSF funded, international high-energy neutrino detector being installed in the clear deep ice below the South Pole. Managing the test, integration and release of the surface data acquisition (DAQ) software subsystem: set up Mantis for issue tracking, CruiseControl for continuous builds, wrote SQL/JDBC initialization & XSLT cluster configuration and sh/ssh deployment components, oversaw the build out of a local test/integration staging system, coordinate communication and planing between geographically and organizationally diverse collaborators. Akenti project - An authorization policy engine written in Java, C and C++, using digitally-signed certificates (PKI) to define and enforce an access policy for a set of distributed resources. Ported C/C++ side to gcc v3, eased development and distribution by reworking GNU Autoconf configuration and split out Java side to use Ant for building. PyGridWare project - A python implementation of the WS-Resource framework for interoperability with the Globus Toolkit. Wrote an initial implementation of the XMLDigSig specification in Python to provide message-level security via XML digital signatures. Bigstep, San Francisco Jan 1999 - Oct 2001 Sr. Release Engineer, Build & Configuration Manager (Sept 1999 - Oct 2001) Solely managed all aspects of source code management, builds, release, related tools and communication needs for a development team of up to 40 contributors in two geographic locations. Managed multiple Unix CVS repositories of over 13K files, 700K LOC (8K source files), with up to 4 concurrent branched major releases. Managed up to 4 concurrent release cycles varying in frequency from twice weekly to once per 4 months for major releases. Responsible for all builds, releases and related tools in one production to two QA environments. Developed a release validation harness and various shell and SQL tools for build and release. Trained engineers via in-house courses and individual instruction on CVS use, internal tools and sandbox maintenance. Coordinated development and release planning between Product Management, Product Development, QA and Network Operations groups. Software Engineer (Jan 1999 - Oct 2000) Core team engineer contributing to architecture and subsystem specifications, design and implementation of Java servlet engine and back-end DB schema. Technologies employed include Java Beans, JDBC, XML, SQL, Dynamo 4.5, Solaris and Oracle 8i. Sole developer for their 1st dynamo application: an authoring tool which served as both a proof-of-concept test bed and as a 'bootstrap' tool for development of all the wizard-style tasks which forms the foundation of the service. Other projects included the event logging subsystem, DB XML batch updater and a contest to encourage customers to publish their sites. The Baan Company, Santa Clara May 1997 - Jan 1999 Technology Engineer II: Internet/Connectivity Group Designed and implemented Java-based middleware components for the Baan ERP system. Designed and implemented Java, C++, Visual Basic and COM interfaces to these middleware components. Assumed leadership role in their documentation, testing and internal distribution (to partners and other Baan developers). As member of the Baan Internet (BI) development team, designed and implemented a Java-based, thin-client GUI to the Baan ERP system. Lawrence Berkeley Laboratory, Berkeley Apr 1994 - May 1997 Graduate Research Assistant: ALS Distributed Collaboratory Responsible for the analysis, design and implementation of an object-oriented interface to a fault-tolerant, ordered multicast communication protocol for use by project components. Played fundamental role in the analysis and design of a distributed resource management system for control and coordination of project components. Conducted live video-conferencing demonstrations of project progress and contributed to project documentation. General Services Administration, San Francisco Sept 1991 - Apr 1994 Computer Programmer: Traffic Management Division, Federal Supply Service Bureau, GSA Responsible for the analysis, design, implementation, documentation, distribution, technical support and training for a freight carrier database system for the Traffic Management Division. This system consisted of a data entry tool, a data modification tool and a report generator which avoided the manual collection, storage and retrieval of commercial freight carrier rates resulting in a dramatic increase of Traffic Management Division's productivity. t e a c h i n g & p u b l i c a t i o n s College of Notre Dame, San Mateo Summer 1999 Lecturer: Mathematics and Computer Science Department Instructor for 2nd Semester Java course covering advanced Java programming topics: Object-Oriented programming & design, Exceptions, Standard utilities & data types, Threads, Network & File I/O and AWT. Maximum Linux Oct 1999 Contributing Writer Wrote articles for the premier issue of Maximum Linux: "12-Step: How to Install Linux" covering the installation of the Red Hat distribution and "X Window 101" covering the basic architecture of the Unix X window system. Boot Magazine Nov 1997 Contributing Writer Wrote its first Linux article: "12-Step: How to Install Linux" covering the installation of the Debian distribution of Linux. The popularity of this article, in part, led to its creation of the Maximum Linux publication. San Francisco State University, San Francisco Jan 1991 - Jan 1993 Lecturer: Mathematics Department Instructor of introductory and intermediate algebra courses. e d u c a t i o n Master of Science in Computer Science, San Francisco State University 1997 Thesis title: "An Object-Oriented Interface To Reliable, Ordered Multicast Communication" Bachelor of Arts in Mathematics, San Francisco State University 1990 i n t e r e s t s & a c t i v i t i e s Genetic algorithms, open-source software, guitar, bass & piano, snow-boarding, yoga, chess, puzzles, passionate debates.