Cameron Gorrie
Software architect, leader, mentor, advocate
Email sastraxi@gmail.com, or call 647.551.9485
Back to the home page
March 2023 to Present
I have been leading the vision and implementation for the local development experience of building
Native Apps inside the Snowflake ecosystem. We've built this experience inside
Snowflake CLI (Python) as well as making many improvements to the underlying framework (Java / FoundationDB). This work has reduced the time-to-first-app deployment from hours to minutes.
This has involved writing functional and design specifications, moving them through the review process (including presenting to the CTO), interviewing and onboarding new team members, building workshops to spread knowledge internally, presenting to management and area architects, creating public-facing tutorials and examples, collaborating with teams in remote time zones, ideating and creating applications for our BUILD and Summit conferences, collaborating with other Snowflake teams as a domain expert, and doing away team work when dependency teams were not able to commit.
In addition, I was acting Product Manager for our team until May 2024 and continue to maintain a laser focus on customer outcomes.
Top Hat (Director of Engineering / Principal Developer)
April 2019 to February 2023
As part of the leadership team of the Product & Engineering department, my duties have been diverse. In addition to the following selected items I spend my time mentoring ICs, coaching team and technology leads, designing software architecture and documentation, (re-)building processes, and leading group sessions (such as premortems and design jams).
In 2019, I designed (via RFC) and drove the implementation of an "ABAC" authorization service that provides the role flexibility our institutional partners had been asking for. This service has enabled several new features that helped us sell to institutions rather than individual professors.
In 2020, I directed our initiative to bring
video streaming to our classroom offering. This meant building a WebRTC-based proof-of-concept, evaluating different vendors, contract negotiation, post-sales relationship management, and building knowledge about video inside of our team. I also helped write our virtual classrom service (touching django, mysql, business logic, message broker events, etc).
In 2021, I transitioned to an individual contributor role at the Staff level with a specific focus on frontend performance and developer experience. I lent my time to the marketing team, finishing our redesign of our external-facing Catalog. I wrote tests, fixed bugs, improved accessibility, built admin tools for the back office, improved end-user performance, and updated our Cloudformation templates to allow the site to be rooted at both old and new URLs while the re-brand was occurring.
In 2022, I continued my frontend focus on the staff engineering team while supporting 5+ other (product) teams. I optimized the (shared) critical boostrap path of our webapps, improving many of the core web vitals of our apps by ~17% (P75). I rewrote a (pytest) test harness that used sqlite to use postgresql (for prod parity) while improving DX. I discovered and fixed many bugs in our frontend shared infrastructure, reducing bundle size for all apps by about 30%. I lead two "tiger" teams, bringing together domain experts to reduce cognitive overhead in our frontend code and migrate to a new source of truth for course data, developing a deep understanding (and opinions) in the react state management space.
May 2018 to April 2019
Students in the web development immersive program at Lighthouse embark on a 10 week program to learn how to build software using Javascript, React, Ruby on Rails, and PostgreSQL. As a mentor, I helped students get "unstuck" and tried to transfer some of my high-level knowledge and instil best practices. I also prepared example code and gave lectures to complement the course material (
an example).
September 2016 to August 2018
In late summer 2016, we set out to take on companies like Ticketmaster and StubHub with a consumer-centric, demand-side approach to ticketing: ticket reservations. We iterated on this approach for a year and a half (including participating in the
Techstars Music 2017 accelerator in Los Angeles) before pivoting and switching to a B2B event concierge approach.
March to September 2016
The majority of my time here was spent optimizing our search infrastructure as well as ensuring that our emails were not flagged as spam or low-quality.
June 2012 to March 2016
Management responsibilities included interviewing/hiring full-time and co-op developers, setting short- and medium-term development goals, motivating and challenging the team, leading collaborative design sessions, building time projections and gathering requirements/scope from the CEO/CTO in order to deliver their vision. UI and UX design and prototyping for multiple internal data entry systems.
Other substantial projects I've worked on include Live Lecture (an education-focused video streaming platform built with Python and Wowza), DCS Infosys (a project to digitise the records of the Department of Computer Science at the University of Toronto), and JSCOOP (a Java/Eclipse implementation of the SCOOP paradigm from Eiffel; screencast available here).
pgsh | postgres tools for local development (github) |
---|
jam-shuffle | Break through creative block. Jam with your friends (jam-shuffle) |
---|
midi-viewer | Note, chord, and mode visualizer for MIDI keyboards (midi-viewer) |
---|
sendy video | collect video greetings from your friends (github) |
---|
Front-end | Typescript, React, react-query, pnpm, tailwind, vite, GraphQL (Apollo, urql), performance profiling |
---|
Back-end | Node.js, deno, Java, Python, PostgreSQL, Snowflake, MySQL, Prisma, Graphile, Redis, ElasticSearch, email deliverability |
---|
Testing | pytest, Jest, react-testing-library, Playwright, Cypress |
---|
Product | Jira, Confluence, Productboard |
---|
Devops | Linux/BSD, Docker, Kubernetes, AWS/GCP, Netlify, Heroku |
---|
AI / ML | OpenCV, scikit-learn, NumPY, NLTK, RAG, Snowflake Cortex |
---|
University of Toronto
September 2006 to August 2010
H.B.Sc. with Distinction, Computer Science
Specialty in Artificial Intelligence, Parallel Processing