CV/index.html
2026-03-17 07:52:00 -03:00

235 lines
15 KiB
HTML
Raw Permalink Blame History

<!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>&#x00A0;</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"> &#x00A0;</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"> &#x00A0;</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>&#x00A0;</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>&#x00A0;</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> &#x00A0;</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> &#x00A0;</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> &#x00A0;</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>&#x00A0;</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> &#x00A0;</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>&#x00A0;</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 (&#8220;Rust Web Development&#8221;), and 13 years of technical
writing for outlets like c&#8217;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 &amp; 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 &amp; 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&#8217;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 &#8220;Rusty Fridays&#8221; sessions (6&#8211;10 engineers per session), building internal Rust knowledge across
teams</p></li></ul>
<!--l. 103--><p class="noindent" ><span
class="cmsl-10">Technical Editor, &#8220;From C to Rust&#8221; </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&#8217;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, &#8220;Rust Web Development&#8221; </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&#8217;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&#8217;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 &#8220;Rust &amp; Tell Berlin&#8221; 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>&#8217;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&#8217;t, iX, Macwelt (IDG/Heise), and tech blogs
(LogRocket, stadt-bremerhaven.de, mobilegeeks.de). Also authored &#8220;OS X f<>r Einsteiger&#8221; (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&#8211;2014)
</p>
</div></div>
</body>
</html>