Xinli Shang

Senior Staff Software Engineer at The Apache Software Foundation

Seattle, Washington, United States
email-iconphone-icongithub-logolinkedin-logotwitter-logostackoverflow-logofacebook-logo
Join Prog.AI to see contacts
email-iconphone-icongithub-logolinkedin-logotwitter-logostackoverflow-logofacebook-logo
Join Prog.AI to see contacts

Summary

🤩
Rockstar
🎓
Top School
Xinli Shang is a Senior Staff Software Engineer based in Seattle with a decade of experience designing and optimizing large-scale data infrastructure, now leading technical efforts at Uber. He has deep expertise in distributed query engines and columnar storage formats, contributing significant enhancements to Presto (adding LZ4/ZSTD support, Parquet encryption, and column index optimizations) and to Apache Parquet Java (performance fixes, CLI tooling, and JNI ZSTD integration). Xinli blends hands-on backend development with technical leadership—progressing from individual contributor roles at Microsoft and Amazon to senior engineering manager and staff tech lead positions at Uber. As VP PMC Chair of Apache Parquet and a Presto committer, he actively shapes open-source data ecosystems and often implements cross-project integrations that aren’t immediately visible in product roadmaps.
code7 years of coding experience
job17 years of employment as a software developer
bookThe University of Texas at Arlington
github-logo-circle

Github Skills (14)

parquet10
javas10
hive10
presto10
sql10
java10
encryption9
encrypt9
crypt9
query-optimization9
big-data9
data-structure7
data-structures7
algorithms7

Programming languages (7)

JavaScalaGoHTMLMermaidThriftPython

Github contributions (5)

github-logo-circle
apache/parquet-java

Oct 2018 - Sep 2022

Apache Parquet Java
Role in this project:
userBack-end Developer
Contributions:222 reviews, 23 commits, 92 PRs in 3 years 10 months
Contributions summary:Xinli primarily focused on optimizing and improving the Apache Parquet Java library. Their contributions included removing unnecessary string conversions in the `readFooter` method and truncating min/max values for statistics, improving efficiency. They also added a 'prune' command to `parquet-tools`, and a 'column-size' command to `parquet-cli` and `parquet-tools`, and the encryption translation tool. Furthermore, the user replaced Hadoop ZSTD with JNI-ZSTD.
avroparquetapachebig-dataapache-parquet
prestodb/presto

Jan 2021 - Oct 2022

The official home of the Presto distributed SQL query engine for big data
Role in this project:
userBack-end Developer
Contributions:177 reviews, 7 commits, 39 PRs in 1 year 9 months
Contributions summary:Xinli focused on enhancing the Presto query engine's data processing capabilities, specifically by adding support for reading and writing data compressed with LZ4 and ZSTD formats within Hive tables. They incorporated code from the Trino project and implemented unit tests to validate the new compression methods. Further contributions involved optimizing Parquet file reading using column indexes and integrating parquet encryption functionality into Presto, which involved significant code modifications related to decryption.
distributed-sqlquerybigdataquery-enginesql
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.
Request Free Trial
Xinli Shang - Senior Staff Software Engineer at The Apache Software Foundation