William Mak
Experience
- 2019 - present
- Senior Backend Engineer at Sentry
- 2016 - 2019
- Intermediate Software Developer at GAdventures
Developed and maintained the software and systems for the internal tour leader website. This includes applications for scheduling tour leaders, payments, and money requests.
Technologies: Python, Django, JavaScript, jQuery, CircleCI, Travis, AWS, ECS, PostgreSQL
- Improved currency API response times by 75x by simplifying the structure of data, bringing query times down to 2ms
- Lowered test suite runtime to 40s by introducing parallel testing and ensuring test isolation, a 12x improvement from before
- Integrated the systems with the Single Sign-On (SSO) provider Okta, allowing users to sign-in with a single click
- Built a system to interact with multiple RESTful APIs via webhooks to help translators translate API resources
- Worked with stakeholders to create a portal for tour suppliers to see upcoming activities and transports
- Enhanced the developer experience using Ansible to help developers set up their environments with a single command
- Set up Docker and configured CircleCI to replace the on-premises servers with AWS and enabled continuous integration
- 2017 - present
- Co-Creator of StageKeep
Architected and developed an application with a small team to help users manage dancer formations matched to music.
Technologies: C#, Unity, Python, Django, JavaScript, React, AWS, EC2
- Created a cross-platform application using Unity that works on iOS, Android, Windows and MacOS
- Architected models and an API structure to store data from the app
- Implemented a Django backend to store user data
- Configured the system in AWS using EC2 and RDS
- Improved the application through user testing and getting feedback from users
- Used coverage.py and CircleCI to get automated testing and code coverage reporting
- 2015 - 2016
- Software Developer at Media Resources
Designed and built the diagnostic UI for the company’s digital billboards.
Technologies: JavaScript, Angular, Jenkins, Linode
- Created an application allowing users to layout any number of webcams on a page
- Gave users a responsive live visual representation of billboards using PaperJS
- Produced a method that enabled user customization of schedules through a step chart created through Highcharts
- Set up, configured and maintained a Jenkins instance to automate development and production releases
- Migrated the automation suite to GitLab as to provide overseas developers continuous access to servers
Education
- 2011 - 2015
- Honours Bsc, University of Toronto, Computer Science
william@wmak.io • Toronto, Ontario
Github: wmak