Zherui Cao is a Senior Architect based in Shanghai with a decade of experience building high-performance storage and data systems across companies like NVIDIA, Microsoft Azure, and Vertica. He specializes in back-end C++ development for columnar formats and data lakes, contributing significant bug fixes and feature work to foundational open-source projects such as Apache Arrow and Apache ORC. At Microsoft he focused on storage integrity and garbage collection for Azure, and at Vertica he engineered robust Parquet/ORC/Avro read-write paths for complex types. A former Google intern who optimized query execution in F1, he combines deep systems expertise with practical contributions to widely used data infrastructure—evidenced by Parquet-related enhancements in Apache Arrow that improve metadata handling and large-row support. Not actively seeking roles, he nonetheless continues to influence open-source data tooling from a hands-on architect’s perspective.
10 years of coding experience
6 years of employment as a software developer
Exchange Student, Information System, Exchange Student, Information System at Singapore Management University
Bachelor's degree, Computer Science, Bachelor's degree, Computer Science at Zhejiang University
Apache ORC - the smallest, fastest columnar storage for Hadoop workloads
Role in this project:
Back-end Developer
Contributions:3 reviews, 6 commits, 6 PRs in 3 years
Contributions summary:Zherui primarily contributed to bug fixes and feature enhancements within the Apache ORC project, a columnar storage format. Their work involved modifications to C++ code, including addressing issues related to versioning, data parsing, and metadata handling. Furthermore, the user added functionality such as adding user metadata to the writer and optimizing map vector batch handling. These contributions indicate an active role in improving the functionality and stability of the ORC file format implementation.
Apache Arrow is the universal columnar format and multi-language toolbox for fast data interchange and in-memory analytics
Role in this project:
Back-end Developer
Contributions:7 commits, 9 PRs, 8 comments in 2 years 2 months
Contributions summary:Zherui primarily contributed to the Apache Arrow project by implementing and improving Parquet-related functionalities. Their work included bug fixes within the `parquet` directory, such as correcting the `GetSize` method in `ParquetInputWrapper`, addressing errors related to `BufferedInputStream` and `OutputStream`, and providing an API to retrieve metadata. Furthermore, the user implemented core functionalities for the project by adding a method for returning the file metadata as a string and adjusting the `rows_written_` variable to be of type `int64_t` to handle a larger number of rows.
memorymulti-languagetoolboxacceleratedarrow
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.