John Phan

John Phan

University of British Columbia '22, Computer Science
contact: johnphan010@gmail.com   |  


About


Studying Computer Science with a degree in Biochemistry, I am fascinated by the intersection of software and life science.

I discovered my passion for software development during my time as a research assistant in a Bioinformatics lab at UBC. After completing my Bachelor of Science degree in Biochemistry, I immediately sought to immerse myself in programming and enrolled in UBC's BCS program.

I was introduced to Java and object-oriented programming through a project-based course at UBC. However, my curiosity pushed me to seek online resources to learn Python, which culminated in the creation of a couple of nostalgic games. Currently, I am learning web development in HTLM, CSS, Javascript and creating this personal website.



Skills


Languages
Java ★★★★★
Python ★★★★★
C++ ★★★★★
HTML ★★★★★
CSS ★★★★★
JavaScript ★★★★★
R ★★★★
Technical
Object-oriented programming ★★★★★
Algorithms ★★★★★
Data Structures ★★★★★
GitHub/Git ★★★★★
JUnit Testing ★★★★★
Bootstrap ★★★★★
Linux command line ★★★★



Work Experience


Research Assistant: Michael Smith Laboratories

April 2017 – May 2019

Gemma: Tools and Database for for meta-analysis of functional genomics data

VariCarta: Database for genomic variants found in ASD subjects

  • Wrote Python scripts to analyze datasets and parsed results for a lab personnel’s PhD thesis.
  • Lead curator for the development of the new database VariCarta, curated and entered over 50 datasets.
  • Trained and led a team of 3 curators on data entry, lab meetings, and progress reports.
  • Used CLI and Bash Commands in Linux to create virtual environments to execute pipelines and databases.
  • Maintained up-to-date wiki documents and wrote new standards for VariCarta database.
  • Analyzed and extracted data from experiments to in-house database Gemma.
  • Leveraged knowledge in Python, R, Linux, Bash CLI




Software Projects


Fitness Trainer App

  • Developed a fitness training application using Java that allows users to easily create and follow workouts
  • Incorporated persistent data storage to allow users to archive and load workouts
  • Integrated an intuitive graphical user interface (GUI) to enhance user experience
  • Utilized: Java, Swing, GUI, GitHub, Data Persistence, JUnit testing, Object-oriented Programming


fitness_trainer_app



SnakeGame

  • Created a classic snake game in Python using the Pygame module
  • Inspired from learning object-oriented design in a software design course
  • Utilized: Python, Pygame, PyCharm, Tkinter, Object-oriented Programming


snake_game



PongGame

  • Developed a pong game in Python using the Turtle module that allows up to two players
  • Creative project motivated by the desire to learn Python and apply systematic software design principles
  • Utilized: Python, Turtle, PyCharm

pong_game