Curriculum Vitae
Experience
Morningstar Inc.
Type: Full-time
Title: Software engineer
Location: Shenzhen, China
Duration: 2016.07-2018.08
Worked at Presentation Studio, the core team of a cash cow product contributes over 50\% revenue of Morningstar
Backend calculation service
Built a RESTful service transferring the calculation services into server to fit the Agile Development and AWS migration.
- Built up a bottom layer Asynchronous Programming Model to support 20k+ users with heavy workload of calculation
- Designed the interface to support asynchronism and polling mechanism from client side, improving the QPS by 10%
- implemented the cache layer to work with the polling mechanism, improving the performance by 20%
- transferred the business logic of calculation part in 2 components, making sure no performance losses and it was unawaked by customers
Portfolio/Office Workflow
Built up two new workflows besides existing 4 workflows to support the new strategic plan of company.
- Designed the new processes and implemented the UI part as well as business logic to match current framework
- Added 5 new components under the new workflows and moved their calculation part into our backend services
- Optimized the preprocess logic to reduce the time cost per web request by 80% from minute-level to second-level
- Used the NOSQL to store the information of reports
- Worked with our batch services to produce the PDF reports using the XML files
Education
- 2019-2021 (expected)
- Master, Computer Science; North Carolina State University (Raleigh, NC)
- 2012-2016
- BEng, Information Security; Hunan University (Changsha, China)
Projects
Research Projects
Holding Intersection
Location: Shenzhen, China
Duration: 2016.11-2017.02
Keyword: C#, Cache, Page-Rank, Pruning
Description: This project is to find a way to calculate the shares of different stocks in a fund which may contains other funds like recursion.
- Used Cache, Pruning, Classification to reduce time cost of calculation by 30%
- Found most common stocks/bonds using Page-Rank Algorithms
- Ran a scheduled calculation for the most-commons to reduce time cost by 40%
Information Checking System Based on OCR
Location: Changsha, China
Duration: 2014.06-2016.04
Keyword: C#, C++, Qt, Python, basic NLP
Description: This project is to find specific messages in texts or images of websites. It contains three parts: the spider part, the OCR part, and the checking part.
- Used Text Segmentation and 7 different Text Similarity Algorithms to find messages in pictures
- The accuracy of this system is above 90%
- Built up a new set of UI to make it more beautiful
Course Projects
CSC501 Operating System Principles - Reader/Writer Lock and Priority Inheritance
Keyword: C, Reader/Writer Lock, Priority Inheritance, Linux, XINU
Description: Implemented an reader/writer lock as well as the Priority Inheritance mechinism in a simple Operating System called XINU based on QEMU emulator.
CSC501 Operating System Principles - On-Demand Paging
Keyword: C, Paging Replacement, Memory Virtualization, Linux, XINU
Description: Implemented the virtual address translation and multilevel page table in a simple Operating System called XINU based on QEMU emulator.
CSC501 Operating System Principles - Process Scheduler
Keyword: C, Process Scheduler, CPU Virtualization, Linux
Description: Implemented two different process scheduler algorithms in Linux, which are Exponential Distribution Scheduler and Linux-like Scheduler.
CSC750 Service-Oriented Computing - Transaction risk assessment
Keyword: Android Play Framework, Scala, Java, RDF/OWL, Jena, Drools
Description: Implemented a system to assess the risk of transactions, which enables non-technical people to manage rules. Used RDF/OWL to analyse the system, and used Apache Jena as well as Openllet reasoner to load the RDF/OWL file. Used Drools to write business rules to do the risk assessment.
CSC750 Service-Oriented Computing - Runner Distance Tracker
Keyword: Android App, Play Framework, Scala, Java
Description: Implemented an App to track a user’s routes and calculate the distance when moving.
Bachelor Final Project - Single-Signed-On System
Keyword: PHP, Web, Javascript, CSS, Ajax
Description: Implemented a web based Single-Signed-On system using PHP.
Activities
Internal Coach Organization at Morningstar
Description: Taught about 100 employees in Morningstar the basic concept of OOP and VBA