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 >
2026-01-20 22:53:54 +00:00
< / 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;' > Book: < 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 >
2026-01-21 02:41:12 +00:00
< / tr > < tr id = 'TBL-2-5-' style = 'vertical-align:baseline;' > < td class = 'td00' id = 'TBL-2-5-1' style = 'white-space:nowrap; text-align:left;' > Website: < a href = "https://bastiangruber.ca" > bastiangruber.ca< / 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;' > Git: < a href = "https://code.novanexus.ca/gruberb" > code.novanexus.ca/gruberb< / a > < / td > < / tr > < / table > < / div > < / td > < / tr > < / table >
2026-01-20 20:27:41 +00:00
< h4 class = 'sectionHead' id = 'summary' > < a id = 'x1-10000' > < / a > < div class = 'centerline' > SUMMARY < / div > < / h4 > < div class = 'section' >
2026-01-20 22:12:24 +00:00
<!-- l. 55 --> < p class = 'noindent' > Staff Software 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& Tell Berlin, the largest Rust meetup globally.
2026-01-20 20:27:41 +00:00
< / p >
< / div > < h4 class = 'sectionHead' id = 'skills' > < a id = 'x1-20000' > < / a > < div class = 'centerline' > SKILLS < / div > < / h4 > < div class = 'section' >
2026-01-20 22:53:54 +00:00
<!-- 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, FFI, Distributed Systems, Web Services, Micro Services, IoT, Blockchain,
Firefox
2026-01-20 20:27:41 +00:00
< / p >
< / div > < h4 class = 'sectionHead' id = 'professional-experience' > < a id = 'x1-30000' > < / a > < div class = 'centerline' > PROFESSIONAL EXPERIENCE < / div > < / h4 > < div class = 'section' >
2026-01-20 22:12:24 +00:00
<!-- l. 87 --> < p class = 'noindent' > < span class = 'cmsl-10' > Staff Software Engineer - Full-time < / span > February 2026 - Now
< br class = 'newline' / > < span class = 'cmsl-10' > Senior Software Engineer - Full-time < / span > July 2024 - February 2026
2026-01-20 22:53:54 +00:00
< br class = 'newline' / > < span class = "company" > Mozilla< / span > , Remote < br class = 'newline' / > Contributing to Firefox (desktop and mobile) shipped to hundreds of millions of users. All work is open source.
2026-01-20 20:27:41 +00:00
< / 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, Mozilla’ s 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 >
2026-01-20 22:12:24 +00:00
2026-01-20 22:53:54 +00:00
< li class = 'itemize' > Building and maintaining the Push notification service for Firefox (async Rust backend handling
2026-01-20 20:27:41 +00:00
millions of concurrent connections)
< / li >
< 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 >
2026-01-20 22:12:24 +00:00
<!-- l. 101 --> < p class = 'noindent' > < span class = 'cmsl-10' > Senior Systems Engineer, Team Lead - Full-time < / span > April 2023 - June 2024
2026-01-20 22:53:54 +00:00
< br class = 'newline' / > < span class = "company" > Toposware< / span > , Remote < br class = 'newline' / > Developing a Peer-to-Peer distributed network, with high throughput and low latency. Part of the core team,
2026-01-20 20:27:41 +00:00
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 >
2026-01-20 22:12:24 +00:00
<!-- l. 112 --> < p class = 'noindent' > < span class = 'cmsl-10' > Senior Software Engineer - Full-time < / span > August 2022 - February 2023
2026-01-20 22:53:54 +00:00
< br class = 'newline' / > < span class = "company" > Centrifuge< / span > , Remote < br class = 'newline' / > Part of the protocol team implementing the DeFi application on top of Substrate. Working in a self-governed
2026-01-20 20:27:41 +00:00
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
2026-01-20 22:53:54 +00:00
2026-01-20 20:27:41 +00:00
< / li >
< li class = 'itemize' > Co-authored RFCs to enhance the protocol< / li > < / ul >
2026-01-20 22:12:24 +00:00
<!-- l. 122 --> < p class = 'noindent' > < span class = 'cmsl-10' > Author of ”Rust Web Development” < / span > October 2020 - December 2022
2026-01-20 22:53:54 +00:00
< br class = 'newline' / > < span class = "company" > Manning Publications< / span > , Remote < br class = 'newline' / > Writing the book ”Rust Web Development”. Research, writing and marketing the book in partnership with
2026-01-20 20:27:41 +00:00
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 >
2026-01-20 22:12:24 +00:00
<!-- l. 131 --> < p class = 'noindent' > < span class = 'cmsl-10' > Sr. Solutions Architect (Professional Services) - Full-time < / span > May 2021 - July 2022
< br class = 'newline' / > < span class = 'cmsl-10' > Solutions Architect (Professional Services) - Full-time < / span > June 2020 - May 2021
2026-01-20 22:53:54 +00:00
< br class = 'newline' / > < span class = "company" > Twilio Inc.< / span > , Remote < br class = 'newline' / > Second Solutions Architect hired for the new EMEA Professional Services team. Enabled enterprise customers to
2026-01-20 20:27:41 +00:00
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 >
2026-01-20 22:12:24 +00:00
<!-- l. 142 --> < p class = 'noindent' > < span class = 'cmsl-10' > Systems Engineer - Contract < / span > August 2019 - May 2020
2026-01-20 22:53:54 +00:00
< br class = 'newline' / > < span class = "company" > Kraken Digital Currency Exchange< / span > , 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
2026-01-20 20:27:41 +00:00
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
2026-01-20 22:53:54 +00:00
2026-01-20 20:27:41 +00:00
< / li >
< li class = 'itemize' > Cross-communication with different teams and the CTO< / li > < / ul >
2026-01-20 22:12:24 +00:00
<!-- l. 151 --> < p class = 'noindent' > < span class = 'cmsl-10' > Rust Developer - Freelance < / span > March 2019 - July 2019
2026-01-20 22:53:54 +00:00
< br class = 'newline' / > < span class = "company" > Self Employed< / span > , Berlin/Toronto < br class = 'newline' / > Took time to deep-dive into Rust, founded the Rust& Tell Berlin MeetUp, contributed to Rust core and created
2026-01-20 20:27:41 +00:00
learning paths for NodeJS developers transitioning to Rust. < / p >
< ul class = 'itemize1' >
< li class = 'itemize' > Founded and organized the monthly ”Rust & 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 >
2026-01-20 22:12:24 +00:00
<!-- l. 160 --> < p class = 'noindent' > < span class = 'cmsl-10' > Sr. Software Engineer - Freelance < / span > March 2016 - February 2019
2026-01-20 22:53:54 +00:00
< br class = 'newline' / > < span class = "company" > OSRAM< / span > , < span class = "company" > Körber Digital< / span > , < span class = "company" > Avenga< / span > , < span class = "company" > ERGO Group< / span > , < span class = "company" > GIATA< / span > , < span class = "company" > PaperHive< / span > , < span class = "company" > Glispa< / span > (Berlin) < br class = 'newline' / > Freelance consultant for enterprise clients. Focus on microservices architecture, IoT platforms, and frontend
2026-01-20 20:27:41 +00:00
development. < / p >
< ul class = 'itemize1' >
2026-01-20 22:53:54 +00:00
< li class = 'itemize' > Built authentication infrastructure for < span class = "company" > OSRAM< / span > ’ s large-scale IoT platform (Node.js, Go, Lua)
2026-01-20 20:27:41 +00:00
< / li >
2026-01-20 22:53:54 +00:00
< li class = 'itemize' > First engineering hire at < span class = "company" > Körber Digital< / span > ; established tech stack and real-time data pipelines on AWS
2026-01-20 20:27:41 +00:00
< / li >
2026-01-20 22:53:54 +00:00
< li class = 'itemize' > Tech Lead at < span class = "company" > Avenga< / span > ; enabled Scrum processes and refactored codebase into microservices
2026-01-20 20:27:41 +00:00
< / li >
2026-01-20 22:53:54 +00:00
< li class = 'itemize' > Migrated legacy PHP systems to Node.js microservices with Docker at < span class = "company" > GIATA< / span >
2026-01-20 20:27:41 +00:00
< / li >
2026-01-20 22:53:54 +00:00
< li class = 'itemize' > Built in-house analytics dashboards and ad platforms at < span class = "company" > Glispa< / span > with AngularJS
2026-01-20 20:27:41 +00:00
< / li >
< li class = 'itemize' > Mentored teams on Scrum adoption and modern JavaScript practices< / li > < / ul >
2026-01-20 22:12:24 +00:00
<!-- l. 172 --> < p class = 'noindent' > < span class = 'cmsl-10' > Software Engineer - Full-time < / span > August 2015 - February 2016
2026-01-20 22:53:54 +00:00
< br class = 'newline' / > < span class = "company" > smartB Energy Management GmbH< / span > , Berlin < br class = 'newline' / > Worked in a small agile team creating an application for business owners to monitor energy consumption.
2026-01-20 20:27:41 +00:00
< / p >
< ul class = 'itemize1' >
< li class = 'itemize' > Full-stack development with JavaScript and Python
2026-01-20 22:53:54 +00:00
2026-01-20 20:27:41 +00:00
< / li >
< li class = 'itemize' > Heavy use of pair programming and TDD practices< / li > < / ul >
2026-01-20 22:12:24 +00:00
<!-- l. 180 --> < p class = 'noindent' > < span class = 'cmsl-10' > Software Engineer - Freelance < / span > March 2015 - July 2015
2026-01-20 22:53:54 +00:00
< br class = 'newline' / > < span class = "company" > blogfoster GmbH< / span > , Berlin < br class = 'newline' / > First developer hired to rewrite existing PHP/Backbone application using NodeJS and React. < / p >
2026-01-20 20:27:41 +00:00
< 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 >
2026-01-20 22:12:24 +00:00
<!-- l. 188 --> < p class = 'noindent' > < span class = 'cmsl-10' > Frontend Developer - Full-time < / span > February 2014 - March 2015
2026-01-20 22:53:54 +00:00
< br class = 'newline' / > < span class = "company" > Dalia Research< / span > , Berlin < br class = 'newline' / > First and sole frontend developer at 8-person startup. < / p >
2026-01-20 20:27:41 +00:00
< 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' >
2026-01-20 22:12:24 +00:00
<!-- l. 200 --> < p class = 'noindent' > < span class = 'cmsl-10' > Bachelor of Science, Computer Science < / span > September 2010 - February 2014
2026-01-20 22:53:54 +00:00
< br class = 'newline' / > < span class = "company" > TH Ingolstadt< / span > < br class = 'newline' / > Scholarship from Allianz Deutschland AG to study Computer Science, fully funded and with trainings in Scrum,
2026-01-20 20:27:41 +00:00
Java, PL/I and mainframe systems on the side.
< / p >
< / div > < / div >
< / body >
< / html >