Raymond Li

Software Engineer

Download Resume

About Me

I am a 4B student in university of Waterloo, major in Computer Science & Statistics

I have a keen interest in the field of algorithm design, graph theory, data science and distributed system.

During my last internship, I designed and implemented a distributed priority queue to handle with a high-write, low-read issue.

I really enjoy sovling hard problems and creat valuable projects to help others

Other than programming, I also enjoy cooking, listening to music, playing games, watching movies and doing sports. Life is journey, so let's enjoy it.

Working Experience

Software Engineer

Toronto, ON, Canada

  • Individually developed a distribued priority queue, and used by different services in amazon
  • Implemented data storage by using Aurora Mysql database
  • Developed a threadpool to put messages into this prority queue and pull messaegs from it
  • Developed Junit tests, intergration tests and stressing tests to optimize its performance

Software Engineer

Waterloo, ON, Canada

  • Implmented a microservice called Poser used to verify patient identity in the database
  • Implemented test-driven development, writing Junit tests and integration tests
  • Built software using Spring framework, Hibernate, JSP and JSF in Apache Tomcat
  • Implement custom metrics on datadog to monitor data stream and analysis potential reasons for high latency
  • Developed, implemented and optimized stored procedures using MySQL

Software Engineer

Kitchener, ON, Canada

  • Implemented new features for mobile apps, fixed bugs and redesigend new UX
  • Managing the interchange of data between servers and the users
  • Responsible for development of server-side logic
  • Creating autocomplete search function by using google map api
  • Optimizing the searching algorithm to provide better user experience

Lake Modeling Programmer

Waterloo, ON, Canada

  • Translated a FORTRAN software to Python Software
  • Implemented graphical interface
  • Designed and implemented graphical charts generator
  • Designed API and automation tool for downloading data and testing


University of Waterloo

Sept 2016 - April 2021

Bachelor of Science in Computer Science

  • Joined advanced computer science course and received Nortel Institute Scholarship
  • Received President's Research Award after finishing project in the department of Geometrics
  • Projects

    Proust: Nano Proof Assistant

  • A nano program based on Racket language provided elementary interactive assistance in the development of verified proofs for propositional and predicate logic.
  • Applied Martin-Lof type theory to practical
  • Developed and implemented same core elements in the full-featured proof assistance like Coq and Agda
  • View Project

    homEMostasis: Hackthon project

  • A hackthon project devleoped during 2019 Hack The North contest
  • Use face recogntion, speech-to-text, text-to-speech technology provided by azure api
  • Analysis people's facial expressions and give response to them to comfort them or calm them down in different people's voice.
  • Use Donald Trump voice to train the voice model.
  • View Project

    Climo: scientific data analysis software

  • CLimo is a combination of GIS technology, data science and computer science.
  • Analyzed and generated data of ice-thickness, snow depth and radiations by applying mathematical models in Python.
  • Predicted global warming by using graphical plots of temperature, ice-thickness and radiations
  • View Project

    Sokoban: a 2D strategy Java game

  • Designed and constructed a turn-based card game in C++ using object oriented programming approach.
  • Implemented classes with appropriate methods like inheritance, polymorphism and encapsulation.
  • View Project


    Get in Touch