CV/index.html

159 lines
15 KiB
HTML
Raw Normal View History

2026-01-20 20:27:41 +00:00
<!DOCTYPE html>
<html lang='en-US' xml:lang='en-US'>
<head> <title>Bastian Gruber - CV</title>
<meta charset='utf-8' />
<meta content='TeX4ht (https://tug.org/tex4ht/)' name='generator' />
<meta content='width=device-width,initial-scale=1' name='viewport' />
2026-01-20 20:57:56 +00:00
<link href='resume.css' rel='stylesheet' type='text/css' />
2026-01-20 20:27:41 +00:00
<meta content='resume.tex' name='src' />
2026-01-20 20:57:56 +00:00
<link href="style.css" rel="stylesheet" type="text/css" /></head><body>
2026-01-20 20:27:41 +00:00
<div class='resume'> <!-- tex4ht:inline --><div class='tabular'> <table class='tabular' id='TBL-1'><colgroup id='TBL-1-1g'><col id='TBL-1-1' /></colgroup><tr id='TBL-1-1-' style='vertical-align:baseline;'><td class='td00' id='TBL-1-1-1' style='white-space:nowrap; text-align:left;'><span class='cmbx-12'>Bastian Gruber</span> </td></tr><tr id='TBL-1-2-' style='vertical-align:baseline;'><td class='td00' id='TBL-1-2-1' style='white-space:nowrap; text-align:left;'>  </td>
</tr><tr id='TBL-1-3-' style='vertical-align:baseline;'><td class='td00' id='TBL-1-3-1' style='white-space:nowrap; text-align:left;'>  </td></tr></table> </div>
<table class='center-addresses'><tr><td class='first-address'><!-- tex4ht:inline --><div class='tabular'> <table class='tabular' id='TBL-2'><colgroup id='TBL-2-1g'><col id='TBL-2-1' /></colgroup><tr id='TBL-2-1-' style='vertical-align:baseline;'><td class='td00' id='TBL-2-1-1' style='white-space:nowrap; text-align:left;'><span class='cmbx-10'>Professional </span> </td>
2026-01-20 20:57:56 +00:00
</tr><tr id='TBL-2-2-' style='vertical-align:baseline;'><td class='td00' id='TBL-2-2-1' style='white-space:nowrap; text-align:left;'>LinkedIn: <a href="https://linkedin.com/in/bastiangruber">linkedin.com/in/bastiangruber</a> </td>
</tr><tr id='TBL-2-3-' style='vertical-align:baseline;'><td class='td00' id='TBL-2-3-1' style='white-space:nowrap; text-align:left;'>Project: <a href="https://rustwebdevelopment.com">rustwebdevelopment.com</a>  </td>
</tr><tr id='TBL-2-4-' style='vertical-align:baseline;'><td class='td00' id='TBL-2-4-1' style='white-space:nowrap; text-align:left;'>E-Mail: <a href="mailto:gruberbastian@me.com">gruberbastian@me.com</a>  </td></tr></table> </div></td><td class='second-address'><!-- tex4ht:inline --><div class='tabular'> <table class='tabular' id='TBL-3'><colgroup id='TBL-3-1g'><col id='TBL-3-1' /></colgroup><tr id='TBL-3-1-' style='vertical-align:baseline;'><td class='td00' id='TBL-3-1-1' style='white-space:nowrap; text-align:left;'><span class='cmbx-10'>Code </span> </td>
</tr><tr id='TBL-3-2-' style='vertical-align:baseline;'><td class='td00' id='TBL-3-2-1' style='white-space:nowrap; text-align:left;'>GitHub: <a href="https://github.com/gruberb">github.com/gruberb</a> </td>
</tr><tr id='TBL-3-3-' style='vertical-align:baseline;'><td class='td00' id='TBL-3-3-1' style='white-space:nowrap; text-align:left;'>Code: <a href="https://code.novanexus.ca">code.novanexus.ca</a>  </td></tr><tr id='TBL-3-4-' style='vertical-align:baseline;'><td class='td00' id='TBL-3-4-1' style='white-space:nowrap; text-align:left;'>Website: <a href="https://bastiangruber.ca">bastiangruber.ca</a>  </td>
2026-01-20 20:27:41 +00:00
</tr></table> </div></td></tr></table>
<h4 class='sectionHead' id='summary'><a id='x1-10000'></a><div class='centerline'> SUMMARY </div></h4><div class='section'>
<!-- l. 55 --><p class='noindent'>Senior Rust engineer and published author (”Rust Web Development” - Manning) with 15+ years building scalable
backend systems. Currently contributing to Firefox at Mozilla, shipping code to hundreds of millions of users.
Founded Rust&amp;Tell Berlin, the largest Rust meetup globally.
</p>
</div><h4 class='sectionHead' id='skills'><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, Python, TypeScript, JavaScript, Go <br class='newline' /><span class='cmbx-10'>Frontend: </span>React, Angular, Vue.js <br class='newline' /><span class='cmbx-10'>Backend: </span>Rust (Actix, Warp, Axum), Python (FastAPI), Node.js, Go <br class='newline' /><span class='cmbx-10'>Patterns: </span>REST, GraphQL, gRPC, async Rust, distributed systems (P2P) <br class='newline' /><span class='cmbx-10'>Infrastructure: </span>AWS, Google Cloud, Docker, Kubernetes, CI/CD, Grafana <br class='newline' /><span class='cmbx-10'>Domains: </span>Systems programming, Firefox, FFI, protocol implementation, IoT, blockchain
</p>
</div><h4 class='sectionHead' id='professional-experience'><a id='x1-30000'></a><div class='centerline'> PROFESSIONAL EXPERIENCE </div></h4><div class='section'>
<!-- l. 87 --><p class='noindent'><span class='cmsl-10'>Senior Software Engineer - Full-time </span>July 2024 - Now
<br class='newline' />Mozilla, Remote <br class='newline' />Contributing to Firefox (desktop and mobile) shipped to hundreds of millions of users. All work is open source.
</p>
<ul class='itemize1'>
<li class='itemize'>Leading the Image Service project: designing and implementing a cross-team service to provide favicons
and images to Firefox Desktop and mobile
</li>
<li class='itemize'>Contributor to UniFFI, Mozillas multi-language bindings generator for Rust, enabling Rust code to
be called from Kotlin (Android), Swift (iOS), Python, and JavaScript (Desktop)
</li>
<li class='itemize'>Implemented OHTTP (Oblivious HTTP) support in application-services, enabling privacy-preserving
API requests across Firefox Desktop, Android, and iOS
</li>
<li class='itemize'>Building and maintaining the Push notification service for Firefox (async Rust backend handling
millions of concurrent connections)
</li>
2026-01-20 20:08:13 +00:00
2026-01-20 20:27:41 +00:00
<li class='itemize'>Contributing directly to Firefox (mozilla-central): shipping Rust and C++ code to Desktop
</li>
<li class='itemize'>Maintaining Merino, the web service powering Firefox Suggest with Python/FastAPI
</li>
<li class='itemize'>Creating internal Rust learning resources and leading ”Rusty Fridays” sessions for engineers</li></ul>
<!-- l. 100 --><p class='noindent'><span class='cmsl-10'>Senior Systems Engineer, Team Lead - Full-time </span>April 2023 - June 2024
<br class='newline' />Toposware, Remote <br class='newline' />Developing a Peer-to-Peer distributed network, with high throughput and low latency. Part of the core team,
consisting out of 4 people. Implementing the protocol and the services in-house. Debugging of production issues,
implementing the core protocol, re-wrote the CLI, led benchmark initiatives, set up part of the CI/CD flow and
Grafana dashboards. </p>
<ul class='itemize1'>
<li class='itemize'>Increased the throughput of a node 10x
</li>
<li class='itemize'>Re-wrote the CLI to add configuration and robustness, better user guidance
</li>
<li class='itemize'>Led a team of 3 engineers for an internal benchmark project
</li>
<li class='itemize'>Implemented load testing for part of the codebase
</li>
<li class='itemize'>Connected external EVM chains to the core network</li></ul>
<!-- l. 111 --><p class='noindent'><span class='cmsl-10'>Senior Software Engineer - Full-time </span>August 2022 - February 2023
<br class='newline' />Centrifuge, Remote <br class='newline' />Part of the protocol team implementing the DeFi application on top of Substrate. Working in a self-governed
organization, leading the documentation efforts around Rust and the protocol implementation. </p>
<ul class='itemize1'>
<li class='itemize'>Implemented the auto-generation of the online documentation with every PR
</li>
<li class='itemize'>Enabled mutating of money pools in the protocol
</li>
<li class='itemize'>Implemented client facing APIs on top of the money fund pools
</li>
<li class='itemize'>Co-authored RFCs to enhance the protocol</li></ul>
<!-- l. 121 --><p class='noindent'><span class='cmsl-10'>Author of ”Rust Web Development” </span>October 2020 - December 2022
<br class='newline' />Manning Publications, Remote <br class='newline' />Writing the book ”Rust Web Development”. Research, writing and marketing the book in partnership with
Manning. </p>
<ul class='itemize1'>
<li class='itemize'>Published technical book on building web services with Rust
</li>
<li class='itemize'>Created comprehensive tutorials covering async Rust, web frameworks, and deployment
</li>
<li class='itemize'>Book available worldwide through Manning Publications</li></ul>
<!-- l. 130 --><p class='noindent'><span class='cmsl-10'>Sr. Solutions Architect (Professional Services) - Full-time </span>June 2020 - August 2022
<br class='newline' />Twilio Inc., Remote <br class='newline' />Second Solutions Architect hired for the new EMEA Professional Services team. Enabled enterprise customers to
integrate Twilio APIs through architecture design, code reviews, and hands-on implementation support.
</p>
<ul class='itemize1'>
<li class='itemize'>Technical Lead for Fortune 500 client engagements, from architecture to delivery
</li>
<li class='itemize'>Built reusable integration patterns and deliverables adopted across EMEA team
</li>
<li class='itemize'>Established technical review processes and best practices for customer implementations
</li>
<li class='itemize'>Involved in hiring, onboarding, and scaling the Professional Services team</li></ul>
<!-- l. 140 --><p class='noindent'><span class='cmsl-10'>Systems Engineer - Contract </span>August 2019 - May 2020
<br class='newline' />Kraken Digital Currency Exchange, Remote (San Francisco)<br class='newline' />Part of the first Rust team of the company, replacing the core trading engine with Rust. Worked alongside 12 highly
experienced Software Developers from all over the world. Refactor code from PHP to Rust, wrote new features in
Rust in a well-tested highly secure manner. </p>
<ul class='itemize1'>
<li class='itemize'>Re-wrote several PHP services in Rust to increase the throughput 100fold
</li>
<li class='itemize'>Wrote new services in Rust from the ground up
</li>
<li class='itemize'>Cross-communication with different teams and the CTO</li></ul>
<!-- l. 149 --><p class='noindent'><span class='cmsl-10'>Rust Developer - Freelance </span>March 2019 - July 2019
<br class='newline' />Self Employed, Berlin/Toronto <br class='newline' />Took time to deep-dive into Rust, founded the Rust&amp;Tell Berlin MeetUp, contributed to Rust core and created
learning paths for NodeJS developers transitioning to Rust. </p>
<ul class='itemize1'>
<li class='itemize'>Founded and organized the monthly ”Rust &amp; Tell Berlin” meetup (now largest Rust meetup globally)
</li>
<li class='itemize'>Contributed to Rust core and various Rust libraries
</li>
<li class='itemize'>Created Rust learning resources for NodeJS developers</li></ul>
<!-- l. 158 --><p class='noindent'><span class='cmsl-10'>Sr. Software Engineer - Freelance </span>March 2016 - February 2019
<br class='newline' />OSRAM, Körber Digital, Avenga, ERGO Group, GIATA, PaperHive, Glispa (Berlin) <br class='newline' />Freelance consultant for enterprise clients. Focus on microservices architecture, IoT platforms, and frontend
development. </p>
<ul class='itemize1'>
<li class='itemize'>Built authentication infrastructure for OSRAMs large-scale IoT platform (Node.js, Go, Lua)
</li>
<li class='itemize'>First engineering hire at Körber Digital; established tech stack and real-time data pipelines on AWS
</li>
<li class='itemize'>Tech Lead at Avenga; enabled Scrum processes and refactored codebase into microservices
</li>
<li class='itemize'>Migrated legacy PHP systems to Node.js microservices with Docker at GIATA
</li>
<li class='itemize'>Built in-house analytics dashboards and ad platforms at Glispa with AngularJS
</li>
<li class='itemize'>Mentored teams on Scrum adoption and modern JavaScript practices</li></ul>
<!-- l. 170 --><p class='noindent'><span class='cmsl-10'>Software Engineer - Full-time </span>August 2015 - February 2016
<br class='newline' />smartB Energy Management GmbH, Berlin <br class='newline' />Worked in a small agile team creating an application for business owners to monitor energy consumption.
</p>
<ul class='itemize1'>
<li class='itemize'>Full-stack development with JavaScript and Python
</li>
<li class='itemize'>Heavy use of pair programming and TDD practices</li></ul>
<!-- l. 178 --><p class='noindent'><span class='cmsl-10'>Software Engineer - Freelance </span>March 2015 - July 2015
<br class='newline' />blogfoster GmbH, Berlin <br class='newline' />First developer hired to rewrite existing PHP/Backbone application using NodeJS and React. </p>
<ul class='itemize1'>
<li class='itemize'>Built the first version of the ad marketplace for this young startup
</li>
<li class='itemize'>Mapped out architecture with CTO; implemented TDD practices</li></ul>
<!-- l. 186 --><p class='noindent'><span class='cmsl-10'>Frontend Developer - Full-time </span>February 2014 - March 2015
<br class='newline' />Dalia Research, Berlin <br class='newline' />First and sole frontend developer at 8-person startup. </p>
<ul class='itemize1'>
<li class='itemize'>Built survey platform and analytics dashboards in AngularJS
</li>
<li class='itemize'>Translated business requirements into product features across all browsers and devices</li></ul>
</div><h4 class='sectionHead' id='education'><a id='x1-40000'></a><div class='centerline'> EDUCATION </div></h4><div class='section'>
<!-- l. 198 --><p class='noindent'><span class='cmsl-10'>Bachelor of Science, Computer Science </span>September 2010 - February 2014
<br class='newline' />TH Ingolstadt<br class='newline' />Scholarship from Allianz Deutschland AG to study Computer Science, fully funded and with trainings in Scrum,
Java, PL/I and mainframe systems on the side.
</p>
</div></div>
</body>
</html>