2.2 KiB
2.2 KiB
<h1>Work Experience</h1>
<ul>
<li>
<h3>Cybersecurity Analyst for Equifax</h3>
<ul>
<li>Analyzed Security Posture, Business Risk, Compliance</li>
<li>
Supported Vulnerability Management sourced from Penetration
Tests & automated tools
</li>
<li>Handled issues, exceptions, and deviations</li>
<li>
Provided Security Advisment Services for infrastructure and
code development
</li>
<li>
Used automated scanning tools, GCP, AWS, shell scripts,
Linux
</li>
</ul>
</li>
<li>
<h3>Software Developer for Parkside Pool</h3>
<p>
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. <br /><br /> 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
<a href="https://en.wikipedia.org/wiki/Nurse_scheduling_problem"
>Nurse Scheduling Problem</a
>. 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. <br /><br />
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.
</p>
</li>
</ul>
Volunteering
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.