Home / Experience

some of the things

Work

Senior Software Engineer @ Treasure Data

2019-10 to 2021-09

Languages: Kotlin, Java, Ruby, Python

Technologies: Rails, Dropwizard, PostgreSQL, PrestoSQL, AWS, Terraform, OpenAPI, Locust

  • Developed control plane services in Ruby w/ Ruby on Rails and Kotlin w/ Dropwizard, which managed configuration entities for data transformations and flows within our Customer Data Platform (CDP). Deployed these services on AWS with Terraform.
  • Verified system performance and checked for data model consistency issues by designing and running load tests with Locust.
  • Enabled greater insights into customer usage of our CDP, along with performance issues, by pushing for and developing analysis tooling for our internal query DSL.
    • Gave developers access to customer query data by building out a data pipeline to generate a sanitized query corpus.
    • Developed accurate encodings of our DSL in Kotlin which served as the foundations for our analysis tooling, and later on a new line of business.
  • Provided customers with more fine-grained control over their configurations as the technical owner for a cross-functional initiative to extend our internal permissions system.
    • Added a new RBAC domain layer and interpreter to our existing Rails application with sufficient expressiveness to encode our existing model and the extensions required.
    • Ensured a smooth deployment (and customer experience) by coordinating feature release with feature flags.
    • Led a Junior Software Developer, providing mentorship and support.
  • Introduced new (and sometimes old) technologies, techniques and best practices to our team by running a regular paper reading group.
  • Handled incidents as part of a regular on-call rotation and ran incident retrospectives.
    • Improved our operations by updating runbooks, tweaking dashboards, introducing additional monitoring and actively mentoring other developers during incidents.
  • Helped grow our Vancouver team from 3 to 10 developers
    • Interviewed potential candidates for our team.
    • Reduced onboarding times from months to weeks by performing a deep clean of our onboarding material and updating our service documentation.
Software Engineer @ Bazinga Technologies

2019-04 to 2019-10

Languages: Typescript, F#

Technologies: React, Redux, GraphQL, Webpack, Jenkins

  • In order to ship features for our users, became the sole frontend developer at the company and onboarded myself onto a pre-existing React Typescript project.
  • Enabled faster feature iteration, and deployments, by implementing CI/CD pipelines for our frontend and backend codebases based on a git feature branch workflow.
Intermediate Backend Developer
@ Rakuten Kobo & BitLit Media (Acquired)

2015-05 to 2018-05

Languages: Scala, Python, C++, C#

Technologies: Docker, PostgreSQL, RabbitMQ, Apache Thrift, Play Framework, Scala.js

  • Designed APIs for our iOS and Android applications using Apache Thrift RPC.
  • Implemented backend features using the Play Framework, PostgreSQL and RabbitMQ.
  • Implemented administrative UIs using Scala.js.
  • Performed performance profiling of C++ code used for Computer Vision tasks and implemented optimizations.
Post-Acquisition
  • Enabled data integration between Bitlit Media and Rakuten Kobo by developing an interconnect over RabbitMQ.
  • Containerized development dependencies to allow for development in both Linux and Windows environments.
SDE Intern @ Microsoft

2014-05 to 2014-08

Languages: Java

  • Implemented custom weather charts, along with associated backend logic to feed them, for the MSN Weather Android application.
SDE Intern @ Amazon

2013-09 to 2013-12

Languages: Java, JavaScript

  • Worked on the Kindle Whispercast team to develop customer facing features using JavaScript, jQuery and the Spring Framework.
Undergraduate Research Assistant
@ UBC Quantum Degenerate Gases Laboratory

2013-04 to 2013-08

Languages: Python

  • Created device wrappers in Python to allow for new equipment, such as voltage sensors, pressure and cameras, to be incorporated into an existing experimental framework.
Quality Assurance Engineer @ Atimi Software

2012-01 to 2012-08

Languages: PHP

  • Tested applications on iOS and Android devices.
  • Created custom data feeds and services using PHP for testing purposes.
Undergraduate Teaching Assistant
@ University of British Columbia

2011-01 to 2011-12

Languages: Racket

  • TA for CPSC 110 [Computation, Programs, and Programming], the introductory Computer Science course at UBC.
  • Guided groups of ~20 students through weekly computer science labs.
  • Balanced 1-on-1 time with students with the needs of the whole lab group.

Community

2020-04 to Present

Run twice monthly discussion sessions on Computer Science papers for groups of 4-10 people.

Education

B. Sc. in Combined Honours
Physics and Computer Science
@ University of British Columbia

2010-09 to 2015-05