Engineer → Teacher
27 years building software.
Now I teach it, for the AI era.
Computer science for grades 9–12 and for professionals. Teaching, system design, mock interviews, and mentoring engineers and engineering managers.


- 1999
- BS Computer Science, CU Boulder
- 27 yrs
- shipping software for a living
- 2011
- moved to South East Asia
- CELTA
- certified in Chiang Mai, 2011
- 2026
- switch from software engineering to teaching about it
What I do
Three rooms, one idea
Whichever room I'm in, the job is the same: get you from "I have no idea how this works" to "I built that, and I can tell you why it works." What that takes is different every time, so the structure below is a starting point, not a package.
For students
Computer science, grades 9–12
One real application, built from nothing across a term, ideally one the student picks. Concepts arrive when the app needs them, and the plan bends to the class, the school's curriculum, and the kid in front of me.
For career changers
Programming for adults
Beginners and working professionals alike. Bring the thing you want to exist and whatever time you actually have, whether that is an evening a week or a run of Saturdays, and we build the pace around it.
For engineers and engineering managers
System design, interviews, mentoring
Mock interviews with real pressure, system design that survives follow-up questions, and mentoring through the jump to leadership. Take one, or mix all three around whatever is actually coming up.
The method
AI can write the code. It cannot own the decision.
So we don't teach students to "code with AI." We teach them to direct, inspect, test, and improve software that AI helped produce, whether that is Claude, ChatGPT or an agent inside Replit. This is the loop a project settles into. Click a stage. How much of it somebody touches in week one is a separate question; it grows with them.
Stage 1 of 9
Observe a problem
Start with something that actually annoys somebody. Not "build a to-do app", but "my roommate keeps forgetting bin night."
Graded onCan you describe the problem without describing a solution?
AI can write the code. The person shipping it still owns the specification, the verification, the explanation, and the decision to release.
Everything else
Have a look around
Teaching
How I teach programming: one real app, built to fit the student, and code they can explain.
Coaching
Teaching, system design, mock interviews, and mentoring engineers and engineering managers.
Reviews
What students say about learning, interview prep, and coaching sessions with me.
Writing
Notes on teaching software engineering in the age of AI.
Clinical Practice
Merrill's first principles, applied to teaching programming: one real app, built step by step.
Portfolio
My Moreland TEACH-NOW teacher-certification e-portfolio.
About
Colorado, Boulder, 27 years of code, and a classroom in the hills.