Since January 2024, I’ve been teaching at Code4Fun Sydney Programming School, where I’m currently a Lead Coding Instructor. Most of my classes run in-person at schools around Sydney, with some online. A class is usually comprised of 15-25 students, anywhere from about 5 to 13 years old.

What I teach

  • Scratch for younger children. Drag-and-drop blocks are used to simplify complex programming concepts and explain them to younger children, without the daunting aspects of typing out their own code.
  • Python or Java for the older students, once they are ready for typing actual code. This is where they hit their first syntax errors, and where a big part of my job becomes convincing students that an error message is a clue, not a punishment.

Alongside the regular classes, I am also currently building a beginner cybersecurity course that teaches hashing, passwords, and phishing at a level a ten-year-old can follow. The avalanche demo on this sites homepage started as an idea for that course.

What the job actually involves

Thing Explanation
Running the room Twenty kids, twenty laptops, twenty different speeds. Keeping the fast-paced students challenges while making sure nobody gets left behind is something that takes a lot of practice.
Lesson design I write and adjust lesson plans, breaking ideas down into small steps that each end with something on screen working. If an activity doesn’t land with a class, I’d consider rewriting it.
Training new instructors New instructors start as TAs in Lead Coding Instructors’ classes. When I have new instructors in my classes, they watch how lessons run and gradually take over parts until they’re ready to teach their own class.
Talking to schools and parents Parents and school staff often require regular progress updates on students, class progress, etc.

What it’s taught me

Teaching is the best test I know of whether you actually understand something. If I can’t explain a concept to a nine-year-old without hand-waving, I don’t understand it as well as I think I do. That habit carries straight into security work: writing clear reports, explaining a risk to something with a non-technical background, or documenting how something broke.

It’s also made me very calm about things going wrong live. A projector dying, Wi-Fi dropping out mid-lesson, or a whole class’s project vanishing is a regular Tuesday, and at some point you just have to accept it and work around the problem.