William Zhang
I am a third-year computer engineering student at the University of Waterloo.
My interests span a wide variety of areas. One of my latest foci is CPU and domain-specific architecture all levels of the stack, including chip design, compilers, ASIC and GPU kernels, and systems programming.
Another area that I am passionate about is convex optimization. I have applied it in my personal projects and open-source contributions to CVXPY. In particular, I like interpreting problems in a wide variety of applications using optimization, and applying mathematical optimization algorithms to solve them.
Experience
- Cerebras Systems May 2026 - PresentSoftware Engineering Intern Toronto, Canada
- Trend Micro Sept. 2025 - Dec. 2025Software Engineering Intern Ottawa, Canada
- Ford Motor Company Jan. 2025 - Apr. 2025Software Engineering Intern Ottawa, Canada
- Ford Motor Company May 2024 - Aug. 2024Software Engineering Intern Ottawa, Canada
Open-Source Contributions
Some of the open-source projects that I have contributed to include:
- CVXPY, a Python-embedded modelling language for convex optimization problems, with over 4M downloads/month. Originates from a research project at Stanford University.
- CVXPYlayers, a Python library for convex optimization-based layers in deep neural networks, compatible with PyTorch, JAX, and MLX.
- DCCP (Discplined Convex-Concave Programming), a convex heuristic for solving nonconvex problems.
- Tilus a GPU domain-specific language by NVIDIA that provides explicit low-level control and hardware abstraction.