%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Long Professional Curriculum Vitae % LaTeX Template % Version 1.1 (9/12/12) % % This template has been downloaded from: % http://www.latextemplates.com % % Original author: % Rensselaer Polytechnic Institute (http://www.rpi.edu/dept/arc/training/latex/resumes/) % % Important note: % This template requires the res.cls file to be in the same directory as the % .tex file. The res.cls file provides the resume style used for structuring the % document. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %---------------------------------------------------------------------------------------- % PACKAGES AND OTHER DOCUMENT CONFIGURATIONS %---------------------------------------------------------------------------------------- \documentclass[10pt]{res} % Use the res.cls style, the font size can be changed to 11pt or 12pt here \usepackage{helvet} % Default font is the helvetica postscript font %\usepackage{newcent} % To change the default font to the new century schoolbook postscript font uncomment this line and comment the one above \newsectionwidth{0pt} % Stops section indenting \begin{document} %---------------------------------------------------------------------------------------- % YOUR NAME AND ADDRESS(ES) SECTION %---------------------------------------------------------------------------------------- \name{Bastian Gruber\\ \\} % Your name at the top % If you don't want one of the addresses, simply remove all the text in the first or second \address{} bracket \address{{\bf Professional} \\ LinkedIn: linkedin.com/in/bastiangruber \\ Book: rustwebdevelopment.com \\ E-Mail: gruberbastian@me.com \\ Website: bastiangruber.ca} \address{{\bf Code} \\ GitHub: github.com/gruberb \\ Git: code.novanexus.ca/gruberb} % Your address 2 %---------------------------------------------------------------------------------------- \begin{resume} %---------------------------------------------------------------------------------------- % OBJECTIVE SECTION %---------------------------------------------------------------------------------------- \section{\centerline{SUMMARY}} \vspace{8pt} % Gap between title and text Staff Engineer at Mozilla, shipping Rust, C++, and Python to hundreds of millions of Firefox users across Desktop, Android, and iOS. Promoted for leading cross-team projects and getting complex, multi-platform features shipped. 12+ years of backend and systems work, published author (``Rust Web Development''), and 13 years of technical writing for outlets like c't and iX. %---------------------------------------------------------------------------------------- \vspace{0.2in} % Some whitespace between sections %---------------------------------------------------------------------------------------- % SKILLS SECTION %---------------------------------------------------------------------------------------- \section{\centerline{SKILLS}} \vspace{8pt} % Gap between title and text {\bf Languages:} Rust, C++, Python, TypeScript, Go \\ {\bf Systems \& Backend:} async Rust (Axum, Actix), Python/FastAPI, Node.js, FFI/UniFFI, gRPC, REST \\ {\bf Architecture:} distributed systems, P2P protocols, system design, cross-platform (Desktop/Android/iOS) \\ {\bf Infrastructure \& Observability:} AWS, GCP, Docker, Kubernetes, CI/CD, Grafana, performance profiling %---------------------------------------------------------------------------------------- \vspace{0.2in} % Some whitespace between sections %---------------------------------------------------------------------------------------- % PROFESSIONAL EXPERIENCE SECTION %---------------------------------------------------------------------------------------- \section{\centerline{PROFESSIONAL EXPERIENCE}} \vspace{8pt} % Gap between title and text {\sl Staff Software Engineer} \hfill Feb 2026 - Present \\ Mozilla, Remote \\ Promoted for cross-team technical leadership and delivering multi-platform privacy features. \begin{itemize} \itemsep -2pt \item Leading the Image Service project: replaced 3 fragile, duplicated favicon systems with a single GCS-backed API serving 4+ internal teams. Extended an existing Python/Airflow pipeline instead of building a new service, reducing maintenance burden across the board \item Implemented Oblivious HTTP (OHTTP) in application-services (shared Rust component cross-compiled to Swift/Kotlin via UniFFI) and wrote the C++ integration for Firefox Desktop. Now live on Firefox iOS, Android, and Desktop, covering millions of users \item Maintaining the Firefox Push notification service (Rust backend, 50k req/s, sub-200ms latency). Reduced memory footprint, added circuit breakers, built Grafana dashboards for observability \end{itemize} {\sl Senior Software Engineer} \hfill Jun 2024 - Jan 2026 \\ Mozilla, Remote \\ \begin{itemize} \itemsep -2pt \item Core maintainer of Merino, the Python/FastAPI service powering Firefox Suggest. All search suggestions in Firefox route through Merino, which enriches and serves them in a privacy-preserving way \item Code reviewer for UniFFI, Mozilla's multi-language bindings generator (Rust to Kotlin, Swift, Python, JavaScript) \item Contributing directly to Firefox Desktop (mozilla-central): shipping Rust and C++ code \item Led ``Rusty Fridays'' sessions (6--10 engineers per session), building internal Rust knowledge across teams \end{itemize} {\sl Technical Editor, ``From C to Rust''} \hfill Feb 2026 - Present \\ Manning Publications (Contract, Part-time) \\ Reviewing technical accuracy and pedagogical quality for Manning's C-to-Rust migration guide. \vspace{4pt} {\sl Senior Systems Engineer, Team Lead} \hfill Apr 2023 - Jun 2024 \\ Toposware (acquired by Polygon Labs), Remote \\ Core team of 4 building a peer-to-peer distributed network protocol from scratch in Rust. Our core implementation of the double echo protocol and the Ethereum bridge became part of the Polygon stack after acquisition. \begin{itemize} \itemsep -2pt \item Achieved 10x message throughput per node by profiling the actual bottleneck: optimized batch processing and serialization paths after discovering nodes were compute-bound on crypto operations, not network-limited \item Built the EVM bridge connecting external Ethereum-compatible chains to the core network \item Led the internal benchmarking initiative that changed where the team focused optimization effort \end{itemize} {\sl Senior Software Engineer} \hfill Aug 2022 - Feb 2023 \\ Centrifuge, Remote \\ Protocol team building DeFi infrastructure on Substrate/Polkadot in Rust. \begin{itemize} \itemsep -2pt \item Implemented on-chain fund pool mutations, the core feature enabling live capital allocation adjustments in the lending protocol \item Replaced manual documentation with CI-driven auto-generation from Rust source, eliminating persistent drift between code and public docs \end{itemize} {\sl Author, ``Rust Web Development''} \hfill Oct 2020 - Dec 2022 \\ Manning Publications \\ Wrote and published an end-to-end guide covering async Rust, web frameworks, and production deployment. \vspace{4pt} {\sl Sr. Solutions Architect (promoted from SA)} \hfill Jun 2020 - Jul 2022 \\ Twilio Inc., Remote \\ \begin{itemize} \itemsep -2pt \item Technical lead for Fortune 500 professional services engagements: diagnosed latency issues, redesigned messaging architectures, delivered implementation roadmaps sized to each client's team and resources \item Created reusable engagement playbooks adopted across the EMEA Professional Services team \end{itemize} {\sl Systems Engineer, Core Backend} \hfill Aug 2019 - May 2020 \\ Kraken Digital Asset Exchange, Remote \\ Part of the first Rust team rewriting Kraken's core infrastructure from PHP. \begin{itemize} \itemsep -2pt \item Rewrote core banking services and API gateway in Rust, replacing legacy PHP services. The new stack handled significantly higher throughput with a smaller hardware footprint \item Shipped the first version of the automated KYC verification flow, replacing manual processing right as COVID drove a massive spike in new customer sign-ups \end{itemize} \vspace{4pt} {\sl Earlier Career} \hfill 2013 - 2019 \\ Sr. Software Engineer (freelance from 2016) across enterprise clients (OSRAM, K\"orber Digital, GIATA, Avenga) and startups (Dalia Research, blogfoster, smartB) in Berlin. \begin{itemize} \itemsep -2pt \item Founded ``Rust \& Tell Berlin'' meetup, grew it into the largest Rust meetup globally. Coordinated with companies for venue sponsorship, organized speakers, photographers, and videographers. Gave talks and created a welcoming space for the Rust community \item Designed IoT authentication infrastructure at OSRAM for thousands of connected devices (Node.js, Go, Lua) \item First engineering hire at K\"orber Digital: built real-time sensor data pipelines on AWS (Lambda, ECS, Route53) \item Decomposed GIATA's monolithic PHP system into 6 Docker-based services, taught the existing team Scrum and JavaScript \item Contributed to the Rust compiler and standard library during a self-directed sabbatical (2019) \end{itemize} {\sl Technical Writer} \hfill 2008 - 2020 \\ Freelance (Contract) \\ 13 years writing for technical publications including c't, iX, Macwelt (IDG/Heise), and tech blogs (LogRocket, stadt-bremerhaven.de, mobilegeeks.de). Also authored ``OS X f\"ur Einsteiger'' (Bookboon, 2012). %---------------------------------------------------------------------------------------- \vspace{0.2in} % Some whitespace between sections \section{\centerline{EDUCATION}} \vspace{8pt} % Gap between title and text {\sl Bachelor of Science, Computer Science} \hfill Mar 2014 \\ TH Ingolstadt. Scholarship from Allianz Deutschland AG (fully funded dual-study program, 2010--2014) \end{resume} \end{document}