Student. Designer. Software Ninja.
I'm a 22-year old student majoring in Computer Science at the University of British Columbia in Vancouver, Canada. I'm currently in my 5th year of a 5-year program which includes Co-Op. Along the way, I've had the opportunity to work in several different roles, both at other companies, and within the university, developing not only my technical skills, but also my soft skills.
I've also been exposed to several other languages such as Java, Racket, C, C++ and C# during my studies and at my various roles. During my time at Tasktop and Microsoft, I used these technologies to create web and rich-client software which allows other developers to utilize Agile methodologies at work. Additionally, at Elastic Path, I used Ant and Maven to create new ways for people to access the thick client through the web.
Outside of working on some great projects, I have been heavily involved in the Computer Science community at the University of British Columbia. I served as the president of the Computer Science undergraduate society during the 2011/2012 school year, and as well, through my job as president and outside of the role, served on several departmental committees tasked with improving the student experience at the school.
Unit Testing (JUnit/QUnit)
Windows 8 Development
Source Control Tooling
Throughout my education, I've been fortunate enough to work at several great companies, developing my skills at each one, and learning more about the real world and what it's like to work in a small, medium-sized and enterprise company. During this time, I've also had the chance to work on some amazing projects, all of which are presented below this section.
Working on the Visual Studio Application Lifecycle Tools team, I investigated and prototyped new approaches to creating indexes of data stored on Team Foundation Server, from small sets of files to massive, multi-million file installations. As part of the project, I weighed various methods to scalable indexing of files, and measured their impact through a proof of concept running on Team Foundation Server.
During my time at UBC, I have spent several terms assisting the professors by performing Teaching Assistant duties for both CPSC 110 and CPSC 210. These new introductory courses are part of a program developed to provide a class for all students, regardless of major, to learn the basics of Computer Science using Racket (in 110) and Java (in 210).
As part of my internship-long project, I modified Elastic Path's offering, and created several Ant and Maven build scripts, in order to support the deployment of the Commerce Manager Client on Java Web Start, as part of a lighter-weight installation that can be commenced through the internet.
In addition to creating internal statistics tools in PHP with Apache log skimming, I worked on the makings of the Polarion Connector, currently available to customers. Additionally, I worked on Product Backlog Planning tools as part of the Scrum Planning offerings.
Over the past several years, I've had the oportunity to create, and contribute to, several great projects. These projects span from personal projects, to projects at large companies, to startups, and everything in between. Select a project below to get more information about it.