197 lines
12 KiB
HTML
197 lines
12 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 Software Engineer at Mozilla, shipping Rust, C++, and Python to hundreds of millions of Firefox users.
|
||
Published author (“Rust Web Development” – Manning). Founder of Rust&Tell Berlin, the largest Rust meetup
|
||
globally.
|
||
</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">Backend & Systems: </span>Rust (Actix, Warp, Axum), Python (FastAPI), Node.js, async Rust, FFI/UniFFI
|
||
<br
|
||
class="newline" /><span
|
||
class="cmbx-10">Patterns: </span>REST, GraphQL, gRPC, distributed systems (P2P), microservices <br
|
||
class="newline" /><span
|
||
class="cmbx-10">Infrastructure: </span>AWS, Google Cloud, Docker, Kubernetes, CI/CD, Grafana <br
|
||
class="newline" /><span
|
||
class="cmbx-10">AI Tooling: </span>Claude Code, GitHub Copilot
|
||
</p>
|
||
</div><h4 class="sectionHead"><a
|
||
id="x1-30000"></a><div
|
||
class="centerline"> PROFESSIONAL EXPERIENCE </div></h4><div class="section">
|
||
<!--l. 86--><p class="noindent" ><span
|
||
class="cmsl-10">Staff Software Engineer (promoted from Senior) </span>July 2024 - Present
|
||
<br
|
||
class="newline" /><span class="company">Mozilla</span>, Remote <br
|
||
class="newline" /></p>
|
||
<ul class="itemize1">
|
||
<li class="itemize">
|
||
<!--l. 89--><p class="noindent" >Implemented Oblivious HTTP (OHTTP) from scratch in application-services (shared Rust component
|
||
cross-compiled to Swift/Kotlin via UniFFI) plus C++ and Rust for Firefox Desktop – users are now
|
||
unidentifiable when making privacy-sensitive requests across all platforms
|
||
</p></li>
|
||
<li class="itemize">
|
||
<!--l. 90--><p class="noindent" >Consolidated four separate favicon implementations into a single Image Service – extended an existing
|
||
Python/Airflow pipeline rather than building a new microservice, now serving 4 teams from one
|
||
manifest behind a GCS-backed API
|
||
</p></li>
|
||
<li class="itemize">
|
||
<!--l. 91--><p class="noindent" >Maintained Firefox Push notification service (50k req/s, sub-200ms latency): reduced memory footprint,
|
||
added circuit breakers, built Grafana dashboards
|
||
</p></li>
|
||
<li class="itemize">
|
||
<!--l. 92--><p class="noindent" >Contributor and code reviewer for UniFFI, Mozilla’s multi-language bindings generator (Rust to Kotlin,
|
||
|
||
Swift, Python, JavaScript)
|
||
</p></li>
|
||
<li class="itemize">
|
||
<!--l. 93--><p class="noindent" >Led “Rusty Fridays” internal education sessions, mentoring engineers across teams through Rust
|
||
adoption</p></li></ul>
|
||
<!--l. 96--><p class="noindent" ><span
|
||
class="cmsl-10">Senior Systems Engineer, Team Lead </span>2023 - 2024
|
||
<br
|
||
class="newline" /><span class="company">Toposware</span>, Remote <br
|
||
class="newline" />Core team of 4 building a peer-to-peer distributed network protocol from scratch in Rust. </p>
|
||
<ul class="itemize1">
|
||
<li class="itemize">
|
||
<!--l. 100--><p class="noindent" >Achieved 10x throughput per node by profiling the actual bottleneck – optimized batch processing and
|
||
serialization paths rather than redesigning the consensus layer
|
||
</p></li>
|
||
<li class="itemize">
|
||
<!--l. 101--><p class="noindent" >Led benchmark initiative that revealed nodes were compute-bound on crypto operations, not
|
||
network-limited – redirected optimization effort accordingly
|
||
</p></li>
|
||
<li class="itemize">
|
||
<!--l. 102--><p class="noindent" >Built an EVM bridge connecting external Ethereum-compatible chains to the core network</p></li></ul>
|
||
<!--l. 105--><p class="noindent" ><span
|
||
class="cmsl-10">Senior Software Engineer </span>2022 - 2023
|
||
<br
|
||
class="newline" /><span class="company">Centrifuge</span>, Remote <br
|
||
class="newline" />Protocol team building DeFi applications on Substrate/Polkadot in Rust. </p>
|
||
<ul class="itemize1">
|
||
<li class="itemize">
|
||
<!--l. 109--><p class="noindent" >Implemented on-chain fund pool mutations – core feature for the lending protocol enabling live capital
|
||
allocation adjustments
|
||
</p></li>
|
||
<li class="itemize">
|
||
<!--l. 110--><p class="noindent" >Replaced manual documentation with CI-driven auto-generation from Rust source – eliminated
|
||
persistent drift between code and public docs</p></li></ul>
|
||
<!--l. 113--><p class="noindent" ><span
|
||
class="cmsl-10">Author, “Rust Web Development” </span>2020 - 2022
|
||
<br
|
||
class="newline" /><span class="company">Manning Publications</span> <br
|
||
class="newline" />Published end-to-end guide covering async Rust, web frameworks, and production deployment.
|
||
</p><!--l. 119--><p class="noindent" ><span
|
||
class="cmsl-10">Sr. Solutions Architect (promoted from SA) </span>2020 - 2022
|
||
<br
|
||
class="newline" /><span class="company">Twilio Inc.</span>, Remote <br
|
||
class="newline" /></p>
|
||
<ul class="itemize1">
|
||
<li class="itemize">
|
||
<!--l. 122--><p class="noindent" >Technical lead for Fortune 500 engagements: debugged latency issues, redesigned messaging flows,
|
||
advised on architectures matching client team size and resources
|
||
</p></li>
|
||
<li class="itemize">
|
||
<!--l. 123--><p class="noindent" >Created reusable engagement playbooks adopted across the EMEA Professional Services team</p></li></ul>
|
||
|
||
<!--l. 126--><p class="noindent" ><span
|
||
class="cmsl-10">Systems Engineer </span>2019 - 2020
|
||
<br
|
||
class="newline" /><span class="company">Kraken Digital Currency Exchange</span>, Remote <br
|
||
class="newline" /></p>
|
||
<ul class="itemize1">
|
||
<li class="itemize">
|
||
<!--l. 129--><p class="noindent" >Migrated core banking services and API gateway from PHP to Rust, achieving 100x throughput
|
||
improvement – enabling order-of-magnitude traffic growth without scaling hardware
|
||
</p></li>
|
||
<li class="itemize">
|
||
<!--l. 130--><p class="noindent" >Worked directly with the CTO on privacy-focused architectural decisions for the trading platform</p></li></ul>
|
||
<!--l. 135--><p class="noindent" ><span
|
||
class="cmsl-10">Earlier Career </span>2014 - 2019
|
||
<br
|
||
class="newline" />Sr. Software Engineer 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. 138--><p class="noindent" >Founded “Rust & Tell Berlin” meetup – grew it into the largest Rust meetup globally, still running
|
||
years later
|
||
</p></li>
|
||
<li class="itemize">
|
||
<!--l. 139--><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. 140--><p class="noindent" >First engineering hire at K<>rber Digital: built real-time sensor data pipelines on AWS
|
||
</p></li>
|
||
<li class="itemize">
|
||
<!--l. 141--><p class="noindent" >Decomposed <span class="company">GIATA</span>’s monolithic ERP into 6 Docker-based microservices, improving system scalability</p></li></ul>
|
||
</div><h4 class="sectionHead"><a
|
||
id="x1-40000"></a><div
|
||
class="centerline"> EDUCATION </div></h4><div class="section">
|
||
<!--l. 148--><p class="noindent" ><span
|
||
class="cmsl-10">Bachelor of Science, Computer Science </span><br
|
||
class="newline" /><span class="company">TH Ingolstadt</span> – Scholarship from Allianz Deutschland AG (fully funded)
|
||
</p>
|
||
</div></div>
|
||
|
||
</body>
|
||
</html>
|
||
|
||
|