My Experiences as iGEM 2019 Shanghai-United Team Leader

It’s been a year since our last team meeting for the iGEM competition. Throughout the preparation and final competition, I focused on developing leadership, problem-solving skills, management strategies, communication skills, marketing strategies, and entrepreneurship. The design skills I acquired while drafting our technical poster also assist me later in the UI design of my app Finia. Eventually, I managed to pull together the merits of my teammates from different areas to win a Silver Award in the final round held in Boston.

Me and the technical poster I made at the Final Round of iGEM held in Boston, Massachusetts

After leading the team for more than half a year, I have created an autonomous and collaborative culture…


In this article, I intend to discuss communication in the profession of software engineering. I will cover the relevant components of communication that a software engineer will encounter in all phases of software development. Topics include External Communications, Technical Communications, Project Communications, Research, Documentation, and Presentation. In each section, I will dive into details about the topics and strategies to master each type of communication.

Conference of engineers at Britannia Bridge. Oil painting by John Lucas. 1850


First, let’s give my quick definition of communication in general. Communication is the process to collect, organize, and transmit information. This may include two or more individuals such as client meetings, pair debugging sessions, and…

As someone who deals with a lot of layered architecture in software engineering, I often like to interpret SE curriculum in 3 layers — Lower years, Middle years, and Upper years, corresponding to Foundation, Transition, and Specialization

Being the best and the most competitive tech program in Canada, Waterloo SE attracted me not only due to its prestige and reputation, but also the elegant structure of its curriculum. In this article, I will first touch on the basics of the SE curriculum by elaborating on some characteristics. …

My passion for software engineering have triggered me to develop a detailed plan for my 6 Co-op placements in SE. This plan is based on my past software development experiences in the finance, clinical research, and manufacturing industry. It is also based on my past research on LinkedIn regarding past SE alumni’s employment experiences. Of course, with a lot of uncertainties going on around the world, one should always adapt the plan to the circumstances, but I believe it’s necessary to have a preliminary plan.

Co-op Industry Plan

The philosophy behind Co-operative education is to give students the opportunities to experience and apply

How Optimization and Verification Help you in Life?

Optimization and verification methods are commonly used in all engineering disciplines to ensure the stability and effectiveness of a system or structure. After working on software engineering projects in different industries, I start to discover that the idea of optimization and verification can be widely applied in our life, and that really ties into my passion for SE program (Software Engineering) in University of Waterloo.


Optimization is the process or methodologies to select the best set of elements from some set of all the elements. Aside from its application in engineering and science, optimization can drastically improve the efficiency in…

A Comprehensive Review of My Co-op as a Solutions Developer


In the tradition of UWaterloo’s WTR (Work Term Report) writing, I decided to write another report to summarize my PHRI Co-op placement. The first WTR is an interview with my product manager Les. Unlike the traditional Waterloo WTR, I will follow a different structure started with an introduction to the institution and my work. Then, I will share some unique cultures in our software engineering team as well as my strategies to be successful. Lastly, I will explore an engineering decision I made during this Co-op.

PHRI’s logo


PHRI stands for Population Health Research Institute, a joint institute of McMaster University and…

This document aims to explain the design of my side project Finia, a modern personal finance app, with a focus on the UX and UI design. The first document discussed the data structure and algorithm design. If you are interested in the innovation in Finia, check out Innovation in My App Finia.

Some keen readers may notice the iconic logo “F” and “i” in the graphics

My UI & UX Design Philosophy

My philosophy of UI & UX design is to provide references everywhere. Web UI design is often known for including a large amount of information in one page, but this is not the case for mobile UI. Due to the small screen size of smartphones, some information has…


This article discusses a systematic approach I created to optimize efficiency of learning theoretical concepts based on notes I took in a Shadow Day event for Software Engineering program in University of Waterloo. This article approaches the essence of learning methods and its implications to learning in 21th century with a focus on its usage in software engineering and computer science. The essential techniques of shadow learning are covered in details, and comparisons with other learning methods are explored. Last, we will discuss its implication to information processing and artificial intelligence. Shadow Learning, being a framework in essence, does not…

This document aims to explain the design of my side project Finia, a modern personal finance app, with a focus on the data structure and algorithm design. The second part will be dedicated to UX and UI design. If you are interested in the innovation in Finia, check out Innovation in My App Finia.

Some keen readers may notice the iconic logo “F” and “i” in the graphics

Unbalanced Tree Data Structure

In-memory data structures have started to gain popularity these days due to its flexibility. It helps to store data in the form of cache on the frontend. Frontend in-memory data structures can also be dangerous as unrecycled cache can significantly impact the efficiency of the app…

An Interview with my Product Manager


In the tradition of Waterloo’s WTR (Work Term Report) writing, I decided to conduct an interview with the product manager of our team during my PHRI Co-op placement.

Interview Summary

Your Visions and Strategies:

How do you develop your visionary thinking and strategic mindset for our product ROME?

Well, I guess most of these skills come from my 17 years of experience in PHRI. To be honest, when I first joined PHRI, my job was not about software development, but over the years, I gained experience in the work in the health sector. …

Kevin Zhijun Wang

Former Solutions Developer @PHRI

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store