Basic Info


  • Name:Zhen Yi
  • Age:26


Infra/Backend engineer, Algorithm engineer


Univesrity of EdinburghEdinburgh, U.K.
Master of Science in Artificial Intelligence, Pass with Merit
Sep 2015 - Nov 2016
Dissertation: Deriving Pretty-printing for Haskell
Supervisor: Prof. Philip Wadler
  • INFR11073 - Machine Learning & Pattern Recognition
  • INFR11074 - Automated Reasoning
  • INFR09031 - Logic Programming
  • INFR11114 - Types and Semantics for Programming Languages
  • INFR10061 - Elements of Programming Languages
  • INFR11032 - Compiler Optimisation
  • INFR11098 - Secure Programming
  • INFR10055 - Database Systems
  • INFR11034 - Informatics Research Review
  • INFR11071 - Informatics Research Proposal
Sun Yat-sen UniversityGuangzhou, P.R.China
Bachelor of Software Engineering, GPA 3.3
Sep 2011 - Jun 2015
Major Courses: Discrete Mathematics; Linear Algebra; Contemporary Applications of Linear Algebra; Probability and Statistics; Numerical Computation Methods; Analysis of Algorithms; Data Structures and Algorithms; Artificial Intelligence; Data Mining; Computer Architecture; Operating Systems; Principles of Compiler Construction; Multi-core Programming;
Recommended for admission to SYSU and exempted from Gaokao because of well performance at NOIP
Tianjin Experimental High SchoolTianjin, P.R.China
Sep 2005 - Jun 2011
Wrote down the own practical experience in NOIP and got it published in the journal for Olympiad in Informatics in China
Recommended for admission to Tianjin Experimental High(middle) School because of winning the second prize in the programming competition for pupils


Software EngineerLaboratory of Compiler and Programming Language
Huawei Research Shanghai
Nov 2018 - Present
Software Engineer
Citigroup Inc.
Apr 2017 - Nov 2018
Full-stack development, RESTful API design and continuous integration for web application
Short-term research and development for an experimental machine learning project (3 months)
Research Assistant Intern
Guangdong Province Key Laboratory of Computational Science
Feb 2014 - Apr 2014
Conducted configuration, debugged and optimized codes, and wrote the documents


Languages skills

  • English:Professional working proficiency

Programming Language and Framework

  • Languages:Haskell, C/C++, Java, Python, Scala, Prolog, Coq, Scheme
  • Frameworks & Tools:Spring, Ext JS, JUnit, Mockito, JDBC, JMS, Java servlet, SQL, TensorFlow, Tomcat, Git, SonarQube, Spark, Amazon EC2, NuSMV, Isabelle, LaTeX
  • Editor & IDE:Vim, IntelliJ IDEA, Xcode, Eclipse, Visual Studio Code
  • OS:linux, MAC OS X (daily)

Professional Skills

  • Machine Learning, Automated Reasoning and Knowledge Representation
  • Experience with common Unix command line utilities and development tools
  • Full-stack development, RESTful API design and Continuous Integration for web application


School Team

Sun Yat-sen University ASC Student Supercomputer Challenge Team
Team member
  • ASC14 required the participated team to wring the most HPC performance out of a 3000W power allowance
  • Mastered the numerical methods, relevant algorithms, multiprocessor and parallel programmings, heterogeneous computing
  • Optimized the SU2 -- a Stanford University developed open-source C++ code for Partial Differential Equation analysis and designed things that adhere to PDE constraints, and assisted in the HPL event


Project Lambdafounder
web app
Nov 2016 - Jan 2017
A Hacker-News-like social information platform focusing on IT industry and computer science, which users could publish general news, academic contents and questions through it. Reducing time wasting on nonnutritive information is the major goal
PPrinter: A generic derivable Haskell pretty printerauthor
Jun 2016 - Aug 2016
PPrinter is a Haskell library that supports automatic derivation of pretty printing functions on user defined arbitrary data types (the deriving mechanism supports the automatic generation of instances for functions)
Compiler of Small-Cdeveloper
system software
Oct 2015 - Dec 2015
A compiler for the subset of C language that compiles the source code to Java bytecode. It contains the essential parts of a standard compiler including lexer, parser, semantic analyzer and code generator
Interpreter of ML-like Programming Languagedeveloper
system software
Oct 2015 - Oct 2015
An interpreter written in scala for a simple ML-like programming language which supports syntactic sugar, type checking, recursive function and first-order lambda calculus
The Chinese Wiki Rating Systemdeveloper
unsupervised learning, clustering
Nov 2013 - Dec 2013
People with little education may find it hard to understand the content in the wiki. Our new system made wiki much easier for people to read. The GUI can display different colors in one page. Each color stands for one education level
  • Project HomeNone(Innovation based on the final project of AI course)
  • KeywordsPython 2.7.5, C/C++, linux/win, QT
  • My duties
    • Designed the kernel algorithm which take linear complexity of time
    • Determined ratings and conducted initial data training
The SAC Room Reservation Systemfull-stack developer
web app
Apr 2013 - Jun 2013
Designed a room reservation system for the Student Activity Center in Sun Yat-sen University. Students can use this system to book rooms in SAC and managed their own information
  • Project homeNone(internal use only)
  • KeywordsPython 2.7.5, Javascript, MySQL,, Bootstrap, jQuery
  • My duties
    • Developed the back end system
    • Designed the UI
    • Tested and debugged the system before release
The Kernel of Online Judgeindie developer
server-side module
Mar 2012 - Apr 2012
This is an online system that can compile and execute codes and then test them with pre-constructed data. Users submit code and run it with restrictions (time limit, memory limit, etc.). The output of the code will be compared with the standard output and then return the result to the users. This project is critical to the online judge system which provides the interfaces of the methods described above


Cluster Competition

First Prize and Highest Linpack Award
The ASC Student Supercomputer Challenge 2014 (ASC14)
Set a new world record of HPL(Linpack) performance and won ¥10,000 CNY

ACM-ICPC & Programming Contest

Bronze medal
The ACM-ICPC China Guangdong Provincial Programming Contest 2014
First prize
The Sun Yat-sen University Collegiate Programming Contest (SYSUCPC '2014)
First prize
The Sun Yat-sen University Novice Programming Contest (SYSUNVPC '2011)

Olympiad in Informatics

Two-time recipient of First Prize
The National Olympiad in Informatics in Provinces
2009 & 2008


Two-time recipient of Individual Scholarship
Award for well-performance in academic
2014 & 2012


  • Excellent quick learning and problem-solving ability under time constraints
  • Books:SICP, CLRS, Programming Pearls