About Me - Yangcheng Gu
Self-Introduction
I’m Yangcheng Gu, a software engineer at TikTok based in San Jose, California, United States. I hold a Master’s degree in Information Networking (MSIN) from Carnegie Mellon University and a Bachelor’s degree in Software Engineering from Tsinghua University.
I’m interested in scalable, maintainable system design and development. I believe software development is not just about making things work, but about building them well — with reliability, scalability, readability, and long-term maintainability in mind.
About the Webpage
This website acts as an introduction to my academic and professional experience as well as an archive of previously published personal blogs. The content of these blogs are technical notes from extensive reading and projects, involving programming languages, data structures and algorithms, computer systems, etc. They are written in Chinese/English.
Education
- Carnegie Mellon University, Master of Science in Information Networking (GPA: 4.00/4.00) (August 2024 – December 2025)
- Courses: Cloud Computing, Distributed Systems, Database Systems, Algorithms Design and Analysis, Machine Learning
- Tsinghua University, Bachelor’s in Software Engineering (GPA: 3.90/4.00) (August 2019 – July 2024)
- Courses: Computer Architecture, Software Engineering, Data Structures and Algorithms, Artificial Intelligence
- Honors: Scholarship for Academic Excellence (four times in 2020, 2021, 2022, 2023)
Internship Experiences [Show Details]
- Tier Criteria Management System (May 2025 - August 2025)
- Privacy and Security - Data Lifecycle Management - AI Governance, TikTok Inc.
- Supervisor: Pingchun Chiang, Software Engineer
- Click Farming Detection based on Comment Content and Language Model (June 2023 - July 2023)
- Risk Control R&D Department, Beijing Jingdong Century Trading Co., Ltd.
- Supervisor: Nan Lu, Algorithm Application Engineer
- Click Farming Detection based on the Similarity of Comment Pictures (July 2023 - August 2023)
- Risk Control R&D Department, Beijing Jingdong Century Trading Co., Ltd.
- Supervisor: Nan Lu, Algorithm Application Engineer
Publications
- Li, X.; Yang, P.; Gu, Y.; Zhan, X.; Wang, T.; Xu, M.; and Xu, C. “Deep Active Learning with Noise Stability.” Manuscript submitted to the AAAI-24 Conference for publication.
Research Experiences [Show Details]
- Deep Active Learning with Noise Stability (July 2023 - August 2023)
- Computational Biology Department, Carnegie Mellon University
- Advisor: Min Xu, Associated Professor
- Bi-level Optimization for Inductive Transfer Learning (August 2023 - July 2024)
- Computational Biology Department, Carnegie Mellon University
- Advisor: Min Xu, Associated Professor
- Log Data Reduction Algorithms Based on Provenance Graphs (November 2023 - June 2024)
- School of Software, Tsinghua University
- Advisor: Hai Wan, Associate Professor
- Log Data Encoding for Efficient Storage in Apache IoTDB (October 2022 - May 2023)
- School of Software, Tsinghua University
- Advisor: Shaoxu Song, Associate Professor
- Developing a Network Security Data Management System (October 2023 - December 2023)
- School of Software, Tsinghua University
- Advisor: Hai Wan, Associate Professor
- Visual Perception and Understanding of Three-dimensional Scenes: Action Recognition (October 2021 - September 2022)
- School of Software, Tsinghua University
- Advisor: Yue Gao, Associate Professor
Project Experiences
- Wargroove: An extension for wargroove game [GitHub](2021 Summer)
- Individual project for the course Practical Training For Programming
- Written in C++/Qt
- Won the award for the best course project that semester
- Daily Planner: Manage your periods of time [GitHub](2022 Winter)
- Individual project, developed for personal use
- Initially written in Python, and was then rewritten in C++/Qt
- Machine Learning Model Manage System [GitHub](2022 Summer)
- Group project for the course Web Front-end Technology and Practice of Programming
- In charge of core backend logics, including fundamental APIs and the background task management
- Written in Python (backend)
- MarsOJ: A Coding Platform for Teenagers [GitHub-Frontend](2022 Fall)
- Group project for the course Software Engineering
- Mainly in charge of the front-end part, including the basic architecture and core logics in the web project
- Written in Vue.js, on top of HTML/CSS, Javascript
- Won third place in the Software Development Competition of Innovation and Originality with the project
- C++-LLVM Compiler [GitHub](2022 Fall)
- Group project for the course Principles of Assembly and Compilation
- Completed most of the work individually
- Written in Python
- Assembly Cheat Engine [GitHub](2022 Fall)
- Group project for the course Principles of Assembly and Compilation
- Completed most of the work individually
- Written in x86 assembly language
- Database Management System [GitHub](2023 Spring)
- Group project for the course Principles of Database Systems
- Mainly in charge of queries, transactions and parallelism
- Written in Java
- Android College Forum Application [GitHub-Frontend] [GitHub-Backend](2023 Spring)
- Group project for the course Introduction to Mobile Application Development
- Completed the entire backend system and the major functions in the frontend application, including browsing post lists, creating posts and the message system
- Written in Java (frontend), Python (backend)
- Distributed Bitcoin Miner (2024 Fall)
- Group project for the course Distributed Systems
- Developed a distributed concurrent Live Sequence Protocol (LSP) module with network programming from scratch, which enables the reliable transmission of packets between clients and server
- Implemented a distributed bitcoin miner based on the LSP module, which supports concurrent mining on distributed miner machines
- Written in Go
- Embedded Operating System Development (2024 Fall)
- Group project for the course Introduction to Embedded Systems
- Designed low-level functionalities of an operating system in the ARM embedded architecture from scratch, including memory layout, device drivers, interrupts and system calls, user-space thread scheduling, synchronization, etc.
- Written in Arm Assembly Language and C
- BusTub - Relational Database Management System (2025 Spring)
- Individual project for the course Introduction to Database Systems
- Implemented components of a relational database management system, including buffer pool manager, efficient database indexes (B+ Tree), query execution/optimization and concurrency control mechanisms.
- Written in C++17