-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcv_v2.tex
More file actions
225 lines (197 loc) · 11.2 KB
/
Copy pathcv_v2.tex
File metadata and controls
225 lines (197 loc) · 11.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode
%
% cv_v2.tex — Mathieu Neron — v2 rewrite
% Template: Awesome-CV (posquit0, LPPL-1.3c)
%-------------------------------------------------------------------------------
% CONFIG
%-------------------------------------------------------------------------------
\documentclass[11pt, letterpaper]{awesome-cv}
\geometry{left=1.4cm, top=.8cm, right=1.4cm, bottom=1.5cm, footskip=.5cm}
\colorlet{awesome}{awesome-skyblue}
\setbool{acvSectionColorHighlight}{true}
\renewcommand{\acvHeaderSocialSep}{\quad\textbar\quad}
%-------------------------------------------------------------------------------
% PERSONAL INFO
%-------------------------------------------------------------------------------
\name{Mathieu}{Néron}
\position{Software Engineer}
\address{San Francisco, CA}
\mobile{(628) 358-8813}
\email{[email protected]}
\github{mathieu-neron}
\linkedin{mathieu-néron-b4419522}
%-------------------------------------------------------------------------------
\begin{document}
\makecvheader[C]
%-------------------------------------------------------------------------------
% SUMMARY
%-------------------------------------------------------------------------------
\cvsection{Summary}
\begin{cvparagraph}
Software engineer with 15+ years shipping at scale. Currently building fraud-risk infrastructure at Highnote, processing \textbf{3M+ monthly card transactions} ($\sim$\textbf{\$350M+} in monthly settlement volume) across \textbf{$\sim$45 enterprise programs} and \textbf{1.2M+ cardholders}; previously Senior $\rightarrow$ LMTS at Tableau, building authoring and server features used by \textbf{87K+ customer companies} and \textbf{3M+ Tableau Public creators}. Background spans fintech, data visualization, and e-signature; building applied-ML fluency hands-on (\textbf{Medea}: multi-modal PyTorch classifier with RAG explanation, F1 0.90 on channel-grouped CV).
\end{cvparagraph}
%-------------------------------------------------------------------------------
% EXPERIENCE
%-------------------------------------------------------------------------------
\cvsection{Experience}
\begin{cventries}
\cventry
{Senior Software Engineer}
{Highnote}
{San Francisco, CA}
{Aug. 2023 -- Present}
{
\begin{cvitems}
\item {\textit{Java, TypeScript, GraphQL, GCP, Spanner, BigQuery, Temporal, Elasticsearch, Python, ANTLR}}
\item {Owned \textbf{OFAC sanctions screening} on Highnote's synchronous money-movement critical path (Visa Direct / RTP / ACH); landed a three-layer optimization --- in-memory early-exit, False/True positive lookups deferred to candidate matches, Spanner bounded-staleness reads --- to hit a \textbf{P99 $\leq$ 100\,ms} SLA powering \textbf{Ferry's launch as Highnote's first Instant Payments subscriber} (Dec 2025); \textbf{99.996\%} of $\sim$244K monthly screenings now bypass the database entirely.}
\item {Designed and shipped a customizable \textbf{geofencing rule} now deployed across \textbf{7 subscribers} (19 rule instances) on Highnote's rule engine; mid-2025 tuning lifted true-positive rate \textbf{3--4$\times$} on the Fleet-program enforcement path.}
\item {Built the \textbf{real-time velocity feature store} powering Highnote's fraud rule engine --- intra-hour merchant/BIN/card auth-velocity counters (count + amount) written on the synchronous auth path and served to rule evaluation via a CQRS read API; collapsed the Redis read from N round-trips to \textbf{2 concurrent MGETs ($\sim$1 RTT)}, engineered to hold \textbf{P95 $<$ 100\,ms under load} as the program scales.}
\item {Led migration of the core SMS stack from AWS Pinpoint to \textbf{Twilio} and built the platform's first \textbf{bi-directional SMS fraud-detection workflow} on \textbf{Temporal} --- conversation state lives in Temporal's durable workflows, so the SMS layer uses Twilio's lightweight Messaging API rather than the heavier and pricier Conversations API; anchors a flagship enterprise rollout.}
\item {Drove adoption of \textbf{Temporal} (durable workflows) and \textbf{Elasticsearch} as first production use cases at Highnote; both now standard across multiple teams.}
\item {Extended the \textbf{ANTLR grammar} powering Highnote's natural-language query layer with fuzzy / typo-tolerant search.}
\end{cvitems}
}
\cventry
{Senior Software Engineer $\rightarrow$ LMTS}
{Tableau (Salesforce)}
{Palo Alto, CA}
{Jun. 2019 -- Jul. 2023}
{
\begin{cvitems}
\item {\textit{React, Redux, TypeScript, Java, C++, Qt} \quad---\quad Promoted to Lead Member of Technical Staff in 2020.}
\item {Onboarded a new AI-predictive-model content type in Tableau Server for \textbf{Salesforce Einstein Discovery} integration --- contributing to the server stack delivering \textbf{80B+ AI-powered predictions per day}.}
\item {Drove the \textbf{Object Graph} view in Tableau's Data pane from beta to GA --- the default relationships editor in Tableau's multi-table data model, part of the authoring stack behind Tableau Public's \textbf{7M+ vizzes} from \textbf{3M+ creators}; shipped transition animations, tooltips, sorting, and re-rooting.}
\item {Contributed to the \textbf{Data Preview Area} hybridization --- metadata grid plus embedded relationship editor in a single surface.}
\end{cvitems}
}
\cventry
{Java Developer}
{Paysafe}
{Montréal, Canada}
{2016 -- 2019}
{
\begin{cvitems}
\item {\textit{Angular 2+, TypeScript, Java, Spring, Oracle}}
\item {Shipped the new Angular 2+ \textbf{Merchant Portal} frontend from greenfield.}
\item {\textbf{Cut frontend test runtime 6$\times$} by migrating from PhantomJS to Nightmare.}
\end{cvitems}
}
\cventry
{Java Developer}
{eSignLive}
{Montréal, Canada}
{2014 -- 2016}
{
\begin{cvitems}
\item {\textit{Java, Spring, Guava, AWS, MySQL, Jenkins}}
\item {\textbf{Cut Windows document converter downtime by 50\%}.}
\item {Integrated Equifax, Twilio, PDFBox, and Google Noto Fonts.}
\end{cvitems}
}
\cventry
{Application Developer}
{Avanade}
{Montréal, Canada}
{2012 -- 2014}
{
\begin{cvitems}
\item {Enterprise web engineering for Canadian National Railway (\textit{www.cn.ca} redesign on Sitecore / ASP.NET) and Hydro-Québec (internal time-tracking app; led frontend-stack selection --- SAPUI5 + Infragistics).}
\end{cvitems}
}
\end{cventries}
\newpage
%-------------------------------------------------------------------------------
% PROJECTS
%-------------------------------------------------------------------------------
\cvsection{Projects}
\begin{cventries}
\cventry
{RealTube --- crowdsourced AI-generated YouTube content filter}
{\href{https://github.com/mathieu-neron/RealTube}{github.com/mathieu-neron/RealTube}}
{Personal learning project}
{2026}
{
\begin{cvitems}
\item {Full-stack browser extension (Chrome/Firefox, Manifest V3) for crowdsourced flagging and hiding of AI-generated YouTube content across feed, search, recommendations, and Shorts.}
\item {Built as a hands-on Go + Python learning exercise: \textbf{Go} (Fiber v3) on the low-latency lookup path, \textbf{Python + FastAPI} for the inference-adjacent services, \textbf{TypeScript + React 19} extension, PostgreSQL + Redis + Docker + Prometheus.}
\item {Privacy-engineered URL lookup using a \textbf{k-anonymity hash-prefix} scheme (HIBP-style) so the backend never sees full URLs in plaintext; contract-tested API and end-to-end test coverage.}
\end{cvitems}
}
\cventry
{Medea --- multi-modal AI-generated YouTube classifier}
{\href{https://github.com/mathieu-neron/medea}{github.com/mathieu-neron/medea}}
{Personal learning project (natural follow-up to RealTube)}
{2026}
{
\begin{cvitems}
\item {Built an end-to-end ML pipeline to learn the full applied-ML stack hands-on: yt-dlp ingest $\rightarrow$ four-modality feature extraction (\textbf{CLIP ViT-B/32} visual, \textbf{faster-whisper} + \textbf{wav2vec2} anti-spoofing audio, \textbf{MiniLM} text, handcrafted scalars) $\rightarrow$ \textbf{Chroma} vector DB $\rightarrow$ small \textbf{PyTorch} MLP head $\rightarrow$ FastAPI server with retrieval-augmented \textbf{local-LLM rationale} via Ollama.}
\item {Used \textbf{channel-grouped LeaveOneGroupOut CV} (10 folds, $\sim$94-clip dataset) after UMAP showed channels as 10 distinct clusters --- random video-level splits would have memorized channel identity, not ``AI-ness.'' Final MLP \textbf{F1 0.90} / \textbf{ROC-AUC 0.96} on this honest split.}
\item {Diagnosed a silent-audio failure mode (anti-spoof model misfires on no-speech clips) and fixed it with \texttt{has\_speech} $\times$ \texttt{ai\_voice\_prob} interaction features (F1 0.87 $\rightarrow$ 0.90); added a \textbf{temporal prior cap} for pre-2017 uploads to bound MLP extrapolation outside the training cone.}
\end{cvitems}
}
\end{cventries}
%-------------------------------------------------------------------------------
% SKILLS
%-------------------------------------------------------------------------------
\cvsection{Skills}
\begin{cvskills}
\cvskill
{Languages}
{Java, TypeScript/JavaScript, Python, Go, C/C++, C\#}
\cvskill
{Frameworks}
{Spring, Temporal, Node.js, React/Redux, Angular, GraphQL, REST, Qt, .NET, ANTLR}
\cvskill
{Platforms}
{GCP, AWS, Spanner, BigQuery, PostgreSQL, Elasticsearch, Redis, Oracle, MySQL, Docker}
\cvskill
{ML / AI}
{PyTorch, Hugging Face Transformers, sentence-transformers, CLIP, Whisper, Chroma, MLflow, Ollama, RAG}
\cvskill
{Spoken}
{French (native), English (fluent)}
\end{cvskills}
%-------------------------------------------------------------------------------
% EDUCATION
%-------------------------------------------------------------------------------
\cvsection{Education}
\begin{cventries}
\cventry
{B.Eng., Computer Engineering}
{Université de Sherbrooke}
{Sherbrooke, Canada}
{2007 -- 2011}
{
\begin{cvitems}
\item {Specialization in Software Engineering and Artificial Intelligence.}
\end{cvitems}
}
\end{cventries}
%-------------------------------------------------------------------------------
% EARLY WORK
%-------------------------------------------------------------------------------
\cvsection{Internships}
\begin{cventries}
\cventry
{Software Engineer Intern}
{Electronic Arts Canada}
{Burnaby, Canada}
{Summer 2011}
{
\begin{cvitems}
\item {Built a distributed C++ / C\# load-test harness running thousands of concurrent bots against \textbf{SSX}'s multiplayer server; used internally and demoed at \textbf{Gamescom 2011}.}
\end{cvitems}
}
\cventry
{Earlier Internships}
{Autodesk \quad\textbar\quad Ubisoft \quad\textbar\quad Lockheed Martin}
{Canada}
{2008 -- 2010}
{
\begin{cvitems}
\item {\textbf{Autodesk} (2010) --- animation plug-in inside Maya (C++ / Qt). \textbf{Ubisoft} (2009) --- QA automation (C\# / .NET). \textbf{Lockheed Martin} (2008) --- software evaluation.}
\end{cvitems}
}
\end{cventries}
\end{document}