%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 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}