235 lines
15 KiB
HTML
235 lines
15 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en-US" xml:lang="en-US" >
|
||
<head> <title>Bastian Gruber - CV</title>
|
||
<meta charset="iso-8859-1" />
|
||
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)" />
|
||
<meta name="viewport" content="width=device-width,initial-scale=1" />
|
||
<link rel="stylesheet" type="text/css" href="resume.css" />
|
||
<meta name="src" content="resume.tex" />
|
||
<link href="style.css" rel="stylesheet" type="text/css" /></head><body
|
||
>
|
||
<div class="resume"> <!--tex4ht:inline--><div class="tabular"> <table id="TBL-1" class="tabular"
|
||
|
||
><colgroup id="TBL-1-1g"><col
|
||
id="TBL-1-1" /></colgroup><tr
|
||
style="vertical-align:baseline;" id="TBL-1-1-"><td style="white-space:normal; text-align:left;" id="TBL-1-1-1"
|
||
class="td00"><span
|
||
class="cmbx-12">Bastian Gruber</span> </td></tr><tr
|
||
style="vertical-align:baseline;" id="TBL-1-2-"><td style="white-space:normal; text-align:left;" id="TBL-1-2-1"
|
||
class="td00">  </td>
|
||
</tr><tr
|
||
style="vertical-align:baseline;" id="TBL-1-3-"><td style="white-space:normal; text-align:left;" id="TBL-1-3-1"
|
||
class="td00">  </td></tr></table> </div>
|
||
<table class="center-addresses"><tr><td class="first-address"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-2" class="tabular"
|
||
|
||
><colgroup id="TBL-2-1g"><col
|
||
id="TBL-2-1" /></colgroup><tr
|
||
style="vertical-align:baseline;" id="TBL-2-1-"><td style="white-space:normal; text-align:left;" id="TBL-2-1-1"
|
||
class="td00"><span
|
||
class="cmbx-10">Professional </span> </td>
|
||
</tr><tr
|
||
style="vertical-align:baseline;" id="TBL-2-2-"><td style="white-space:normal; text-align:left;" id="TBL-2-2-1"
|
||
class="td00">LinkedIn: <a href="https://linkedin.com/in/bastiangruber">linkedin.com/in/bastiangruber</a> </td>
|
||
</tr><tr
|
||
style="vertical-align:baseline;" id="TBL-2-3-"><td style="white-space:normal; text-align:left;" id="TBL-2-3-1"
|
||
class="td00">Book: <a href="https://rustwebdevelopment.com">rustwebdevelopment.com</a>  </td>
|
||
</tr><tr
|
||
style="vertical-align:baseline;" id="TBL-2-4-"><td style="white-space:normal; text-align:left;" id="TBL-2-4-1"
|
||
class="td00">E-Mail: <a href="mailto:gruberbastian@me.com">gruberbastian@me.com</a>  </td>
|
||
</tr><tr
|
||
style="vertical-align:baseline;" id="TBL-2-5-"><td style="white-space:normal; text-align:left;" id="TBL-2-5-1"
|
||
class="td00">Website: <a href="https://bastiangruber.ca">bastiangruber.ca</a>  </td></tr></table> </div></td><td class="second-address"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-3" class="tabular"
|
||
|
||
><colgroup id="TBL-3-1g"><col
|
||
id="TBL-3-1" /></colgroup><tr
|
||
style="vertical-align:baseline;" id="TBL-3-1-"><td style="white-space:normal; text-align:left;" id="TBL-3-1-1"
|
||
class="td00"><span
|
||
class="cmbx-10">Code </span> </td>
|
||
</tr><tr
|
||
style="vertical-align:baseline;" id="TBL-3-2-"><td style="white-space:normal; text-align:left;" id="TBL-3-2-1"
|
||
class="td00">GitHub: <a href="https://github.com/gruberb">github.com/gruberb</a>  </td>
|
||
</tr><tr
|
||
style="vertical-align:baseline;" id="TBL-3-3-"><td style="white-space:normal; text-align:left;" id="TBL-3-3-1"
|
||
class="td00">Git: <a href="https://code.novanexus.ca/gruberb">code.novanexus.ca/gruberb</a> </td></tr></table> </div></td></tr></table>
|
||
<h4 class="sectionHead"><a
|
||
id="x1-10000"></a><div
|
||
class="centerline"> SUMMARY </div></h4><div class="section">
|
||
<!--l. 55--><p class="noindent" >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.
|
||
</p>
|
||
</div><h4 class="sectionHead"><a
|
||
id="x1-20000"></a><div
|
||
class="centerline"> SKILLS </div></h4><div class="section">
|
||
<!--l. 68--><p class="noindent" ><span
|
||
class="cmbx-10">Languages: </span>Rust, C++, Python, TypeScript, Go <br
|
||
class="newline" /><span
|
||
class="cmbx-10">Systems & Backend: </span>async Rust (Axum, Actix), Python/FastAPI, Node.js, FFI/UniFFI, gRPC, REST
|
||
<br
|
||
class="newline" /><span
|
||
class="cmbx-10">Architecture: </span>distributed systems, P2P protocols, system design, cross-platform (Desktop/Android/iOS)
|
||
<br
|
||
class="newline" /><span
|
||
class="cmbx-10">Infrastructure & Observability: </span>AWS, GCP, Docker, Kubernetes, CI/CD, Grafana, performance
|
||
profiling
|
||
</p>
|
||
</div><h4 class="sectionHead"><a
|
||
id="x1-30000"></a><div
|
||
class="centerline"> PROFESSIONAL EXPERIENCE </div></h4><div class="section">
|
||
<!--l. 85--><p class="noindent" ><span
|
||
class="cmsl-10">Staff Software Engineer </span>Feb 2026 - Present
|
||
<br
|
||
class="newline" /><span class="company">Mozilla</span>, Remote <br
|
||
class="newline" />Promoted for cross-team technical leadership and delivering multi-platform privacy features. </p>
|
||
<ul class="itemize1">
|
||
<li class="itemize">
|
||
<!--l. 89--><p class="noindent" >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
|
||
</p></li>
|
||
<li class="itemize">
|
||
<!--l. 90--><p class="noindent" >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
|
||
</p></li>
|
||
<li class="itemize">
|
||
<!--l. 91--><p class="noindent" >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</p></li></ul>
|
||
|
||
<!--l. 94--><p class="noindent" ><span
|
||
class="cmsl-10">Senior Software Engineer </span>Jun 2024 - Jan 2026
|
||
<br
|
||
class="newline" /><span class="company">Mozilla</span>, Remote <br
|
||
class="newline" /></p>
|
||
<ul class="itemize1">
|
||
<li class="itemize">
|
||
<!--l. 97--><p class="noindent" >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
|
||
</p></li>
|
||
<li class="itemize">
|
||
<!--l. 98--><p class="noindent" >Code reviewer for UniFFI, Mozilla’s multi-language bindings generator (Rust to Kotlin, Swift, Python,
|
||
JavaScript)
|
||
</p></li>
|
||
<li class="itemize">
|
||
<!--l. 99--><p class="noindent" >Contributing directly to Firefox Desktop (mozilla-central): shipping Rust and C++ code
|
||
</p></li>
|
||
<li class="itemize">
|
||
<!--l. 100--><p class="noindent" >Led “Rusty Fridays” sessions (6–10 engineers per session), building internal Rust knowledge across
|
||
teams</p></li></ul>
|
||
<!--l. 103--><p class="noindent" ><span
|
||
class="cmsl-10">Technical Editor, “From C to Rust” </span>Feb 2026 - Present
|
||
<br
|
||
class="newline" /><span class="company">Manning Publications</span> (Contract, Part-time) <br
|
||
class="newline" />Reviewing technical accuracy and pedagogical quality for Manning’s C-to-Rust migration guide.
|
||
</p><!--l. 109--><p class="noindent" ><span
|
||
class="cmsl-10">Senior Systems Engineer, Team Lead </span>Apr 2023 - Jun 2024
|
||
<br
|
||
class="newline" /><span class="company">Toposware</span> (acquired by <span class="company">Polygon Labs</span>), Remote <br
|
||
class="newline" />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.
|
||
</p>
|
||
<ul class="itemize1">
|
||
<li class="itemize">
|
||
<!--l. 113--><p class="noindent" >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
|
||
</p></li>
|
||
<li class="itemize">
|
||
<!--l. 114--><p class="noindent" >Built the EVM bridge connecting external Ethereum-compatible chains to the core network
|
||
</p></li>
|
||
<li class="itemize">
|
||
<!--l. 115--><p class="noindent" >Led the internal benchmarking initiative that changed where the team focused optimization effort</p></li></ul>
|
||
<!--l. 118--><p class="noindent" ><span
|
||
class="cmsl-10">Senior Software Engineer </span>Aug 2022 - Feb 2023
|
||
<br
|
||
class="newline" /><span class="company">Centrifuge</span>, Remote <br
|
||
class="newline" />Protocol team building DeFi infrastructure on Substrate/Polkadot in Rust. </p>
|
||
<ul class="itemize1">
|
||
<li class="itemize">
|
||
<!--l. 122--><p class="noindent" >Implemented on-chain fund pool mutations, the core feature enabling live capital allocation adjustments
|
||
in the lending protocol
|
||
|
||
</p></li>
|
||
<li class="itemize">
|
||
<!--l. 123--><p class="noindent" >Replaced manual documentation with CI-driven auto-generation from Rust source, eliminating
|
||
persistent drift between code and public docs</p></li></ul>
|
||
<!--l. 126--><p class="noindent" ><span
|
||
class="cmsl-10">Author, “Rust Web Development” </span>Oct 2020 - Dec 2022
|
||
<br
|
||
class="newline" /><span class="company">Manning Publications</span> <br
|
||
class="newline" />Wrote and published an end-to-end guide covering async Rust, web frameworks, and production deployment.
|
||
</p><!--l. 132--><p class="noindent" ><span
|
||
class="cmsl-10">Sr. Solutions Architect (promoted from SA) </span>Jun 2020 - Jul 2022
|
||
<br
|
||
class="newline" /><span class="company">Twilio Inc.</span>, Remote <br
|
||
class="newline" /></p>
|
||
<ul class="itemize1">
|
||
<li class="itemize">
|
||
<!--l. 135--><p class="noindent" >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
|
||
</p></li>
|
||
<li class="itemize">
|
||
<!--l. 136--><p class="noindent" >Created reusable engagement playbooks adopted across the EMEA Professional Services team</p></li></ul>
|
||
<!--l. 139--><p class="noindent" ><span
|
||
class="cmsl-10">Systems Engineer, Core Backend </span>Aug 2019 - May 2020
|
||
<br
|
||
class="newline" /><span class="company">Kraken Digital Asset Exchange</span>, Remote <br
|
||
class="newline" />Part of the first Rust team rewriting Kraken’s core infrastructure from PHP. </p>
|
||
<ul class="itemize1">
|
||
<li class="itemize">
|
||
<!--l. 143--><p class="noindent" >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
|
||
</p></li>
|
||
<li class="itemize">
|
||
<!--l. 144--><p class="noindent" >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</p></li></ul>
|
||
<!--l. 149--><p class="noindent" ><span
|
||
class="cmsl-10">Earlier Career </span>2013 - 2019
|
||
<br
|
||
class="newline" />Sr. Software Engineer (freelance from 2016) across enterprise clients (<span class="company">OSRAM</span>, K<>rber Digital, <span class="company">GIATA</span>, <span class="company">Avenga</span>) and
|
||
startups (Dalia Research, blogfoster, smartB) in Berlin. </p>
|
||
<ul class="itemize1">
|
||
<li class="itemize">
|
||
<!--l. 152--><p class="noindent" >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
|
||
</p></li>
|
||
<li class="itemize">
|
||
<!--l. 153--><p class="noindent" >Designed IoT authentication infrastructure at <span class="company">OSRAM</span> for thousands of connected devices (Node.js,
|
||
Go, Lua)
|
||
</p></li>
|
||
<li class="itemize">
|
||
<!--l. 154--><p class="noindent" >First engineering hire at K<>rber Digital: built real-time sensor data pipelines on AWS (Lambda, ECS,
|
||
Route53)
|
||
|
||
</p></li>
|
||
<li class="itemize">
|
||
<!--l. 155--><p class="noindent" >Decomposed <span class="company">GIATA</span>’s monolithic PHP system into 6 Docker-based services, taught the existing team
|
||
Scrum and JavaScript
|
||
</p></li>
|
||
<li class="itemize">
|
||
<!--l. 156--><p class="noindent" >Contributed to the Rust compiler and standard library during a self-directed sabbatical (2019)</p></li></ul>
|
||
<!--l. 159--><p class="noindent" ><span
|
||
class="cmsl-10">Technical Writer </span>2008 - 2020
|
||
<br
|
||
class="newline" />Freelance (Contract) <br
|
||
class="newline" />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<>r Einsteiger” (Bookboon,
|
||
2012).
|
||
</p>
|
||
</div><h4 class="sectionHead"><a
|
||
id="x1-40000"></a><div
|
||
class="centerline"> EDUCATION </div></h4><div class="section">
|
||
<!--l. 171--><p class="noindent" ><span
|
||
class="cmsl-10">Bachelor of Science, Computer Science </span>Mar 2014
|
||
<br
|
||
class="newline" /><span class="company">TH Ingolstadt</span>. Scholarship from Allianz Deutschland AG (fully funded dual-study program, 2010–2014)
|
||
</p>
|
||
</div></div>
|
||
|
||
</body>
|
||
</html>
|
||
|
||
|