// Hi, I'm
William Okano
Now Staff Software Engineer at Qonto — Wealth & Market
I build reliable backend systems and help engineering teams ship with confidence. Fifteen years in, I still believe the best code is the code that's easy for the next person to read.
- 15+
- Years shipping software
- 3
- Countries lived and worked in
- 4
- Industries, from payments to AI
- 3
- Languages I work in — EN, PT, DE
About
I grew up in Brazil, studied Information Systems at Universidade Federal de Uberlândia, and started writing code professionally before I could legally rent a car. That was over fifteen years ago. Since then, I have worked across fintech, food delivery, and productivity tooling — building systems that serve millions of users and mentoring the engineers who maintain them.
My path took me from Brazil to Berlin, where I have spent the last several years working at companies like N26 Bank, Delivery Hero, and Grammarly. At each stop, the pattern has been the same: I dig into the hard backend problems, push for clean and maintainable solutions, and make sure the people around me have what they need to do their best work.
I am a backend engineer at heart — Go, Kotlin, JVM, distributed systems — but I am comfortable moving across the stack when the problem calls for it. What matters to me is not the language or the framework. It is whether we are building something that works well, reads well, and will still make sense six months from now when someone else opens the pull request.
Skills & Technologies
Tools I reach for when building reliable systems
Languages
Backend & Systems
Infrastructure & DevOps
Tooling & Environment
Featured Projects
A few things worth showing More on GitHub
Terraform Provider for Litmus Chaos
A custom Terraform provider that brings chaos engineering experiments into the infrastructure-as-code workflow. Enables teams to define, version, and automate chaos experiments alongside their infrastructure.
Status Line for Claude Code
A Go status line for Claude Code that keeps the session's real state in view — rate-limit windows, context usage, token counts, and cache hit rate — instead of finding out when something stops working.
Entitlements Service
A worked example of entitlements as data: who is allowed to do what, resolved in one place instead of scattered across if-statements. The quiet layer under every subscription, plan, and permission check.
Real-Time WebSocket Chat
A concurrent chat system featuring both a terminal-based UI and a web client, connected through WebSocket communication. Demonstrates real-time bidirectional messaging and connection management.
PostgreSQL Backup Utility
A lightweight, containerized tool for automating PostgreSQL database backups. Designed with operational simplicity — package it with Docker, point it at a database, and let it handle the rest.
HashiCorp Plugin Architecture
A reference implementation of HashiCorp's go-plugin architecture, demonstrating how to build extensible systems using process-separated plugins communicating over RPC.
Experience
15 years building software across three countries and four industries
Staff Software Engineer
CurrentQonto Wealth & Market
Berlin, Germany Jul 2026 — Present
Staff engineer on Wealth & Market, the team behind Qonto's investment products for German businesses. Correctness, regulation, and customer trust all land on the same code path.
Software Engineer
Grammarly (now Superhuman)
Berlin, Germany until Jun 2026
Payments, billing, and the AI flow. Led the Adyen integration into a multi-provider payment architecture, and built the anti-fraud platform that put three detection vendors behind a single decision path.
Senior Software Engineer
Delivery Hero Developer Experience
Berlin, Germany Aug 2021 — Jan 2025
Developer experience for around 30 engineering teams: standardized CI/CD, a chaos engineering platform built as a Kubernetes operator, and distributed load testing. Service onboarding went from two weeks to a day.
Senior Software Engineer
N26 Bank
Berlin, Germany Oct 2019 — Jul 2021
Card processing out of the monolith — authorization, settlements, and card lifecycle as independent services. Parallelized settlement batches over Kafka, cutting the run from eight hours to two.
Senior Software Engineer
Zup IT Innovation
Brazil Oct 2017 — Sep 2019
Built the foundation in backend engineering across the JVM ecosystem. Contributed technical writing to the company's engineering blog and developed a habit of teaching what I learned.
Software Engineer
Softbox (now Luizalabs)
Uberlandia, Brazil Sep 2015 — Sep 2017
Architected core components of Ricardo Eletro's marketplace, one of Brazil's largest e-commerce platforms. Integrated the payment system and guided junior developers on backend best practices.
Software Engineer
Quantica Networks
Uberlandia, Brazil Jan 2013 — Jun 2014
Built multi-tenant SaaS applications on the .NET stack. Focused on domain-driven design, scalability, and strongly tested solutions.
Software Engineer
Webroom
Uberlandia, Brazil Nov 2010 — Jan 2013
First professional role. Developed web applications across PHP and .NET, working with multiple database systems and delivering projects for diverse clients.
Writing
Honest notes from someone who has been doing this long enough to have made most of the mistakes already
From the blog
All postsPublished elsewhere
Zup IT Engineering Blog
PHP 7.4 Arrow Functions
A practical walkthrough of one of PHP 7.4's most anticipated features. Breaks down how arrow functions simplify closures, reduce boilerplate, and bring PHP's anonymous function syntax closer to what developers expect from modern languages.
Read on MediumZup IT Engineering Blog
Extension Functions in Kotlin
Explores one of Kotlin's most powerful features for writing expressive code. Demonstrates how extension functions let developers add behavior to existing classes without inheritance or wrapper patterns.
Read on MediumBeyond the Code
When I am not at my desk, you will usually find me with a guitar in my hands or headphones on, lost in a playlist. Music has been a constant in my life, right alongside code.
I am also a photographer — I shoot mostly on the streets and around Berlin, and I share that work on @okano.png. And yes, I play video games. It is a good way to turn the problem-solving part of my brain off for a while — or honestly, just redirect it toward a different kind of puzzle.
Let's Connect
Find me around the internet