Kindred System: Software Platform Team Lead ~ March 2017 - Present

  • Mix of individual contribution, management, and mentoring.
  • Systems and Software Architecture leadership across all software teams.
  • Advocated for and implemented DevOps practices across software and machine learning teams including CI, CD where appropriate, infrastructure-as-code, effective monitoring/alerting.
  • Manage team of 6 developers working on core software, shared DevOps tooling, and cloud infrastructure.

Kindred Systems: Sr. Software Engineer ~ October 2016 - March 2018

  • Core software and Cloud Service application development in Go, Python and C++.
  • Designed and built cloud service to enable Kindred robots in customer networks to request help from remote operators in real time including video and command streaming.
  • Initiated and supported transition to Docker-based SOA for all Kindred core, robotics, cloud, and ML software.
  • Introduced Continuous Integration patterns using CircleCI and Docker and wrote shared tooling used by all teams.
  • Configuration Management for Kindred robots in customer sites using Ansible.
  • Implemented API authorization using JSON Web Tokens across all cloud services.
  • Mentored team members on software design, DevOps, and unit testing patterns.

Rakuten Kobo: Sr. Manager Engineering in Big Data ~ April 2015 - October 2016

  • Team lead of the Big Data Engineering team.
  • Managed team of 3 software engineers.
  • Worked on Search, Recommendations and Content Analysis.
  • Responsible for design and productization of new projects and maintenance of existing ones.
  • Support the Big Data research teams.
  • Strong focus on systems design, testing, deployment.

Rakuten Kobo: Systems Engineer in Big Data ~ November 2013 - April 2015

  • Real-time eBook Content Analysis pipeline.
  • Website personalization backend.
  • Optimization of the Top 50 calculations for relevance and conversion.
  • A/B testing of all projects targeting revenue growth.
  • Hadoop cluster maintenance.

Altera: Software Engineer ~ May 2012 - October 2013

  • Developed CAD algorithms for “clustering” phase of FPGA design flow.
  • Algorithmic tuning and benchmarking for performance and quality.
  • Maintained module within large scale C/C++ application.

Bachelor of Applied Science in Computer Engineering 2007-2012
University of Toronto, Toronto, Canada.

  • Graduated May 2012.
  • Dean’s Honour List for 6 out of 8 semesters.
  • Cumulative grade point average of 3.32.
  • Course list

AMD: Physical Design Engineer ~ May 2010 - August 2011

  • 16 month internship.
  • Developed program to fix chip layout for power connectivity issues.
  • Experience using commercial physical design tools and APIs including OpenAccess.
  • Experience writing large scale, high performance Python code.
  • Responsible for timing closure for numerous clocks.
  • Responsible for library preparation.

University of Toronto: Department of Forestry ~ Summers of 2008, 2009

  • Developed software to model fire growth and spread in Canadian forests.
  • Collaborative software development in Perl and C using Git version control.
  • Large scale modular project, designed for components to be replaced and extended.
  • Developed extensive graphical user interface frontend.
  • Wrote extensive graphical front-end applications using C and GTK.
  • Wrote a multi-threaded burn probability application using growth model.
  • Created validation and testing utilities.
  • Administrated mail and web server running Red Hat Linux.

Online courses

  • Machine Learning 94.6%
    Coursera, Stanford University ~ April-June 2014
  • VLSI CAD: Logic to Layout 97.6%
    Coursera, University of Illinois at Urbana-Champaign ~ March-May 2013
  • Introduction to Cryptography 100%
    Coursera, Stanford University ~ March-May 2012
  • Introduction to Artificial Intelligence 81.4%
    Udacity, Sebastian Thrun and Peter Norvig ~ October-December 2011

Programming: Go, Python, Java, C, C++, C#, Csh, Bash
Cloud: AWS, Google cloud, Terraform, IAM, Load balancing, ECS, Docker
Data Stores: SQL (MySQL, Postgres, Microsoft), Redis, etcd, various queue servers
Big Data: Hadoop map-reduce, Yarn, MapR, Hive, Spark
Utilities: Docker, Debuggers, Subversion, Git, Doxygen, UNIX Tools
Web: HTML, Javascript, CSS, React, Redux, NPM
Operating Systems: Linux, Android