This is a role that didn't exist before me. I was a lifeguard
and swim instructor here, and the pool I worked at was being
swamped with administrative work. Eventually I took on this work
for the money that came with it. For ten hours each week, I
would be reading emails, co-ordinating lessons, and sending out
schedules. Creating the schedules was a tedious task, with
siblings at different levels needing back to back lessons,
people not available some days or times, and other various soft
and hard requirements.
Soon I found out there is no
easy algorithm known for finding solutions to problems with many
soft and hard requirements. This is a NP-hard and is described
in the
Nurse Scheduling Problem. Fortunately there was a cap of 128 students I could fit into
classes per week and the final algorithm was around O(n³) for n
swimmers, so the runtime wasn't horrible.
Implementing the reception and confirmation of lessons was straightforward
enough with a Flask site using Stripe for payments, and Firebase
service for sending confirmation emails.
I volunteer within the Computer Science, Mathematics, and Statistics department at the University of Toronto as a Computer Science Ambassador to help cultivate interest in the Mathematical Sciences in high school students, as well as providing direction for first year students within the programs.