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.
- 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
Operating Systems: Linux, Android