Chu Shao

Software Engineer | Deejay | chu@cshao.me

ABOUT

I'm a Software Engineer at Udemy and on the side my interests are in Ubiquitous Computing and Internet of Things.

WORK

Software Engineer
Udemy

Software Engineer on the Growth Engineering team.
Work with our growth team and our web applications team to generate new features related to growth hacking.

JANUARY 2015 - CURRENT

Software Engineer
CBS Interactive

Replatformed a popular CBS Interactive website onto a new internal content and audience management system. In addition, coded in various industry standard languages and software stacks, including symfony2, requirejs, jquery, php, twig, html5 and javascript. Also optimized solr search indexer and managed bug fixes.

West Coast PoC for managing deploys, fixing blockers and running data migrations. In addition, one of the main software engineers on the backend for ZDNet replatform and focusing on implementing a backend system that fits what ZDNet needs.

SEPTEMBER 2013 - JANUARY 2015

INTERN:
JUNE 2013 - SEPTEMBER 2013

CSE 8B Tutor
UCSD

Tutored for CSE 8b: Introduction to Java programming class. Worked with students on providing help and comprehension on their programming assignments and graded problem solving assignments.

APRIL 2013 - JUNE 2013

CSE 3 Head Tutor
UCSD

Head Tutor for CSE 3: Fluency in Information Technology. Worked with the professor in creating homework, grading labs, and lead other tutors in providing a comprehension of technology to non-technical students.

JANUARY 2013 - MARCH 2013

Software Engineer - Intern
BlueHornet/Digital River

Worked on adding a custom field for users to input through the BlueHornet mail service application. This internship provided an opportunity to go through one development cycle and implement a custom number field that will be used to send personalized data to millions of subscribers. This project mainly utilized Zend framework and in house php libaries.

JUNE 2012 - SEPTEMBER 2012

Systems and Network Support
Ocean Observatories Initiative

Manage 5 different network-monitoring tools, modify and create bash scripts, and do various miscellaneous troubleshooting jobs such as setting up servers, installing virtual machines, write shell scripts, design visio charts, and technical support for staff members. Mainly devops support.

JUNE 2011 - OCTOBER 2013



SKILLS

Programming Languages
Python
Javascript/Coffeescript
PHP
Ruby
Java
C
C++
MATLAB
Shell Script
SPARC Assembly
Ocaml
Scala
Go
SystemsVerilog

Web Frameworks
Symfony
Node.js
RequireJS
Express
JQuery
Flask
Django
Zend Framework
Sinatra
Ruby on Rails

SQL
MySQL
Oracle Database 11g
PostgreSQL
MongoDB
CouchDB


PROJECTS

Balancr
Human Computer Interaction Project: CSE 170

Project class focused on gathering data on user needs and creating an application that fits the needs through concepts of usability engineering and human computer interaction. Designed an iPhone based web application that allows users to insert details about their lifestyles and generate graphs based on the desired details.
http://balancr.herokuapp.com
Poster

JANUARY 2014 - MARCH 2014

Chroma
Google Glass Project

Chroma, a wearable augmented-reality system based on Google Glass that allows users to see a filtered image of the current scene in real-time. Chroma automatically adapts the scene-view based on the type of color blindness, and features dedicated algorithms for color saliency.

Check below for more information

JANUARY 2014 - MARCH 2014

TimeWastr
Android/Web Server Interface project

TimeWastr is an application that grabs articles from websites, calculates the words of each article and allow users to read the articles at an average wpm pace by the time they desire. This application utilizes a Node.js backend that communicates completely through API calls to a front end Android Application.

JANUARY 2014 - MARCH 2014

Vendos
Kinect/Arduino Project

Vendos is an home automation project designed to interface Kinect with an Arduino, and allows the user to control home appliances through movements and voice commands. This project focuses on creating a Ubiquitous home environment on the budget and allows users to have a DIY project that can control appliances.
Research Paper

SEPTEMBER 2013 - DECEMBER 2013

Humanitarian Engineering Project
We Have We Need

Project class focused on creating an inventory-sharing system that allows improved coordination between non-governmental organizations operating in disaster areas. We Have We Need is a web application written in python in which it allows users to manage their inventory and communicate with others on receiving and giving necessities during a crisis.
http://www.wehave-weneed.org

JANUARY 2013 - DECEMBER 2013

IRC Chat Server
Independent Study: Concurrent Programming with Go

Independent study class focused on learning Golang, a concurrent programming language. This project partially implements the rfc-1459 standards of an irc server, in which clients can connect to it and chat. This project focused mainly on concurrency and managing goroutines.
Summary Slide

APRIL 2013 - JUNE 2013

Reduced-C Compiler
Compiler Construction: CSE 131

Project class in which we built parser that does syntactic and symantic analysis on Reduced-C code. Then we built a code generator that translates correctly inputted code to SPARC assembly. Reduced-C is light version of C++ and includes almost every feature supported, including classes, pointers, structs and arrays.

APRIL 2013 - JUNE 2013

GradeSource Uploader

Self-motivated project in which I help the cse department create tools for easier access of a grading system. Currently working on a python backend of easing uploads to gradesource, an online course management system. Written as a way to simplify uploading grades, as it allows users to grab names, emails, pid into csv forms and allow csv uploads for grades. In addition, wrote a ruby/sinatra based gui webapp as a wrapper for this backend
Github repo
Github repo for gui wrapper

DECEMBER 2012 - MARCH 2013

Crossfit Workout Web Application
Software Engineering Project: CSE 110

Project class focused on building a web application that utilizes agile development in thought process and creation. we utilized ruby on rails web framework and provided an application that allows crossfit users to keep track of their workout statistics.
Github repo

APRIL 2012 - JUNE 2012

FPGA Edge Detection using AutoESL
Embedded Systems Project: CSE 145

Project class focused on building an embedded computing system. our project was to build a better traffic analyzer utilizing video and sensor input on a Xilinx Spartan 6 FPGA. Our goal was to achieve real time motion tracking using edge detection.

JANUARY 2012 - MARCH 2012



EDUCATION

Computer Science B.S.
UC San Diego

Related Coursework

Fluency in Information Technology
Introduction to Programming with MATLAB
Introduction to Computer Science and Object-Oriented Programming: Java
Basic Data Structures and Object-Oriented Design
Discrete Mathematics
Computer Organization and Systems Programming
Advanced Data Structures
Design and Analysis of Algorithms
Probability and Statistics
Theory of Computability
Software Engineering
Principles of Computer Operating Ssystems
Programming Languages: Principles and Paradigms
Compiler Construction
Global TIES: Team Engineering
Embedded System Design Project
Independent Study: Concurrent Programming with GO
MATLAB for Experimental Research
Ubiquitous Computing
Components and Design Techniques for Digital Systems
Introduction to Computer Architecture
Computer Architecture Project
Introduction to HCI Design
Mobile Programming
Directed Group Study: Google Glass and Chroma

GRADUATED JUNE 2014


Publications

Chroma: A Wearable Augmented-Reality Solution for Color-Blindness.
Enrico Tanuwidjaja, Derek Huynh, Kirsten Koa, Calvin Nguyen, Churen Shao, Patrick Torbett, Colleen Emmenegger, and Nadir Weibel. Chroma: A Wearable Augmented-Reality Solution for Color-Blindness. In Proceedings of Ubicomp 2014, ACM International Joint Conference on Pervasive and Ubiquitous Computing, (UbiComp '14 Adjunct) ACM, New York, NY, USA, 799-810.


CONTACT

Email
chu@cshao.me