This is the story of how my life got turned upside down

At the beginning of my third year of university, I got my first in-industry job in software: I became an official Casual Demonstrator at The University of Queensland. I was hired by a lecturer to walk around during lab demonstrations in a common second year course: CSSE2010, and answer any questions people had. I stuck with the job until I graduated, six semesters later, and during that time things got a little out of hand.

My lecturer reviews from 2018

While I started out with a pretty small role, the job gave me plenty of room to grow, and I took every chance I was given. By the end my regular job involved a little bit of:

And if that had been all I'd done as a tutor, I would have still gained a tonne of experience and learned a lot. But things didn't really end there. Twice during my time as a tutor, the lecturer supervising me (and running the course I was meant to be tutoring) got unwell enough to need considerable time off. As a result, the Casual Academic section of my resume looks a little more like this:

It was a drain, but it was a blast. And I think my resume looks a little better for all this extra experience.

The Content

During my time as a tutor, I ended up working as a part of four different courses. They were all great learning experiences, but one holds a special place in my heart as being my best academic experience at uni (both as a student and a teacher).

Computer Systems Principles and ProgrammingCSSE2310 – was the course I got the most involved in. I tutored this one for three years, and it was here that I got my lecturing experience. This course could be a blog post all on its own, but in summary we taught the students a crash course in what the operating system (Unix) looks like from the user-space. We started the semester by teaching C, and ended it by teaching BSD sockets and the difference between a hard and a soft link in a unix filesystem. I definitely wasn't an expert on any of these topics when I got the job, but over three years I've seen a lot of weird things (and even found a way to explain or fix most of them).

Outside of 2310, I got involved in the high performance computing course, the intro to OOP course, and the intro to computer systems course. I explained the difference between white-box and black-box testing, and taught people the importance of basic cable management while they built logic circuits on breadboards.

Tutoring really kick-started my knowledge on development. By working through an assignment with 30-90 students, I'd get to see 30-90 ways of solving a problem (well, maybe fifteen to twenty), and pick up experience that much faster. I also was forced to figure out how to debug code that I hadn't written, and how to communicate my thought process as I worked through a problem (really helps during the technical interviews). But if nothing else, I'd recommend the tutoring experience to anyone just for the information you can pick up by working alongside talented lecturers and senior tutors.