A few months ago I watched a colleague leave a code review comment by talking into his microphone.
He said something like:
The observable chain here has a race condition because the
switchMapisn't cancelling the previous subscription.
The transcript came out clean. It even got switchMap right.
My first thought was: sure, in English. No chance this survives contact with the way we actually talk about software in Poland.
I was wrong.
Polish-English Was the Real Test
English wasn't the interesting part for me. What surprised me was how well the dictation handled the Polish-English hybrid that shows up in everyday developer conversations: Polish grammar mixed with English API names, framework terminology and architecture vocabulary.
For example:
| What I said | Result |
|---|---|
| 🇵🇱 "Refaktoryzacja serwisu do obsługi płatności" | Exact |
| 🇵🇱 "Wstrzykiwanie zależności przez konstruktor" | Exact |
| 🇬🇧 "Add a circuit breaker pattern to the external API calls" | Exact |
| 🇵🇱🇬🇧 "Ten endpoint powinien zwracać paginated response" | Exact |
The fourth example was the one that changed my mind. "Ten endpoint powinien zwracać paginated response" is not particularly good Polish or good English, but it is completely normal developer Polish. That's how a lot of us actually speak at work.
It isn't perfect, though. I still have to correct the occasional word or technical term, and that's fine. Fixing one or two words is still easier than typing the whole explanation from scratch.
What I Actually Dictate
I'm not dictating code. Voice is a bad fit for syntax-heavy work where exact punctuation and structure matter.
Where it works for me is everything around the code: explaining why something works, why it doesn't, what changed and what another engineer needs to know. In practice that means PR descriptions, Slack messages, longer review comments and the occasional first draft of internal documentation.
PR descriptions
Right after finishing a feature, all the context is still in my head: what changed, why I changed it, which edge cases showed up, what I deliberately didn't solve and which trade-offs I made.
Typing all of that into a PR description can feel like reconstructing work I've just finished. Talking through it feels more like continuing the same train of thought.
The transcript can be messy. I mostly care about getting the reasoning out while the context is still fresh.
Slack and review comments
This is where the Polish-English mix actually shows up. A message might start in Polish, switch to English for a technical term, include an API name, and go straight back to Polish grammar. That's the part I expected voice dictation to struggle with, and the part that surprised me most.
It also changes what I end up writing. Typing pushes me towards shorter explanations, which is how you get review comments like:
This should probably use
switchMap.
Speaking makes it easier to include the reasoning instead of compressing the comment down to a one-line suggestion.
A Real Example
Here's a real Slack message I dictated in one take:
Hej, zerknąłbyś na akcję Dry Run? Wydaje mi się, że nie przekazujemy zmiany do ECS, przez co nie eksponuje logów.
And after a quick cleanup:
Hej, zerknąłbyś na akcję
Dry Run? Wydaje mi się, że nie przekazujemy zmiennej do ECS, przez co nie eksponuje logów.
The transcript was almost right, but Willow transcribed zmiennej as zmiany. The sentence still looked plausible, but that one word changed the meaning.
For me, that's still a good trade-off. Fixing one word and adding a bit of formatting is much easier than typing the whole message from scratch.
What I Use
Someone recommended Willow Voice to me, so I tried it. I use the free version, and for what I need it for, that's enough.
I hadn't used voice dictation tools before, so I can't meaningfully compare Willow with Superwhisper, local Whisper, macOS Dictation or anything else. It worked well enough, and I kept using it.
That's about as sophisticated as my tool selection process was.
Where It Doesn't Work
Open offices are awkward. I don't have a clever solution for that; I dictate at home or somewhere I can talk without annoying everyone around me.
Very short messages aren't worth it either. If it's a single line, I usually just type it.
And the transcription doesn't have to be perfect to be useful. I still fix occasional technical terms, remove false starts and add formatting afterwards. Editing is part of the workflow, not a failure of it.
Fully voice-controlled programming still sounds exhausting to me, and I have no interest in replacing the keyboard. I just stopped using it for some of the writing around software development, and it turns out there was more of that in my week than I expected.
I also have no reason to assume Willow is the best option just because it's the one I happened to try first. If you've used Willow alongside something else — especially for multilingual or code-switched speech — what worked better for you, and why?
Top comments (0)