Mark Lutz's Resume Page

Preface

This page was last updated in early 2025. I publish a custom website at learning-python.com which hosts related content and is referenced throughout this page. Among the website's extras are a more concise statement of my career at the formal bio; a more comprehensive (and colorful) tour of my Python work at Teaching Python; and both code and documentation from recent development projects at the programs page.

Résumé of Mark Lutz

Contents:

  1. Summary
  2. Python Highlights
  3. Publications
  4. Education
  5. Later Experience
  6. Early Experience

Mark E. Lutz
[phone] please inquire by email
[email] lutz@learning-python.com
[website] https://learning-python.com

A computer software professional, with a background in both large-scale systems development and evangelizing new ideas, and experience that spans forty years in the software field, including three decades devoted to teaching classes and writing books about programming. Career highlights:

  • BS and MS degrees in Computer Science
  • Four decades of software development experience
  • Sole proprietor of a successful training business for two decades
  • Author of 15 programming books whose sales are approaching 1M units

I've spent over three decades promoting the Python programming language. This period's early years overlap with formal development work ahead, but its highlights merit calling out separately.

Summary

  • 1993 to present
  • Fully self-employed since 1999 as an independent trainer and writer
  • Taught 260 Python training sessions, in the US and abroad
  • Wrote multiple Python books, including Python's earliest and best-selling texts
  • Spoke at conferences, seminars, and user group meetings
  • Gave interviews, and wrote articles in industry publications
  • Developed open-source Python programs for both learners and users
  • Contributed to Python's rise from obscurity to a vast worldwide user base

Training

  • 1997 to 2016
  • Early leader in Python training services
  • Developed and presented a 3-day on-site Python training class
  • Delivered to numerous clients in the US and abroad
  • Taught 260 live and in-person sessions of this class
  • Further course details available at the former training website
  • Please see the Teaching Python page for a full list of classes

Writing

  • 1995 to present
  • Author of the best-selling Python books to date
  • Wrote 15 books: 3 titles in 4 to 6 editions each, spanning 12K total pages
  • Books' sales surpassed 750K units (copies) as of late 2020
  • Books translated to Japanese, French, German, Korean, Dutch, Chinese, Russian, other
  • Also wrote other book chapters and various articles
  • Please see Publications section below for a full list of publications

Development

  • Ongoing
  • Assorted Python-based and open-source programming projects
  • Web development tools, Mac OS ports and apps, Android apps
  • Published an Android+PCs local-sync app on Google Play and quixotely.com
  • Published an Android+PCs offline calendar app on Google Play and quixotely.com
  • Please see the programs page for recent Python development projects

A note to busy readers: this section and those that follow it are fairly heavy on details (an inevitable byproduct of three decades, 15 books, and 12,000 published pages). If you're looking for a more concise summary, try the formal bio page instead.

Books

This section lists books by publication date and is somewhat redundant with the book resources page at my website. Its book titles link to pages with additional information.

Learning Python, 6th Edition

  • Author, ISBNs 9781098171{308,278,261}, 1300/1200 pages emedia/print
  • Published by O'Reilly Media, February 2025
  • Updated and expanded for Python 3.12+

Python Pocket Reference, 5th Edition

  • Author, ISBN 978-1-449-35701-6, 260 pages
  • Published by O'Reilly Media, January 2014
  • Updated and expanded for Pythons 3.4 and 2.7

Learning Python, 5th Edition

  • Author, ISBN 978-1-449-35573-9, 1640 pages
  • Published by O'Reilly Media, June 2013
  • Updated and expanded for Pythons 3.3 and 2.7

Programming Python, 4th Edition

  • Author, ISBN 978-0-596-15810-1, 1630 pages
  • Published by O'Reilly Media, January 2011
  • Updated for Python 3.2, revised for new topics

Learning Python, 4th Edition

  • Author, ISBN 978-0-596-15807-1, 1210 pages
  • Published by O'Reilly Media, September 2009
  • Updated and expanded for Pythons 3.0 and 2.6

Python Pocket Reference, 4th Edition

  • Author, ISBN 978-0-596-15809-5, 210 pages
  • Published by O'Reilly Media, September 2009
  • Updated and expanded for Pythons 3.1 and 2.6

Learning Python, 3rd Edition

  • Author, ISBN 0-596-51398-4, 750 pages
  • Published by O'Reilly Media, October 2007
  • Updated for Python 2.5 and new training topics

Programming Python, 3rd Edition

  • Author, ISBN 0-596-00925-9, 1600 pages
  • Published by O'Reilly Media, August 2006
  • Updated for Python 2.5

Python Pocket Reference, 3rd Edition

  • Author, ISBN 0-596-00940-2, 160 pages
  • Published by O'Reilly Media, February 2005
  • Updated for Python 2.4

Learning Python, 2nd Edition

  • Primary co-author, ISBN 0-59600-281-5, 620 pages
  • Published by O'Reilly & Associates, December 2003
  • Updated for Python 2.3 and new training topics

Python Pocket Reference, 2nd Edition

  • Author, ISBN 0-59600-001-8, 130 pages
  • Published by O'Reilly & Associates, November 2001
  • Updated for Python 2.2

Programming Python, 2nd Edition

  • Author, ISBN 0-596-00085-5, 1300 pages
  • Published by O'Reilly & Associates, March 2001
  • A new advanced Python-topics book for Python 2.0

Learning Python

  • Co-author, ISBN 1-56592-464-9, 385 pages
  • Published by O'Reilly & Associates, April 1999
  • An introductory book on Python fundamentals, Python 1.5

Python Pocket Reference

  • Author, ISBN 1-56592-500-9, 80 pages
  • Published by O'Reilly & Associates, November 1998
  • A concise reference book for programmers, Python 1.5

