(normally) - in two flavors. Used only to prioritize high-traffic pages for dev work, iff JS and tracker enabled. The former/defunct training site's id: ga('create', 'UA-52578333-1', 'auto'). The book site's id, now used for all: ga('create', 'UA-52579036-1', 'auto'). JS is also used if enabled for thumbspage galleries, Top buttons, TOCs, etc. Jun-2019: tell Google Analytics to anonymize IP address on receipt for privacy. More: https://developers.google.com/analytics/devguides/collection/analyticsjs/. Oct-2022: install a GA4 tag (i.e., script) alongside the prior UA tag. UA tags will stop collecting data in 2023. It's okay to use both until the cutover (and Google advises doing so), but the UA tag will be pointless after that and should be removed. This handles genhtml-insert clients; others get tags by running insert-analytics.py in package-publishing scripts. Also per Google: "In Google Analytics 4, IP anonymization is not necessary since IP addresses are not logged or stored". Let's hope so... --> 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:

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

Training

Writing

Development

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

Python Pocket Reference, 5th Edition

Learning Python, 5th Edition

Programming Python, 4th Edition

Learning Python, 4th Edition

Python Pocket Reference, 4th Edition

Learning Python, 3rd Edition

Programming Python, 3rd Edition

Python Pocket Reference, 3rd Edition

Learning Python, 2nd Edition

Python Pocket Reference, 2nd Edition

Programming Python, 2nd Edition

Learning Python

Python Pocket Reference

Programming Python

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

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

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

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

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

Senior Software Engineer, Coral Systems, Longmont, Colorado

Senior Software Engineer, KaPRE Software, Boulder, Colorado

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

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

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

Development Tools Summary

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

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

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

Student Consultant, University of Wisconsin, Oshkosh, Wisconsin



[Home page] Books Code Blog Python Author Train Find ©M.Lutz