This page was last updated in mid-2020.
I am not currently on LinkedIn or GitHub for ethical reasons
(in short, I believe people should retain control of their career stories),
but I maintain a custom website at
which hosts additional background and current projects, and is
referenced throughout this page.
Among the website's highlights are
a more concise statement of my career at the
formal bio page;
a more comprehensive (and colorful) tour of my Python
career path at the
Teaching Python page;
and both code and documentation for recent development projects at the
A computer software professional, with a background in both large-scale systems development and
evangelizing new ideas, and experience that spans more than thirty-five years in the software field,
including two decades devoted to teaching classes and writing books about programming. Career highlights:
BS and MS degrees in Computer Science
Over three decades of software development experience
Sole proprietor of a successful training business for two decades
Author of 14 programming books that have sold over 700k units to date
A note to busy readers: this section and those that follow it are fairly heavy on
details (an inevitable byproduct of three decades, 14 books, and 11,000 published
pages). If you're looking for a more concise summary, try the
formal bio page instead.
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.
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.
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
C-like scripting language development, for a graphics company;
implemented compiler extensions, a source-code debugger, regression-test
scripts, and an integrated client/server-based development GUI ("XOSD")
FORTRAN compiler development for a UNIX-based super-computer company;
implemented compiler fixes/enhancements, FORTRAN-90 extensions, and a
cross-reference tool ("fcxref"); closed 60 compiler bugs in first 6 months
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.