About the Author
Dr. Nobel Khandaker is Lead Software Engineer at Intramotev in St. Louis, Missouri, with more than twelve years spent building and shipping large-scale software products — and, before that, a Ph.D. in computer science spent studying how people learn to solve problems together.
Both halves of that sentence show up in this book.
Now
He is Lead Software Engineer at Intramotev in St. Louis, an autonomous rail company working on freight rail technology — a domain where software correctness is not an abstract virtue, and where a logical bug is not a rounding error.
Before
His career has been unusually well traveled for a programming author. Before St. Louis there was Redmond, Washington, and time at Microsoft; before that, engineering roles in Kuala Lumpur and in Dhaka. Three continents, and software debugged on all of them.
His own summary of the working half: “12+ years of hands-on experience shipping large-scale, highly impactful products.”
The research
He holds a Ph.D. in computer science from the University of Nebraska–Lincoln (2005–2010), where he worked in artificial intelligence and multiagent systems. The published work from those years is the part of his background most directly relevant to a book for beginners:
- “A Wiki with multiagent tracking, modeling, and coalition formation” — AAAI Innovative Applications of Artificial Intelligence, 2010. Winner of a Top 20 AI Application Award. On how independent software agents model one another and decide whom to work with.
- “A Simulation Tool for Computer Supported Collaborative Learning” — IEEE Transactions on Systems, Man, and Cybernetics — Part C, August 2010. On simulating how human teams learn, using intelligent agents.
- A multiagent auction algorithm applied to human team modeling — AAAI, 2006.
That middle one is worth pausing on. Long before this book existed, its author was doing formal research into computer-supported collaborative learning — building models of how people actually acquire skills when they work through problems. A first programming book written by someone who has studied learning as a research problem, rather than merely survived it, is a different kind of book.
Also
Certified as an AWS Cloud Practitioner (2025), with training in PCI DSS compliance and leadership programs at Blanchard and the Leadership Pipeline Institute. He speaks Bengali natively, English at full professional level, and some Hindi.
Why he wrote this book
The dedication in Everyday Programming reads:
Dedicated to all of my teachers who always helped me when I was a learner.
That is the book’s whole disposition in one line. It is written from the position of someone who remembers being taught well, and who noticed that most introductory programming books are written from the opposite position — by people who have forgotten what it was like not to know.
Two decisions follow from it, and they shape the entire book. The first is that Chapter 1 contains no code at all and Chapter 2 reaches Python only after the problem has been solved on paper: the mathematical vocabulary and the problem-solving method come first, because they are what the later chapters quietly assume. The second is the 445 Find the Bug exercises. Twelve years of professional engineering is, in honest accounting, mostly time spent reading code that is nearly right and working out where it is not. The book teaches that skill directly, rather than leaving readers to acquire it by accident.
Elsewhere
Found an error in the book? The errata page explains how to report it — corrections from readers are genuinely welcome and are credited.