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.
Community
Organizer @ Papers We Love YVR
2020-04 to Present
Education
B. Sc. in Combined Honours
Physics and Computer Science
@ University of British Columbia
2010-09 to 2015-05