// 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.

William Okano

Skills & Technologies

Tools I reach for when building reliable systems

</>

Languages

Go Kotlin Java TypeScript Python PHP

Backend & Systems

REST APIs WebSockets Microservices Event-Driven Databases

Infrastructure & DevOps

Terraform Docker CI/CD Chaos Engineering Cloud

Tooling & Environment

Git Neovim Linux Shell Scripting

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.

Go Terraform Chaos Engineering

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.

Go CLI Developer Tooling

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.

TypeScript Authorization REST APIs

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.

Go WebSockets TUI Concurrency

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.

Go PostgreSQL Docker

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.

Go HashiCorp Plugin Systems RPC

Experience

15 years building software across three countries and four industries

Staff Software Engineer

Current

Qonto 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

Published 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 Medium

Zup 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 Medium

Beyond 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.

🎸
Guitar
🎧
Music
📷
Photography
🎮
Gaming