Stephen Tu is a research scientist at Google with 16 years of experience bridging academic research and production-quality C++ systems, holding advanced degrees from MIT and a PhD from UC Berkeley. His work focuses on numerical optimization and machine learning infrastructure, including notable open-source contributions to mlpack and ensmallen where he implemented and iterated on sparse, low-rank semi-definite programming solvers. He has a strong research pedigree from MIT, Berkeley, and CSAIL and a history of turning theoretical algorithms into tested, header-only C++ libraries used by practitioners. Comfortable across research and engineering, he blends deep algorithmic insight with pragmatic back-end development to ship robust optimization tooling.
16 years of coding experience
10 years of employment as a software developer
BA and BS, Computer Science and Mechanical Engineering, BA and BS, Computer Science and Mechanical Engineering at University of California, Berkeley
Master's Degree, Computer Science, Master's Degree, Computer Science at M.I.T.
A header-only C++ library for numerical optimization --
Role in this project:
Back-end Developer & ML Engineer
Contributions:68 commits in 2 years 8 months
Contributions summary:Stephen's contributions focus on developing a solver for sparse Linear Regression Semi-Definite Programming (LR-SDP) within the numerical optimization library. This involves implementing new functions and classes, specifically `LRSDPFunction`, and integrating them with existing optimization frameworks. Code changes include the implementation of the core evaluation and gradient methods for the objective function, and tests related to it.
mlpack: a fast, header-only C++ machine learning library
Role in this project:
Back-end Developer
Contributions:102 commits, 13 PRs, 15 pushes in 2 years 8 months
Contributions summary:Stephen's contributions focus on implementing a sparse, low-rank Semi-Definite Programming (SDP) solver within the mlpack library. Their work includes the initial development of the solver, as evidenced by commit messages like "WIP: first cut at sparse LR-SDP solver" and associated code modifications in `lrsdp_function.cpp` and `lrsdp_function.hpp`. Furthermore, the user appears to be refining and debugging this solver, as indicated by subsequent commits that rename variables and fix compilation errors, suggesting an iterative development process.
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.