How I stopped sounding rude in code reviews (as a non-native English speaker) A developer who is a non-native English speaker built a Chrome extension to rewrite text in place, aiming to eliminate the 'blunt tax' and 'junior tax' that non-native speakers face in code reviews and team communication. The extension, which offers formal, friendly, and concise tones, rewrites messages directly in text fields without tab switching, making professional communication cost-free. My code was fine. My comments were the problem. I've been a developer for years. English is not my first language — I think in my native language, I think in code, and English sits somewhere third. And for most of my career I didn't realize how much that third place was costing me. A while ago I left this comment on a pull request: this code is bad, u dont handle when api return null. fix pls before merge I didn't mean to be rude. In my head, this was a neutral technical note: there's a null-handling bug, it should be fixed before merge. Short, factual, done. I hit "Comment" and moved on. The author went quiet for the rest of the day. A colleague later told me the comment came across as hostile. I re-read it and saw it with fresh eyes: no greeting, no reasoning, an imperative "fix pls" — it read like a reprimand, not a review. Then I scrolled through the same PR and found a comment from a native-speaker teammate about a very similar issue: This looks close, but we're not handling the case where the API returns null — that'll throw downstream. Could you add a guard for it before we merge? Same technical content. Completely different reception. He sounded senior. I sounded angry. Once I saw it, I couldn't unsee it. Non-native speakers on engineering teams pay an invisible tax every day: The blunt tax. Short sentences with no softening read as aggression in English. In many languages directness is neutral or even polite. In English work culture, "fix this" is an order and "could you take a look at this?" is a request — and people remember which one you send them. The junior tax. Simple vocabulary and choppy grammar get subconsciously read as junior, no matter what your actual level is. People conflate fluency with competence. It's not fair, but it's real — promotions, code review weight, and who gets listened to in threads are all shaped by it. The rewrite tax. Knowing all this, I started re-reading every message three times before sending. A two-line Slack reply could take five minutes. Multiply by twenty messages a day. Reading messages out loud helped a little. Keeping a document of "polite phrases" helped a little more — until I realized I was pattern-matching from a phrasebook like a tourist. Then, like everyone in the last couple of years, I started pasting messages into ChatGPT: "rewrite this to sound professional." And honestly — it worked. The output was good. The workflow was the problem. Copy the text. Switch tab. Find the chat. Type the prompt. Wait. Copy the result. Switch back. Paste. For every single message. It broke my flow so badly that on busy days I just skipped it and went back to sounding blunt. The fix wasn't better English or better prompts. It was making the rewrite cost nothing. I built myself a small Chrome extension: you focus any text field — a PR comment box, Slack, an issue tracker, anywhere — press one shortcut, and the text gets rewritten in place. No tab switching, no prompting, no copy-paste. The message you were about to send just... becomes the version a senior engineer would have written. I gave it three tones, because context matters: a formal one for PR reviews and technical docs, a friendly one for team chat, and a concise one for commit messages. The "before" example above, run through the formal mode, comes out like this: The provided code lacks null-safety for API responses. This should be addressed prior to merge — please implement null-checking to ensure robust handling of null returns from the API endpoint. That's my actual thought, said the way I wanted it to land. The obvious change: fewer awkward moments, fewer "did I sound rude?" spirals at 11pm. The less obvious change: I write more. Before, every message in English had a small activation cost, so I'd stay quiet in threads where I had something to say. When writing well becomes free, you stop rationing your words. I comment on more PRs, ask more questions, disagree more openly — because I know the tone will come out right. That was the real unlock. The tax wasn't just making me sound worse. It was making me participate less. Whatever tool or method you use, the principle that worked for me: don't try to become a different writer — remove the friction from fixing your writing. Willpower-based solutions re-read everything memorize phrases fail on busy days, and busy days are exactly when you send the blunt message to the wrong person. The extension I built is called Softly — it's on the Chrome Web Store and free while it's early: https://chromewebstore.google.com/detail/nckkpgnjinhedmoojpbelkblefacineb https://chromewebstore.google.com/detail/nckkpgnjinhedmoojpbelkblefacineb But honestly, even if you never install anything: re-read your last ten PR comments as if a stranger wrote them to you. If any of them made you wince — that's the tax. It's worth fixing, whichever way you choose. I'm building Softly in the open - happy to answer anything about the extension Plasmo + React, Laravel backend or swap stories about writing English as a second language in tech.