Skills
Ruby
C
JavaScript
TypeScript
Python
Java
C++
Go
Bash
Scheme
Rails
App Engine
.NET
Hibernate
Canvas
jQuery
Closure Library
Ajax
d3.js
CSS3
Sass
Compass
Slim
MySQL
MSSQL
MongoDB
Redis
Google Cloud Storage
S3
RSpec
Git
POSIX
Windows API
Linux
HTTP
Experience
Software Engineer at GoogleMar. 2015 - present
- Leading a team working on backend infrastructures to conform to various legal requirements from different jurisdictions for products like Gmail, Chat, Meet, Duo, Google Fi, Voice and RCS
- Led a team and built the dynamic email product inside Gmail that allows users to see up-to-date content fetched from a server and interact with the email without leaving the inbox, using full-stack Java and JavasScript
- Developed Full-stack web applications from client-side (Dart and Angular) to frontend servers and then to backend storage (Spanner) for Google Fiber's signup and account management flows
Software Engineering Intern at GoogleJan. 2014 - Apr. 2014
- Enhanced Google's intern matching tool built with Java App Engine,
Guava, Guice, Mockito and Closure Library
- Migrated intern candidate in-memory search back end from Google's
production infrastructure to App Engine
Software Engineering Intern at GoogleMay 2013 - Aug. 2013
Started internal project from scratch using Go and App Engine for
reviewing and approving publications, in much the same way as code
review, before they get displayed on Research at Google.Software Engineering Intern at YelpSep. 2012 - Dec. 2012
Implemented QR code check-in system for Yelp elite parties and user
events which involves programming Python, MySQL, Amason S3, Selenium,
SMTP, jQuery, Prototype, and Twitter Bootstrap.Software Developer at Uken GamesJan. 2012 - Apr. 2012
- Developed game features from front to back for Mighty Monster
powered by Ruby on Rails, MySQL, jQuery, Ajax, SASS, and CSS3
animations
- Paired with senior developer to rewrite RESTful server, backed by
Rails and Resque, for push notifications on Android, iOS, and
BlackBerry
- Wrote MapReduce scripts for MongoDB to analyze timeline of
user requests
- Enhanced SVG-based diagram of real-time server errors displayed on
dashboard using d3.js
- Refactored Uken's official website by fixing unmaintainable HTML
and CSS and upgrading Rails to adopt asset pipeline
Software Engineering at Harris Corp.May 2011 - Aug. 2011
- Developed GUI widgets using MFC, ActiveX, and C# .NET
- Implemented new graph nodes for network visualization software with
C++ which involves Windows API, MSSQL, TCP/IP, and SNMP
- Learnt PHP and improved internal QA tools powered by Apache, MySQL,
and PHP
Software Developer at NCR Corp.Sep. 2010 - Dec. 2010
Enhanced Java EE application for remote check deposit powered by JSP,
Spring, EJB, and Hibernate.Education
Bachelor of Computer Science, University of Waterloo2009 - 2014
Projects
ActivitilaNov. 2012 - present
Redis-cached version of my activity feed merged from various sources
written in CoffeeScript and Node.js (activities.zhang.su).Scorched End Audio Library (SEAL)May 2011 - present
C library and Ruby gem for 3D audio rendering based on OpenAL.Visual OfficeOct. 2012
Game-like visualization tool (visual-office.appspot.com) for office seating plan produced in October's Yelp hackathon
exploiting CSS3 animations and Compass.zhang.suMay. 2012
CSS3 Homepage (zhang.su) built with Slim, Sass, and CoffeeScript.LoverApr. 2012
Two-player survival game (zhang.su/lover) on HTML5 canvas produced in Molyjam 2012 game hackathon.Sudoku and Sudoku SolverApr. 2010
Form-based Sudoku game and its solver developed with C# .NET.