My music is now located at music.5am.works.

Sam Wáng

(5AM WORKS)

I am a software engineer working on Android Studio at Google.

Scroll down to see my résumé and links to my other websites.

Last updated: 2024/3

Résumé

Skills

My preferred languages:

Unison Lean F# Scala Crystal

I'm also proficient in:

Ruby Swift Nim Rust TypeScript C# Elixir

I also work with other languages in my work experiences and personal projects, listed below.

Work experiences

Google LLC

Android Studio

KotlinJavaC++PythonGoJavaScript
Kirkland, WA, USA Since 2020/5

Studio Bot

  • Built a tool for automatically generating responses from language models and evaluating the quality of the responses with numerical scores
  • Created a list of annotated questions used with the abovementioned auto-evalutator for judging improvements and regressions across new releases of language models
  • Co-created a set of code-writing prompts that cover a large number of topics in Android app development
  • Built a pipeline for generating executable code from the abovementioned prompts using different internal language models, then compiling and running the generated code to test its correctness and robustness of the language models over multiple generations
  • Collaborated with other Android teams to expand the coverage of automated prompt testing, including hallucination detection, troubleshooting errors and screenshot-based prompts

Android Studio Platform

  • Developed and maintaining a plugin for IntelliJ IDEA used by internal Android Studio teams to view Android Studio's exception, UI freeze, and memory heap reports
  • On the company-wide internal dashboard for viewing crash reports, added support for Kotlin source code (previously limited to only C++ source code)
  • Created and maintaining several linguistics-related Android Lint checks
  • Fixed and improved several existing Lint checks

Community contributions

  • (2019/11 – 2023/9) As a 20% project contributor, implemented many UI and server-side features of the internally used app for navigating through Google offices
  • (2022/3 – 2024/2) As a Kotlin readability reviewer, reviewed Kotlin code written by engineers from teams across the company, helping them gain "readability" (i.e., company-recognized proficiency) in Kotlin, having reviewed over 1500 changelists and onboarded 11 new reviewers
  • Received four peer bonuses for various community contributions

Previous team:

Google Ads

DartJava
Mountain View, CA, USA 2019/8 – 2020/4
  • Worked on various frontend and backend features of a dashboard app used by sales teams to manage customer data

Education

University of Washington 2023/9 – (on hiatus since 2024/4)

Master of science in computational linguistics (in progress)

University of Waterloo 2014/9 – 2019/4

Bachelor of computer science with minor in cognitive science

Personal projects

Interia (work in progress)

Yet another constructed language

Project purposes:

  • To gain more experience with Scala and property-based testing
  • To learn more about natural language syntax

Languages and frameworks used:

  • Scala The parser

Veila (work in progress)

Yet another programming language

Project purposes:

  • To gain experience with Crystal
  • To learn about compilers and type systems

Languages and frameworks used:

  • Crystal The compiler

Krestia

A personal constructed language

Project purposes:

  • To gain experience with F# and Azure
  • To experiment with constructed languages and formal grammars

Languages and frameworks used:

  • F# Parser library
  • C# Backend (Azure Functions) and web frontend (Blazor WebAssembly)
  • TypeScript Library for rendering the language's script

Linguisteria

My website for linguistic research projects

Project purposes:

  • To gain experience with Julia (formerly used), Scala, Astro, and Svelte
  • To conduct linguistic research on various topics that interest me

Languages and frameworks used:

5AM WORKS Music

A web player of my musical works

Project purposes:

  • To showcase my music
  • To gain experience with Elm (formerly used), Blazor (formerly used), SvelteKit, and the HTML5 Audio API

Languages and frameworks used:

  • TypeScript Second rewrite of the web app, using SvelteKit
  • C# First rewrite of the web app, using Blazor WebAssembly (migrated away)
  • Elm Original web app (migrated away)

Internships

Facebook, Inc.

JavaScriptPHP
Seattle, WA, USA 2018/9 – 2018/12
  • Using React and Hack (typed PHP), created a new ad format on the web
  • Responsible for the entire development process

Lime (Neutron Holdings Inc.)

RubyJavaScript
San Mateo, CA, USA 2018/5 – 2018/8
  • Made many contributions in several codebases, including the server, web app, mobile app, and data analysis
  • Translated the internal mobile app into French

Cognitive Systems Corp.

TypeScriptPython
Waterloo, ON, Canada 2017/9 – 2017/12
  • Designed and built a tool for visualizing movement data using Bokeh
  • Built and traned a neural network for detecting noise in movement data, supplemented by simutaled images for more precise training control

Microsoft Development Co., Ltd.

C#TypeScript
Tokyo, Japan 2017/1 – 2017/4
  • Constructed a detailed metrics dashboard, used by the team to monitor a microservice
  • Completed major tasks, including the project setup, of a new grammar microservice

Encircle Inc.

CoffeeScriptPythonJava
Kitchener, ON, Canada 2016/5 – 2016/8
  • Major contributions to the server, mobile and web apps
  • Built an extensible email templating system
  • Built a system for managing UI translations and translated the web app into French

Vena Solutions

JavaJavaScript
Toronto, ON, Canada 2015/5 – 2015/8
  • Wrote extensive test suites for the platform's API using Postman, increasing overall test coverage by 30%
  • Using Postman Proxy, converted unmaintained tests in Java into Postman collections

External links

GitHub

for my open-source repositories

SoundCloud

where I upload music, including original works and remixes


The following websites have already been mentioned in my résumé:

5AM WORKS Music

for (the complete catalog of) my musical compositions

Krestia

for everything related to Krestia, my constructed language

Linguisteria

for my linguistic research projects

Contact info

I'm reachable at you.need@javascript.

This website is built using Astro.