Will Lillis is a junior software engineer and M.S. candidate in Computer Science at UMass Amherst specializing in security, with a strong quantitative foundation from triple majors in Computer Science, Physics, and Mathematics. He brings four years of practical experience across software engineering and hardware security research, including work on memristive ML accelerators and a survey of over 100 papers. Will is an active open-source contributor to high-profile projects like tree-sitter and the Zig compiler, improving CLI tooling, Rust bindings, and compiler diagnostics—demonstrating attention to correctness and developer ergonomics. Comfortable in C/C++, Rust, and Zig, he enjoys tackling difficult low-level problems and building tooling in the LSP and Neovim ecosystems. Based in Raleigh, NC, he combines competitive-team experience from college baseball with a persistent curiosity for systems-level security and language tooling.
4 years of coding experience
1 year of employment as a software developer
Wabash College
Master of Science - MS, Computer Science, Master of Science - MS, Computer Science at University of Massachusetts Amherst
An incremental parsing system for programming tools
Role in this project:
Back-end Developer
Contributions:88 reviews, 67 PRs, 6 pushes in 1 year 3 months
Contributions summary:Will primarily contributed to the command-line interface (CLI) functionality, adding new arguments and options to existing commands such as `parse`, `test`, and `query`. They also implemented features like the ability to load a configuration file from a custom path and support for the `NO_COLOR` environment variable. In addition, the user made several fixes to the Rust bindings, including adding lifetimes and correcting ranges in the `QueryCursor`.
General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
Role in this project:
Back-end Developer
Contributions:8 reviews, 20 PRs, 40 comments in 1 year
Contributions summary:Will primarily focused on improving the Zig compiler's error messages and type checking capabilities. Their contributions include adding more informative error notes for type coercions, method calls on double pointers, and destructuring error unions. They also removed misleading error notes and fixed a segfault in a struct initialization function, indicating a focus on code correctness and debugging. Furthermore, the user made changes to pointer type syntax and AST rendering.
purposecompilertoolchainzigprogramming-language
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.