Author Image

Hi! I am Bowen

Bowen Tan

I am a passionate software developer with interests in open-source projects of Python, Node.js, C/C++ and Lua and so on. I love to use NeoVim as my editor and have contributed in some interesting plugin projects. I am also enthusiastic about developing with Golang and Rust, and currently learning more deeply. Since undergraduate, I have been one of the administrators of the computing resources in the lab and learnt most of my knowledge about DevOps. As a CS PhD student, additionally, I mainly focused on algorithms and machine learning. Currently I extend my sight to deep learning models and large language models as well as their applications in various fields.

Skills

Experiences

1
BGI Shenzhen

July 2015 - August 2015

Shenzhen, China

Junior Software Developer (Internship)

July 2015 - August 2015

Responsibilities:
  • Web Development: Collaborated on the development of the official website for BGI Forensics, enhancing the organization’s digital presence.
  • Data Analysis Tools: Developed and integrated robust analysis tools for forensic and genetic data. Streamlined the data processing pipeline, thereby improving the overall workflow efficiency.

City University of Hong Kong

August 2016 - August 2018

Hong Kong, China

Research Assistant

August 2016 - August 2018

Responsibilities:
  • Bioinformatics Tool Development: Designed and developed tools for identifying potential short tandem repeat (STR) loci for individual identification and paternity testing, providing 99.9999% evidence in data.
  • Performance Optimization: Refactored and enhanced existing bioinformatics tools such as tools for fastq cleaning and preprocessing, primarily using C/C++ and multithreading, resulting in at least 2x computational performance and reliability.
  • Lab Resource Administration: Managed the laboratory’s computing environment, including the installation and upkeep of computing clusters, thereby simplifying access to essential software and analytical tools.
2

3
City University of Hong Kong

November 2022 - April 2024

Hong Kong, China

Research Assistant

November 2022 - April 2024

Responsibilities:
  • Algorithm Development: Designed and implemented innovative clustering algorithms for topologically associated domains (TADs) using dynamic programming and graph theory, enhancing the efficiency of existing TAD-calling tools to guarantee that the optimal detections of TADs were obtained so that the found TADs were meaningful in genomics.
  • Computing Resource Management: Configured and maintained a SLURM cluster with three servers with totally 352 CPU cores and 3T memory for more than 30 students and more than five platforms in the lab, providing extensive reliability and robustness when using the resources and optimizing high-performance computing resources to facilitate intensive computational tasks by diverse users and platforms for development and deployment.

Hong Kong, China

Project Associate

May 2024 - Present

Responsibilities:
  • Backend Development: Engineered the core architecture of a new admissions system using NestJS and MongoDB. Developed comprehensive RESTful API development for seamless application processing, robust authentication and authorization, as well as dynamic PDF generation and merging from templates, ensuring prompt responses and enhanced user satisfaction.
  • The innovative system consolidates the entire application process, including student applications, supervisor nominations, and admission works for clerical staffs, into a single online platform. It drastically reduces most of the time and effort spent on communications among students, various departments, colleges, and supporting units.
  • CI/CD & Deployment Automation: Streamlined deployment by automating CI/CD pipelines via GitLab CI/CD and deploying containerized applications on Openshift, significantly reducing manual effort.
  • Version Release Management: Designed and implemented a robust version release workflow integrating Git and GitLab CI/CD. Automated changelog generation and managed release processes across multiple branches and repositories.
  • Data Migration: Developed resilient data migration scripts to ensure a seamless transition from legacy systems to the new platform.
4

Education

September 2012 - July 2016
B.Sc. in Computing Mathematics
CGPA: 4.02 out of 4.3
Taken Courses:
Course NameObtained Grade (Total Grade)
Enhanced Calculus and Linear Algebra I4 (4.3)
Enhanced Calculus and Linear Algebra II4.3 (4.3)
Linear Algebra4 (4.3)
Discrete Mathematics4 (4.3)
Probability and Statistics4.3 (4.3)
Computing Mathematics Laboratory4 (4.3)
Multi-variable Calculus3.7 (4.3)
Ordinary Differential Equations4 (4.3)
Partial Differential Equations4 (4.3)
Elementary Numerical Methods4.3 (4.3)
Numerical Methods for Differential Equations4.3 (4.3)
Introduction to Optimization4.3 (4.3)
Complex Analysis4.3 (4.3)
Applied Statistics4.3 (4.3)
Analysis4.3 (4.3)
Applied Mathematics Laboratory4 (4.3)
Introduction to Actuarial Science4 (4.3)
Introduction to Computer Studies4.3 (4.3)
Fundamentals of Internet Applications Development4 (4.3)
Computer Programming4.3 (4.3)
Java Programming4 (4.3)
Data Structures and Data Management4 (4.3)
Computer Networks4.3 (4.3)
Database Systems4 (4.3)
Multimodal Interface Design4 (4.3)
Logic Circuit Design3.3 (4.3)
General Physics I4.3 (4.3)
Chemistry4.3 (4.3)
Economics I4.3 (4.3)
Everyday Physics: Its Impact on You and Society3.7 (4.3)
Interdisiplinary Research for Smart Professionals4 (4.3)
Navigating Risk4.3 (4.3)
Computer-Aided Visual Design & Electronic Arts - Programing with Image, Animation & Interaction"4 (4.3)
Understanding Uncertainty and Statistical Reasoning3.7 (4.3)
The Art and Science of Data4 (4.3)
September 2018 - Present
Ph.D in Computer Science
CGPA: 4 out of 4.3
Publications:
Taken Courses:
Course NameObtained Grade (Total Grade)
Data Warehousing and Data Mining4 (4.3)
Machine Learning: Principles and PracticePass (Pass/Fail)
Computer Networks and Internets4 (4.3)
Comprehensive Studies in Selected Topics in Computer Science4 (4.3)