Theodore Ng

Junior developer

Summary

A junior developer with a computer science degree looking to expand into a full stack developer role. Logical thinker who is more comfortable working on back-end development from the 5 years of programming at UBC. Familiar with both functional and object oriented languages. Enjoys learning new languages, frameworks, and new technologies in general. Strives to keep his code DRY and as re-factored as possible.

Projects

HipVibes

  • Worked in a team of 3 to create a web application that allows multiple users to watch Youtube videos together in a virtual chat room where they can share videos with each other. (Community Jukebox)
  • Designed and implemented the relational database with Sequelize as an ORM and a PostgresSQL Database.
  • Implemented a Node.js back end server to expose RESTful API calls using Koa.js to feed JSON data to our front end React.js server.
  • Implemented local login and authentication using Passport.js and Bcrypt for password encryption.
  • Added Socket.io connections from our back-end server to our front-end server to serve events for our React server to render changes such as playing video and updating connection information. 
  • Helped debug and troubleshoot issues on our React/Redux front-end server.


Inspiragram

  • Designed and implemented a responsive web app to generate and display inspirational quotes on high quality images using Ruby using Sinatra. 

  • Implemented a scraper that seeded our database with validated images and used Sinatra, AJAX and Javascript for routing and HTML/CSS to display the images.


Data Visualizer

  • Designed and implemented in Unity and Java a tool that analyzes and visualizes trends and characteristics of commits in a target github repository.

  • Worked with a team of 4 following Scrum.


Library Database

  • Designed a library database using ERDs, highlighting functional dependencies, and normalization to BCNF.

  • Implemented and hosted a database using PHP and mySQL for a college library


Video Streamer

  • Implemented a multi-threaded video streamer in Java that connects to an RTSP server through TCP and receives RTP packets of video streaming frames

  • Resolved server issues such as dropped and out-of-order packets as well as latency issues by buffering and ordering frames using timestamps and sequence numbers


Jabber Chat Client

  • Developed an Eclipse chat client to explore UDP, and XMPP using Java

  • Enabled login abilities and handled sessions via socket programming


Climate Analyzer

  • Designed and created a web application to generate graphs and analysis on climate data provided from URLs or local files in the format of XML, JSON or CSV.

  • Collaborated with a group of 5 using an agile development approach with IBM’s Rational Team Concert, Google Web Toolkit and Google App Engine.


JHotDraw Extension

  • Designed and implemented an XML export/import feature for JHotDraw in Java, using UML diagrams and JUnit tests.


Zookeeper Leader Election

  • Implemented a leader election algorithm in ZooKeeper that operated locally on multiple instances of the program.


Prolog Clue Helper

  • Designed and implemented an assistant/helper program for the board game Clue that guided player actions with suggestions based on user inputted data of the current environment.


Vancouver Public Library Website

  • Prototyped/Wireframed the layout of VPL’s website to be more accessible and intuitive catering to the end consumer based on use cases acquired through user research such as surveys.

Education

Education
Nov 2015 - Jan 2016

Web Development Bootcamp 2015

Lighthouse Labs

Full-time immersive

Sep 2009 - May 2014

B.Sc Major in Computer Science

University of British Columbia


Work History

Work History
Jan 2012 - Jan 2013

Application Support Analyst

ZE PowerGroup Inc
  • Assisted development team in testing and writing Selenium test scripts

  • Assisted the QA team in testing and writing Selenium tests for new company software

  • Assisted in testing, troubleshooting and resolving issues in a new release of the company’s subscription environment of its software suite.

  • Performed health checks on the systems and databases of managed clients.

  • Assisted the Application Support team in reporting and resolving JIRA issues and tickets.

  • Collaborated with the Development/Data Manager team in troubleshooting, debugging issues with the company software and the database

  • Technologies used: JIRA, VBA, Selenium, SQL, Oracle/MSSQL databases, Oracle PL/SQL