EDUCATION B.A., St. Olaf College, Northfield, Minnesota, 1986. Degree in Computing Science through the St. Olaf Paracollege, an open education program modeled (loosely) after the Oxford University tutorial system. Related course work includes: Software: Computer Organization; Data Structures and Algorithms; Database Systems; Compiler Design Seminar. Hardware: Microprocessors. Mathematics: Calculus; Abstract Algebra; Discrete Mathematics. EMPLOYMENT HISTORY
Caspian Networks, Inc., San Jose, California.
September 2002 – present: Director of Networking and Management Software
September 2002 – present: General Manager, Minnesota development office
Optical Solutions, Inc., Minneapolis, Minnesota.
May 2002 – August 2002: Director of Software
November 2000 – May 2002: Manager of Data Switching Software
Ziga Systems Corporation (co-founder), Golden Valley, Minnesota. March 1998 – November 2000: Vice President of Software Development.
Ascend Communications (now part of Lucent Technologies InterNetworking Systems). High Performance Networking Division (formerly NetStar, Inc.), Eden Prairie, Minnesota.
January 1998 – March 1998: Dynamic Routing Team Lead.
August 1995 – March 1998: Principal Software Architect.
Manager of Software Architecture and Protocols group (August 1996 – August 1997)
NetStar, Inc., Eden Prairie, Minnesota.
April 1995 – August 1995: Principal Software Engineer. Acting Software Manager, July 1995 – August 1995.
August 1993 – April 1995: Senior Software Engineer.
Cray Research, Inc., Eagan, Minnesota.
1992 – August 1993: Senior Programmer/Analyst II;
December 1990 – 1992: Senior Programmer/Analyst I.
October 1985 – December 1990: Programmer/Analyst.
Project leader for installation, configuration and packaging software (July 1991 – August 1993).
Member of TCP/IP Networking group (October 1988 – July 1991).
System administrator for Cray-2 Software Development (October 1985 – October 1988).
Computer Consoles, Inc. (since acquired by ICL). Office Systems Group, Reston, Virginia. September 1983 – October 1985: Software Engineer. Senior group member, word processor development.
St. Olaf College, Northfield, Minnesota. May 1981 – September 1983: Professional Programmer. Applications programming, microcomputer systems manager.
NOTEWORTHY MANAGERIAL WORK
As founder of the SCons project, have been responsible for management for a group of volunteer Open Source developers, including coordination of development efforts, communication through email and web site maintenance, and steering the project through decisions about development methodology, architecture, integration and testing strategy, documentation, etc.
At Caspian Networks, managed 50 software engineers across three development sites, including responsibility for operating and capital budgets. Managed the team through a RIF, including responsibility for selecting candidates, messaging, and team leadership afterwards. Assumed release management responsibilities, including collection of ongoing development status and coordinating release schedules and naming.
At Optical Solutions, managed a team of 30 software engineers after promotion from managing a single group of six. Managed the team through a RIF as a new director, including responsibility for selecting candidates, messaging, and team leadership afterwards.
At Ziga Systems, led searches for and hired all software development personnel, and led search to expand the executive team.
NOTEWORTHY COMPUTING WORK
Presented a paper on SCons Design and Development at the Tenth International Python Conference, February 2002. Nominee for best paper award.
Founder of the SCons project, June 2001. Principal architect, integrator, and project manager for this Open Source Python-based build tool, based on the winning design in the Software Carpentry build tool competition.
Winner of the Software Carpentry SC Build software design competition, August 2000.
Architect of key subsystems of the Ziga Systems Corp. zNAP, including:
designing and implementing extensible lookup algorithm;
creating network object framework for downloadable extensibility of its multi-gigabit packet forwarding;
build and packaging infrastructure.
Principal architect of system-level software for the Lucent Technologies GRF Multigigabit Router (formerly the Ascend Communications GRF IP Switch, formerly the NetStar GigaRouter), including:
designing proprietary internal protocols for addressing and communication between GigaRouter media cards;
designing and implementing a BSD/OS (UNIX) kernel socket layer for internal GigaRouter protocols;
designing and implementing GigaRouter administrative applications;
designing and implementing an SNMP-like internal protocol for setting and fetching configuration information on GigaRouter media cards;
reimplementing a dynamic array library for GigaRouter media cards;
designing and implementing the memory allocation library for GigaRouter media cards;
writing GigaRouter installation software;
serving as source code integrator for the software development team;
working as part of a team designing and implementing IEEE 802.1d-compliant bridging for the GigaRouter;
re-designing and implementing the IP (version 4) forwarding stack used by GigaRouter media cards;
implementing MAC-Layer Standby Protocol.
Active participant in the community maintaining and extending Cons, an open-source software construction utility with significant advantages over Make. Added a Repository feature that is an improvement on Make’s VPATH feature. Created a regression test suite for Cons. Current maintainer of the Cons FAQ. Current integrator and release coordinator for development versions of Cons.
Content maintainer of the web site for the Rose Ensemble. Responsible for current pages, supporting scripts, etc. (everything except the actual visual design).
Project leader for UNICOS menu-driven installation, configuration and packaging software. In this role, provided technical leadership and direction for a section of 10 people.
Project leader for UNICOS networking installability project. Ported BIND (BSD domain name server) and GateD (multi-protocol routing daemon) to Cray processors.
Designed and implemented support of a multiple-root environments under UNICOS to allow easy sharing of resources between development and production efforts. Standardized electronic mail administration on 1000+ hosts on Cray’s internal network (i.e., was the original Cray mail guru).
Modifications to the word processor in CCI’s OFFICEPOWER office automation system:
implemented a block insert mode to offload WP functionality to an intelligent terminal;
designed and implemented fault-tolerant crash recovery for documents;
integrated third-party spell-check software into the system;
designed proportional spacing enhancement;
hacked in a an easter-egg signature (displayed in response to an odd key sequence) crediting the word processor’s authors the day before I left.
Added a multi-format device driver for a DEC RX02 8-inch floppy disk drive (!) to V7 UNIX kernel.
Wrote software and documentation for a text formatter used on three operating systems (UNIX, HDOS, CP/M) at St. Olaf College, Luther College, and the University of Minnesota-Duluth. Designed and wrote a companion text editor at St. Olaf College.
Operating Systems: UNIX (V7, SYSV, 4.3BSD, UNICOS, Solaris, BSD/OS, Linux), Windows NT. Passing familiarity with (used) MS-DOS, Windows 95, MacOS.
Ziga Systems Corporation, Golden Valley, Minnesota. March 1998 – November 2000: Member of Board of Directors
NOTEWORTHY BUSINESS DEVELOPMENT WORK
Member of team negotiating acqusition of Ziga Systems Corp. by Optical Solutions, Inc.
Technology consultant to unnamed Fortune 500 company during acquisition due diligence process, August – September 2000. Responsible for evaluating and reporting on viability of IP forwarding and dynamic routing technology of an early-stage company.
PERSONAL DATA AND ADDITIONAL INFORMATION Age: 42 Outside interests: Early music; medieval and renaissance musicology; professional tenor (and haut-contre wanna-be); music theory and composition; film (esp. animated film); investing; accounting. References: Available upon request.