1. Jiadong (John) Mai
519-781-2983
mjd64929@icloud.com
Q U A L I F I C A T I O N S
➢ Proficient in coding languages including JavaScript, C++, C, Java and Python.
➢ Experienced with web development using HTML, CSS and SQL
➢ Proficiency with a wide range of testing tools, including Selenium, Cucumber, Junit and TestNG
➢ Adept at working in team environments both professionally and casually with working knowledge of Git
➢ Familiar with Linux shell and Bash scripts through a programming course in school.
➢ Extremely fast at learning new programming languages and concepts and often helps classmates understand them
W O R K E X P E R I E N C E
Software QA University of Waterloo Sep 2018 – Dec 2018
➢ Reported crucial bugs and reviewed old issues through defect tickets and sit-downs with developers.
➢ Worked with the Sales team and the Payments team of developers and designers in an agile development setting
➢ Created and documented test plans and regression test designs.
➢ Participated in squad meetings to provide insights and discuss about the designs of the software the UI.
Teaching Assistant University of Waterloo Jan 2018 – Apr 2018
➢ Collaborated with a team of faculty at weekly meeting and actively contributed new ideas on teaching.
➢ Performed academic tutoring in CS246, Object-Oriented Software Development.
➢ Reviewed exams and assignment to identify issues which facilitated grading by the professor.
➢ Worked individually with students who needed additional assistance.
➢ Answered the question asked through email, and updated the newest information on Piazza
C O D I N G P R O J E C T
Biquadris
➢ Programmed a two players Tetris game in C++ with save and load function enabled though memory management
➢ Self-learned the SFML library from scratch and added sound effect to the game
➢ Effectively applied design patterns including MVC, Visitor, Factory Method, and Template Methods as required
➢ Incorporated classes with suitable methods, inheritance, polymorphism, and encapsulation concepts
➢ Teste d all aspects of the program from debugging with GDB and Valgrind to achieve optimized functionalities
➢ Completed the final project within 2 weeks and playable on the command line while scoring 100% on the evaluation
Dynamic Memory Allocation in C
➢ Built an Abstract Data Type named Pool, that allocates a chunk of dynamic memory that can be flexibly used by the client,
using doubly linked list data structure
➢ Designed functions to allow the client to freely choose pool size and remarkably enhance the space efficiency by its
adjacency feature that avoids memory waste s
E D U C A T I O N
Minor of Computer Science University of Waterloo July 2017 – April 2019
Bachelor of Environment University of Waterloo Sep 2016 – June 2017
Bachelor of Business Administration Nanjing University of Finance and Economics Sep 2013 – June 2016