KUZIE CHEN

Software Developer

About Me

I am a Software Developer with interest in C++ and low level infrastructure techchnology using C++.

Work Experience

Software Developer

Barclays

August 2024 - Present

Manchester, United Kingdom

  • Collaborating with testers in the Self-Service Stack Engineering team to implement new features, maintain, and troubleshoot full-stack systems, including client-facing front-end and back-end using C# and JavaScript.
  • Implement and test the integration of a sign language interpreter and screen reader on the bank's website for an internal project, leveraging Python, FastAPI, and JavaScript to enhance accessibility for customers with vulnerabilities.
  • Revamp Mortage appliction team's CI/CD pipelines from groovy jenkins to AWS lambda, increase pipeline efficiency.

Software Developer

Viridien (CGG)

December 2023 - July 2024

London, United Kingdom

  • Develop, optimize, and maintain large-scale, multithreaded data visualization applications for high-performance geophysical data analysis using C++ (Qt), Python and debugger/profiling tools.
  • Enhance mathematical models for geophysical data processing scripts by implementing multithreading, significantly reducing runtime and memory usage.

Software Engineer Intern

Sky

July 2023 - August 2023

London, United Kingdom

  • Worked with the embedded software development team for Sky Glass TV's HDMI-CEC and Bluetooth technology in RDK-V architecture.

Education

Bachelor of Computer Science with First-Class Honors

University of Birmingham

2020 - 2023

Birmingham, United Kingdom

Modules: Data Structure and Algorithms, OOP (Java) (100%), Full Stack Development (Java) (98%), Mathematical and Logical Foundations of CS, Security and Networks, System Programming in C/C++, Functional Programming, Advanced Network

Highlighted Projects

Lock-Free Memory Allocator

A high-performance, lock-free memory pool allocator designed for efficient memory management in C++. It is optimized for scenarios with frequent allocations and deallocations of small objects, especially in multi-threaded environments.

  • Developed a flexible memory bucket system that dynamically selects optimal pools based on requested object size, significantly reducing allocation time compared to standard operator new() by 500% at least.
  • By aligning memory padding for each allocation, cache hit rate is improved.
  • Using lock-free concurrent programming and atomic operations to replace mutex lock, reduces lock contention and improves concurrency performance.
  • Included comprehensive benchmarking and test suites to demonstrate performance gains and reliability across various data size.
View on GitHub

High Performance Cache System

A high-concurrency, thread-safe cache system written in C++. It supports multiple cache replacement strategies including LRU, LFU, and ARC, aiming to improve responsiveness and hit rate under concurrent access.

Currently transforming into a distributed architecture featuring consistent hashing for load balancing, gRPC inter-node communication, and etcd service discovery to create a comprehensive cache solution spanning from memory optimization to distributed systems.

  • Implemented multiple cache replacement strategies tailored to diverse access patterns.
  • Introduced cache sharding for LRU and LFU to reduce lock contention and boost performance under high concurrency.
  • Enhanced LRU with LRU-k to prevent cache pollution by avoiding hot data replacement with cold entries.
  • Improved LFU by applying a maximum average access frequency to evict stale hot data and boost overall efficiency.
  • Developed the ARC to dynamically balance LRU and LFU weights and enhance hit rates in complex conditions.
View on GitHub

Final Year AI Project: Multi-Agent Pathfinding

University of Birmingham

October 2022 - May 2023

  • Research and adapt the Conflict-Based Search, Space-Time A* search and multi-agent search to solve a new form of multi-agent pathfinding problem in C++.
  • Developed automation bash script to convert the result of the C++ pathfinding algorithm into a Python Matplot program which dynamically display routes for all the agents and the map.
Learn more and see demo videos

Automated Planning and Scheduling Summer School

Summer 2023

Participated in a summer school focused on automated planning and scheduling, learning about state-of-the-art techniques and applications.

  • Developed planning models using PDDL (Planning Domain Definition Language)
  • Implemented and tested planning algorithms

Skills

Programming Languages

C++
Python
Java
JavaScript
C

Frameworks & Tools

QT
PDDL
MATLAB
AWS