Programming Python

  • Author, ISBN 1-56592-197-6, 900 pages
  • Published by O'Reilly & Associates, October 1996
  • A first and broad book on Python language and roles, Python 1.3

Book Chapter

In addition to the books above, I also wrote an in-depth chapter on Python for a compendium book.

Python: an Object-Oriented Scripting Language

  • Author, ISBN 1-57870-010-8, 120 pages
  • Published by Macmillan, Summer 1998
  • An overview of Python, in Handbook of Programming Languages, Volume III

Articles and Docs

Some of the smaller articles and other documents I've written are available online, via the following links.

I earned MS and BS degrees in Computer Science, emphasizing programming languages and artificial intelligence, and implementing large-scale development projects for both degrees. This section gives the highlights of this work.

Master of Science degree in Computer Science, University of Wisconsin-Madison

  • May 1990
  • Grade point average: 3.89 (4-point scale)
  • Emphasis: programming languages and compilers, artificial intelligence
  • Thesis: optimized Prolog implementation in 68000 assembly language and C, 140-page report (more)
  • Wrote a compiler for a large subset of Ada in C
  • Tools: C, UNIX, Prolog, Lisp, Yacc/Lex, Ada

Bachelor of Science degree in Computer Science, University of Wisconsin-Oshkosh

  • June 1986
  • Grade point average: 3.81 (in major, 4-point scale)
  • Emphasis: systems development, artificial intelligence, MIS
  • Senior project: prototype Prolog language implementation in VAX Pascal
  • Worked as a student tutor in campus computer labs
  • Tools: Pascal, VMS, Prolog, COBOL, FORTRAN (WATFIV on punch cards), BASIC (on early PCs)

This section lists my employment history from 1990. It mostly covers the systems-development jobs I held in the period between earning my master's degree and embarking on my independent Python focus in 1999.

Trainer and Writer, Self-employed

  • October 1999 to present
  • Business activities include teaching on-site programming classes and writing technical books
  • For more details, please see the earlier Python Highlights section

Software Engineer (Consultant), Ciber Information Services, ASE group

  • September 1997 to October 1999
  • Development work, on a long-term contract assignment at Lockheed Martin Mission Systems in Boulder, Colorado
  • C++, UNIX, X/Motif, Sybase, BX, Clearcase, etc.
  • Satellite control system software development and troubleshooting, client/server architecture

Senior Software Engineer, Coral Systems, Longmont, Colorado

  • October 1995 to September 1997
  • C++, UNIX, Tuxedo, FTP, Python, cvs, OODB, SQL (Informix/Oracle)
  • Developed network switch interfaces for a cellular fraud detection system; implemented network interface modules, message translators, and timer processes

Senior Software Engineer, KaPRE Software, Boulder, Colorado

  • January 1994 to June 1995 (leave of absence to write a book)
  • C++, C, UNIX, Python, Tk (GUI), db++ (OODB), Sybase/SQL
  • Developed a rule-based chart of accounts modeling system for a client/server financial applications company; integrated an extension language with a C++ framework for on-site customization ("KEL")

Technical Lead/Software Engineer, XVT Software Inc., Boulder, Colorado

  • June 1993 to January 1994
  • C, Borland C++, MS-DOS/Windows, UNIX, X/Motif, Python
  • Designed a rapid application development environment ("RAD") for a GUI portability toolkit company; prototype implemented on MS-Windows and X/Motif

Technical Lead/Senior Software Engineer, Auto-trol Technology Corp., Denver, Colorado

  • April 1992 to June 1993
  • C, C++, UNIX, X/Motif, Lex/Yacc, csh, gmake, pipes/fifos/signals
  • C-like scripting language development for a CAD/graphics company; implemented compiler extensions, a source-code debugger, regression-test scripts, and an integrated client/server-based development GUI ("XOSD")

Software Development Engineer, Convex Computer Corp., Richardson, Texas

  • June 1990 to March 1992
  • C, UNIXTRAN-77/90, Yacc, csh, rcs, etc.
  • FORTRAN compiler development for a UNIX-based supercomputer company; implemented compiler fixes/enhancementsTRAN-90 extensions, and a cross-reference tool ("fcxref"); closed 60 compiler bugs in first 6 months

Development Tools Summary

  • Platforms: UNIX (Sun, HP, SGI, Linux)
  • Languages: C, C++, Python, cshTRAN
  • Various: SQL, OODBs, X/Motif, Tk, HTML, CGI, Lex/Yacc, IPC

This section lists my employment history from 1984 through 1990. It covers jobs I held from my bachelor's degree work through the completion of my master's degree. Most of these jobs were in the business-applications domain and some overlapped with Computer Science studies.

Programmer/Analyst, Madison Gas and Electric, Madison, Wisconsin

  • August 1988 to May 1990
  • COBOL, ADS/O, IDMS, CMS, MVS JCL, OLQ
  • MIS programming in a mainframe IDMS network database environment for a utility company

Programmer/Analyst, Swiss Colony Data Center, Monroe, Wisconsin

  • May 1987 to July 1988
  • COBOL, VSAM, DYL-280, 370 assembler, DOS JCL
  • Business applications programming in customer credit system for a mail-order company

Computer Programmer, ShopKo Stores Inc., Green Bay, Wisconsin

  • July 1986 to May 1987
  • COBOL-2, TOTAL, Mantis, ISPF, MVS JCL
  • MIS programming in accounts payable and budget systems for a national retail store chain

Student Consultant, University of Wisconsin, Oshkosh, Wisconsin

  • 1984, 1985 (part-time)
  • Advised and tutored other students on programming problems