My music is now located at musica.5am.ooo.

5AM WORKS

My name is Sam Wang; 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: 2022/11

Résumé

Skills

I prefer to use these languages whenever possible:

ElixirGleamF#RubyCrystalRustNim
HaskellUnisonC#ScalaFlixJuliaTypeScript

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

Work experiences

Google LLC

Android Studio

KotlinJavaC++PythonGo
Kirkland, WA, USASince 2020/5

Android Studio Quality

  • On the company-wide internal dashboard for viewing crash and UI freeze reports, added the ability to view Kotlin stack traces for individual threads in Android Studio
  • Co-created and currently maintaining a plugin for IntelliJ IDEA used by various teams to view crash and freeze reports directly inside the IDE

Android Lint

  • Created and maintaining several linguistics-related Lint checks
  • Fixed and improved many existing Lint checks

Community contributions

  • As a 20% project contributor, currently implementing many UI and server-side features of internally-used office navigation app (since 2019/11)
    • Received a peer bonus for a successful and seamless migration of the backend
  • As a Kotlin readability reviewer, reviewing Kotlin code written by engineers from teams across the company and helping them gain "readability" (i.e. proficiecy) in Kotlin, currently having reviewed over 500 changelists (since 2022/3, as of 2022/11)
    • Also onboarded five new readability mentors through a reverse-shadowing review process
    • Received a peer bonus for the high throughput of reviews

Previous team:

Google Ads

DartJava
Mountain View, CA, USA2019/8 – 2020/4
  • Made front-end and back-end contributions to internal website used by Sales teams to manage advertiser information

Education

University of Waterloo2014/9 – 2019/4

Bachelor of computer science with minor in cognitive science

Key courses:

  • Algorithms (CS 341)
  • Concurrent and Parallel Computing (CS 343)
  • User Interfaces (CS 349)
  • Software Design and Architectures (CS 446)
  • Computer Networks (CS 456)
  • Introduction to Artificial Intelligence (CS 486)

Personal projects

Krestia and Naidira

Constructed languages with formal grammars

Languages and frameworks used:

  • F#Parser libraries
  • C#Backend (Azure Functions) and frontend (Blazor WebAssembly)
  • TypeScriptLibrary for rendering each language's script

Linguisteria e programmettas

My website for small linguistic and programming projects

Languages and frameworks used:

Lox interpreter (study project)

An interpreter and a compiler for Lox, the programming language presented in the book Crafting Interpreters by Robert Nystrom

Languages used:

Musica de 5AM Works

A web player of my musical works

Languages used:

  • C#Web app (Blazor WebAssembly)
  • TypeScriptHTML5 audio integration

Internships

Facebook, Inc.

JavaScriptPHP
Seattle, WA, USA2018/8 – 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, USA2018/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, Canada2017/8 – 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
Minato, Tokyo, Japan2017/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, Canada2016/5 – 2016/8
  • Major contributions to the server, mobile and web apps
  • Built an extensible email templating system
  • Built a translations system, and translated the web app into French

Vena Solutions

JavaJavaScript
Toronto, ON, Canada2015/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

Links to my other websites

GitHub

View my open-source repositories

SoundCloud

where I upload music, including original works and remixes


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

Musica de 5AM Works

A web music player for all of my musical compositions

Krestia

for everything related to Krestia, my constructed language

Naidira

for everything related to Naidira, my other constructed language

Linguisteria e programmettas

for my small linguistic and programming projects