Evan Zhang is a software engineer with eight years of practical experience and currently completing a BE in Software Engineering at the University of Waterloo while working at Camel Capital. He has interned across high-performance and data-centric teams—Snowflake, SAP, Jane Street and others—gaining deep exposure to database engines, compilers, and low-latency systems. A consistent backend contributor to the DMOJ open-source online judge, Evan has improved execution security, modernized language support (including C++20), and enhanced contest and rating APIs. He blends production-grade API and systems work with a keen eye for reliability and security, shown by fixes to executor sandboxes and syscall handling. Based in Waterloo, Iowa, he brings both academic rigor and hands-on engineering from competitive programming infrastructure to enterprise query engines. Colleagues describe him as quietly thorough: he surfaces subtle correctness and performance fixes that prevent larger failures down the line.
8 years of coding experience
1 year of employment as a software developer
University College London
William Lyon Mackenzie Collegiate Institute
Bachelor of Engineering - BE, Software Engineering, Bachelor of Engineering - BE, Software Engineering at University of Waterloo
A modern open-source online judge and contest platform system.
Role in this project:
Back-end Developer
Contributions:275 reviews, 256 commits, 309 PRs in 4 years 3 months
Contributions summary:Evan primarily contributed to the back-end functionality of the online judge platform, making enhancements to the API, user management, and contest features. They implemented functionalities such as adding rating, volatility, and contest history to the API. Furthermore, they fixed bugs related to comment display, ticket forms, and general performance improvements.
Contributions:8 reviews, 13 commits, 14 PRs in 2 years 4 months
Contributions summary:Evan primarily contributed to the backend of the DMOJ judge-server. Their commits include fixing compilation issues in Java and ASM executors, and integrating standard input/output and error streams for the `SecurePopen` class. The user also made modifications to improve error handling and security, such as stripping carriage returns and globally allowing the clock_gettime64 syscall. Further contributions extended to include support for C++20 and persistent command history for the CLI.
dmojpythoncontest-platformonline-judgelinux
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.