Ron Mak

Ronald Mak is a highly rated instructor of object-oriented analysis and design in C++, Java, and Python at San Jose State University in Silicon Valley. As a senior computer scientist at NASA and JPL, he developed software for major space missions, including the Mars rovers, the International Space Station, cubesats, and the Orion spacecraft. He was a research staff member at IBM Research, where he helped develop systems software for a supercomputer and software for an advanced data science project. He was the enterprise software strategist for the National Ignition Facility (NIF) at the Lawrence Livermore National Laboratory, which is making important breakthroughs in fusion energy. Earlier in his career, he was a software developer and engineering manager at various Silcon Valley companies, including Hewlett-Packard, Sun Microsystems, Apple, and several startups. He has degrees in the mathematical sciences and in computer science from Stanford University. He is an inventor on seven software patents. He has written books on compiler writing, software engineering, and numerical computation, which have been translated into several languages. Despite having done work on the relative motions of planets and calculations that involved Einstein’s theory of relativity, Ron is still amazed that the sun comes up each morning and that bicycles don’t tip over.

books by Ron Mak

Software Design for Python Programmers

  • MEAP began December 2024
  • Last updated November 2025
  • Publication in February 2026 (estimated)
  • ISBN 9781633439498
  • 475 pages (estimated)
  • printed in black & white
  • available in Russian

Software Design for Python Programmers helps you build software like the pros. In clear, jargon-free language it lays out the object-oriented design principles, practices, and patterns that you need to know to build scalable and maintainable applications. Throughout, you’ll find intuitive “before” and “after” examples that show you what bad code looks like, and how to fix it with the right pattern. Conversation sidebars feature engaging talking heads that ask-and-answer common questions. If you know the basics of Python code and are ready to make the leap to building software, this book will be the patient and insightful mentor you need!