AI is analyzing your overall score…
Identifying your key strengths…
Evaluating your skill match against the job requirements…
Assessing your cultural and operational fit

Staff ML Engineer | GenAI & Search | Ex-Zendesk | Ex-Google
Staff ML engineer who bridges AI research and production, from filed patents and publications to systems serving millions of users. Background spans Google, Zendesk, and industry AI research across North America and Europe. At Zendesk, I led the technical delivery of the company's #1 priority initiative: RAG-powered AI agents for customer support, now serving millions of users. I also built semantic search ML infrastructure from the ground up, improving help center search relevance at scale. As an engineering manager, I led and grew ML teams through rapid scaling, re-orgs, and a major acquisition integration. Prior to Zendesk, I developed large-scale ML models for Google Ads and conducted AI research at Blue Prism, co-inventing a one-shot learning method with a filed international patent.
Caltech
Master of Science (M.S.), Electrical Engineering
January 1, 2015 – June 1, 2016
McGill University
Bachelor of Engineering (B.Eng.), Honours Electrical Engineering
January 1, 2011 – January 1, 2015
Career Break
Travel
May 1, 2025 – Present
Zendesk
Engineering Manager, Machine Learning
October 1, 2023 – May 1, 2025
Zendesk
Staff Machine Learning Engineer
March 1, 2023 – October 1, 2023
Zendesk
Senior Machine Learning Engineer
November 1, 2021 – March 1, 2023
Blue Prism
Research Engineer
February 1, 2020 – October 1, 2021
London Area, United Kingdom
Guerilla: A Deep Learning Chess Engine
August 1, 2016 – May 1, 2018
Guerilla is a deep learning chess engine developed by myself and Stephane Aroca-Ouellette. At the moment, the top chess engines in the world rely on heuristic features chosen by expert chess players with carefully tuned weights (their relative importance to each other) in order to evaluate the strength of a given position. The goal of this project was to develop a chess engine which uses a machine learning model, specifically a deep neural network, to replace the expert chess players and allow the engine to select and weigh its own features. In combination with optimized game tree search the engine can thus learn to play high level chess on its own. The code can be found on my GitHub: https://github.com/StephAO/guerilla A detailed, informal introduction to the project can be found on my blog: Part 1: https://unarresteddev.wordpress.com/guerilla-a-chess-engine-part-1/ Part 2: https://unarresteddev.wordpress.com/guerilla-a-chess-engine-part-2/ Post-Mortem: https://unarresteddev.wordpress.com/guerilla-a-chess-engine-post-mortem/
ϵ-Safe: Learning to Predict World Cup Page Requests
June 1, 2016 – June 1, 2016
Predicting the next page given a sequence of page visits from a user one can provide a better user experience through page recommendations, and decreased latency through caching. In this project the HMM model is extended to this online learning problem through a novel learning algorithm which we have named ϵ-Safe. By using an ϵ-greedy bandit to balance between new and old user behaviour information this model achieves significant faster computation times, while maintaining high prediction accuracy. The model was then applied to a World Cup page request dataset, where it achieves better accuracy than a naive predictor and performs almost as well as an offline trained HMM with full-knowledge. The code can be found on my GitHub: https://github.com/miguelarocao/e-safe A detailed, informal explanation of the project and its results can be found on my blog: https://unarresteddev.wordpress.com/e-safe
Software Engineer
January 1, 2018 – February 1, 2020
San Francisco Bay Area
Percolata
Machine Learning Engineer
June 1, 2017 – December 1, 2017
San Francisco Bay Area
Kapik Integration
Engineering Intern
May 1, 2014 – August 1, 2014
Greater Toronto Area, Canada
The University of British Columbia
NSERC USRA Research Assistant
May 1, 2013 – August 1, 2013
Greater Vancouver Metropolitan Area
The University of British Columbia
NSERC USRA Research Assistant
May 1, 2012 – August 1, 2012
Greater Vancouver Metropolitan Area
GPU Boggle Solver
June 1, 2016 – June 1, 2016
Boggle is a word game whose purpose it is to find all possible words which can be formed by travelling a given grid of letters. By using GPUs, I leveraged the parallelizable nature of the problem in order to provide substantial speed ups over CPU algorithms. The code can be found on my GitHub: https://github.com/miguelarocao/gpu_boggle/ A detailed, informal explanation of the project and its results can be found on my blog: https://unarresteddev.wordpress.com/boggle/
Shakespearian Sonnet Generator
March 1, 2016 – May 1, 2016
The Shakespearian sonnet generator we created is based on hidden Markov models. Unsupervised training is performed by the EM procedure and sonnet generation is performed using the Viterbi algorithm.Additional constraints were imposed to ensure propery rhyme scheme (abab cdcd efef) as well as proper meter when possible. Basic parts of sentence (POS) tagging helps ensure reasonable sentence structure. The code can be found on my GitHub: https://github.com/miguelarocao/Shakespearebot_9000 A detailed, informal explanation of the project and its results can be found on my blog: https://unarresteddev.wordpress.com/shakespeare-bot-9000/
McGill CodeJam 2014
November 1, 2014 – November 1, 2014
Our team had 48 hours to put together a program that would use facial recognition to quickly and reliably recognize an individual from a set database. Our program was written in Python over the course of 2 days and after some testing we determined that it ran with 65% accuracy in detecting the correct individual. We placed 13th out of around 44 teams.
WiFinder - Wireless Patient Tracking System
September 1, 2014 – December 1, 2014
Our team created a patient detection and localization system using a microcontroller unit, a proximity sensor, and three wireless transceivers. This was implemented as a real-time operating system in embedded C.
Digital System Design
January 1, 2014 – April 1, 2014
We worked with the Altera Quartus II software to create a complete VHDL description of an Earth-to-Mars time converter. This was then simulated on a developmental circuit board containing an FPGA chip.
Cultural Fit Analysis
The candidate's project history shows a strong inclination towards complex, research-oriented problems in machine learning, deep learning, and embedded systems. Their experience spans both large tech companies (Google, Zendesk) and research-focused roles (Blue Prism AI Labs), indicating adaptability to different organizational cultures. The diverse personal projects, from facial recognition to deep learning chess engines, demonstrate a proactive, curious, and self-driven individual. While the target role is 'Data Analyst', the candidate's background is heavily skewed towards Machine Learning Engineering and leadership, which might indicate a mismatch if the Data Analyst role is purely analytical and not ML-focused. However, their analytical skills are clearly strong.
Soft Skills & Operational Fit
The candidate's experience as an Engineering Manager and Staff ML Engineer at Zendesk highlights strong leadership, team development, and cross-organizational alignment skills. Their ability to manage distributed teams and drive technical strategy through RFCs indicates strong communication and operational fit for senior roles. The career break for travel suggests a desire for work-life balance and personal growth.