Bowen Ni is a Senior Software Engineer with 11 years of experience building developer-facing infrastructure and production systems, currently contributing to Vertex AI infrastructure at Google. He previously worked on TypeScript language infrastructure and Google Assistant, bringing deep expertise in TypeScript, compilers, and developer tooling. Bowen is an active open-source contributor to high-profile projects like Angular and TSLint, where his work improving error handling, compiler messages, and linting rules demonstrates a focus on developer experience and robust tooling. Trained in mathematics and computer science at the University of Toronto and USC, he blends formal rigor with pragmatic engineering to simplify complex systems. Based in Saratoga, CA, he pairs large-company scale experience with hands-on contributions that improve everyday developer workflows.
11 years of coding experience
2 years of employment as a software developer
Master's degree, Computer Science, Master's degree, Computer Science at USC
Bachelor's degree, Mathematics and Computer Science, Bachelor's degree, Mathematics and Computer Science at University of Toronto
Contributions:19 commits, 27 PRs, 20 comments in 2 years 6 months
Contributions summary:Bowen's commits primarily focus on improving the Angular framework's codebase, specifically addressing console logging and error handling. They refactored code to check for the definition of `console.error` and modified compilation processes to address exit codes and the correct output of errors. Furthermore, the user's contributions include refactoring and improving error messages related to template parsing and module declaration within the Angular compiler.
:vertical_traffic_light: An extensible linter for the TypeScript language
Role in this project:
Software Engineer
Contributions:9 commits, 15 PRs, 35 comments in 1 year 8 months
Contributions summary:Bowen primarily contributed to the TSLint project by fixing bugs and adding new features related to linting rules for TypeScript code. Their work involved modifying existing rules, such as `no-unused-variable` and `restrict-plus-operands`, and adding new rules like `ban-ts-ignore`. They also addressed code style issues and improved the codebase by adding functionality to ignore specific type assertions.
linterlighteslinttraffic-lighttslint
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.