I'm a web applications developer from Toronto, Ontario, Canada. I build highly scalable applications for global audiences. I'm currently working as software engineer for Stripe in San Francisco, helping build and scale their web applications.
Prior to Stripe, I worked for several companies including Reflektive, Wattpad and TravelEdge. Reflektive is a real-time feedback and reviews software platform with clients such as Pintrest, Uber, and Ubisoft. Wattpad is a social reading startup with nearly 20 million, highly international, monthly active users. TravelEdge is an enterprise travel agency software company powering over 500M in travel transactions
With some groundwork laid, I moved on to introducing new language features via es6 and a webpack build pipeline. When I arrived, Reflektive was serving a backbone application via rails using a build pipeline consisting of gulp and sprockets, deployed via Heroku. Over the course of a few weeks, I wrote a webpack build configuration that would work for our production, ci, and development environments.
Finally, I integrated with the company's data pipeline using a custom ruby endpoint and jenkins jobs that allowed me to create a dashboard in Datadog. This allowed me to combine real-time usage metrics and periodic performance measurements into one view to keep an eye on how well our application was performing. These metrics included time to first byte, meaningful paint, and time to interactive.
To meet the high standards of Wattpad's SLA goals, Datadog and Sumo Logic are used as some of the tools to monitor and check various metrics of performance, and keep an ear to the ground in case there are issues afoot.
Wattpad does a lot of AB testing and experimentation. An internal service helps assign users into buckets and they can then be given varying experiences or features so that their impact can be determined before rolling them out to everyone. For simpler growth tests, they often use Optimizely.
On the platform side of things, Wattpad uses Object Oriented PHP to create a RESTful API that each of the separate clients consume. When needed in a project or feature team, I've contributed to this code and continued to learn and develop my skills in PHP.
For continuous integration, Jenkins automates all of the usability and unit tests written in chai.js. This helps to ensure that all deployments go out smoothly.
At TravelEdge, I built an enterprise application using ASP.Net C# and MSSQL, and supported legacy pages in ColdFusion. The data tier was managed by entity framework, but prior to that they used prepared sql statements. The front end layer used ajax to communicate with the platform via a RESTful API.
Interests and Activities
In my downtime I love to go rock climbing and I compete in a weekly axe-throwing league. During the winter months I try to go skiing as often as possible. In the summer I enjoy playing volleyball, hiking, and generally spending as much time as I can outside. I love music and year-round I can often be found at concerts and music festivals. On rainy days you'll probably find me catching up on the latest Doctor Who episodes, playing video games, or editing photos I've taken on hikes.
Ask Me Anything
I'd love to hear from you and answer any questions you have. Please feel free to contact me via email.