Skills and Interests

I started learning to program at a young age with the intention of making video games. Initially I used Torque Game Engine to build a simple online shooter game, which I only ever distributed to friends. After a few years I moved on to writing my own game engine using OpenGL and Bullet. I found that building tools and working with graphics APIs was far more intersting than making games themselves.

Most of my projects are written in C++, but I'm experienced with Java, Objective-C, JavaScript, Python and C#. I'm comfortable writing applications using OpenGL, and have some basic knowledge of DirectX. I prefer working on Linux and OS X machines, so there have been fewer opportunities to learn DX related APIs. I don't do a lot of work with raster-based rendering anymore though; my primary focus has shifted to ray tracing and physically-based rendering techniques. I'm currently working on Ignis, a path tracer I've written from scratch.

I occasionally dabble in web development, and try to stay up to date with current industry trends. Designing and building websites offers a pleasent change of pace from lower level programming. In the last year I've started learning Node, which I used as the backed for this website.

My game development projects required me to learn a variety of tools for 2D and 3D content creation. I've used Photoshop and Inkscape exstensively, and have some experience with Illustrator and Premiere. For 3D modeling and simulation I'm most familiar with Blender3D, an open source software package. Some of the work I've done with Blender can be found in the Portfolio section of this site.

Work and School

I graduated with a software engineering degree from the University of Waterloo in 2016. A large part of my degree involved interning at software companies — in total I completed five internships. My first two were at Enflick , a local mobile apps start-up, where I gained experience developing for Android and iOS. During my second year I worked at Evernote on the web services team. I primarily used Java and JSP, however near the end of the term I had the opportunity to work with newer technologies like Ruby, HAML and Middleman. My last two internships were at Side Effects, where I worked on a variety of projects involving Houdini. I am now working full time at Side Effects.