- Wide ranging background in distributed systems, web applications, communications, software tools, and programming languages.
- Helping teams to remodularize their software applications to improve scalability.
- High-Level Languages: Java, C/C++, Pascal, Ada, FORTRAN
- Scripting Languages: HTML, Perl, Python, Tcl/Tk, Visual Basic
- Operating Systems: Windows, Linux, MacOSX
- Development Tools: Eclipse, git, Perforce, Subversion, CVS, make, ant, Maven
- Open Source: git contributor, DepAn developer
Pnambic Computing, Owner/President (2015-Present)
- Freelance consultant working with teams to remodularize their software applications for improved scalability.
- Development of DepAn, a direct manipulation tool for visualization, analysis, and refactoring of dependencies in large applications.
ServiceNow, Principal Software Engineer (2010-2015)
- Restructured monolithic application into componentized modules.
- Delivered common engineering toolset to expanding (300+) development team.
- Extended database connection pool for multiple pool, better multi-thread support.
- Improved text search subsystem. Maintained query parsing, added Unicode support, revised indexing structures.
- Revised query-result handling for improved robustness and scaling.
- Revised import process, standardizing the handling of coalesced record types.
- Developed in-browser “list edit” feature, supporting spreadsheet-like database updates.
- Developed social media posting application, with groups, replies, and following capabilities.
Google, Senior Software Engineer (2004-2010)
- Enhancements and deployment of internal sales-support application.
- Design and development with team of an internationalizable shopping cart totaler.
- Deployment and maintenance of customized iGoogle gadget container.
- Design and development with team on Google Local Business Ads.
- Componentized major application, separating a Java hairball into 60+ components and 40+ shared libraries.
- Design and development with team on alert system for account management.
Pnambic Computing, Owner/President (1995-2004)
- Research into software engineering issues for compositional program construction. Used aspect-oriented techniques to implement a real-world application with Hyper/J.
- Developed web sites for a small business and a university department.
- Consulted with a packaged software developer to manage the software development process in a large (30) software development team.
Managed Ventures, Contractor (2003)
- Responsible for all inter-processor communications between a NetBeans based front-end and the Oracle data warehouse.
- Implemented query and grouping mechanisms for flexible scalable data presentations.
IBM T. J. Watson Research Center, Intern (2000)
- Research intern with the Software by Composition group. Developed bracket-from extensions to Hyper/J™ Java composition tool.
Microsoft Corporation, SDE/Workgroup Applications (1992-1995)
- Developer on Exchange™. Responsible for server store, including FastTransfer, the client-server batch transfer protocol for mail messages. Ported Exchange Server from x86 to Alpha and MIPS architectures.
- Responsible for programmability in forms routing package. Integrated Object Basic with the development environment and designed Object Basic extensions for forms routing.
Microsoft Corporation, Lead SDE/Systems Tools (1990-1992)
- Led the SCM version control project. Designed and implemented key version management algorithms and improved database performance three-fold in later stages.
- Initiated the SWAT bug tracking project. The design provided flexible data capture and state handling, with user customizable windows.
- Standardized internal distribution of Microsoft products and development tools.
Boeing Aerospace, Software Engineer (1987-1990)
- Led the development of a portable object-oriented CASE system. The team developed versions for both VAX/VMS and UNIX engineering workstations.
- Designed a user interface tool kit to support multiple environments. The team implemented versions to support both the X windowing system and a command line environment.
Simpact Corporation, Software Engineer, 1985-1987
- Designed and implemented an interprocessor communications package for a real-time remote monitoring system. The package supported synchronization of telemetry data, diskless boot, remote terminal access, database download, and error-recovery capabilities.
Software Products, International, Programmer (1983-1985)
- Created a programming language with embedded SQL operations for a relational database.
- Developed a serial communications package for a PC.
Science Applications, Incorporated, Software Engineer (1980-1983)
- Constructed the parser for an Ada compiler.
- Developed a serial communications package.
- Implemented an electronic mail system for a PDP-11.
- Developed data processing and simulation programs for commercial research groups.
University of California, San Diego, Assistant Programmer (1978-1980)
- Developed data processing and simulation programs for university and government research groups.
Master of Science in Computer Science
June 2002 University of California, San Diego
- Concentration in Software Engineering
Bachelor of Arts in Computer Science
June 1981 University of California, San Diego
- Physics and Economics minors
Contributor to the DepAn open-source project (on GitHub).
Certified ScrumMaster®, ScrumAlliance (329832)
Excellence Award, Team T.E.E.T.H, 2015 Co-making the Future – China-US Young Maker Competition, Chengdu, China, http://2015.chinaus-maker.org/