Educator, author, senior computer scientist, chief data scientist, project manager, software engineer.
- Highly rated instructor of undergraduate and graduate courses in the Department of Computer Science, Department of Computer Engineering, and the Department of Software Engineering, San Jose State University
- Author of popular books on software technologies
- Chief Data Scientist, IDXP Analytics
- Co-founder, LearningJack.com
- Senior Scientist at NASA on projects that included leading the development of software for the Mars Exploration Rovers mission and a testing and simulation laboratory for a major clustered satellite project
- Research Staff Member at IBM Research on a project to integrate multiple heterogeneous data and simulation models in order to research the nation’s obesity problem
- Enterprise Software Strategist at the Lawrence Livermore National Laboratory for the National Ignition Facility (NIF), a major laser-based fusion energy project
- Engineering manager at Sun Microsystems, Inc
- Senior software engineer at Hewlett-Packard, Apple, and other Silicon Valley companies
- Faculty positions at the University of California, Santa Cruz, and at Santa Clara University
- Data Synchronization between Different Simulation Models, joint patent (pending)
- Time Synchronization between Different Simulation Models, joint patent (pending)
- Writing Compilers and Interpreters, 3rd ed.: A Software Engineering Approach. New York: Wiley, 2009. ISBN 978-0-470-17707-5. 840 pp.
- Beautiful Code: Leading Programmers Explain How They Think. Sebastopol, CA: O’Reilly, 2007. ISBN 0-596-51004-6. 595 pp. Contributed Chapter 20: “A Highly Reliable Enterprise System for NASA’s Mars Rover Mission.” 2008 Jolt Award winner.
- The Martian Principles for Successful Enterprise Systems: 20 Lessons Learned from NASA’s Mars Exploration Rover Mission. New York: Wiley, 2006. ISBN 0471789658. 138 pp.
- Java Number Cruncher: The Java Programmer’s Guide to Numerical Computing. New Jersey: Prentice Hall PTR, 2003. ISBN 0-13-046041-9. 464 pp.
- articles in refereed technical journals
- MS, Computer Science/Computer Engineering, Stanford University
- BS (with distinction), Mathematical Sciences, Stanford University