There is an old debate in programming circles: does typing speed matter for developers? One camp says no — coding is about thinking, not typing. The other camp says yes — because developers do a lot more typing than just writing code.
Both sides have a point, and the reality is more nuanced than either admits. Let us break down where typing speed actually matters in a developer's workflow, how to improve it for code-specific patterns, and where an entirely different input method can take over.
The "Typing Speed Doesn't Matter" Myth
The argument usually goes like this: "A developer spends 90% of their time thinking and 10% typing. Optimizing the 10% is pointless." This is true if you only count writing code. But writing code is a surprisingly small fraction of what developers actually type in a day.
Here is what a typical developer's typing breakdown actually looks like:
- Code: 20-30% of total keystrokes
- Slack/Teams messages: 15-25%
- Code review comments: 10-15%
- Documentation and READMEs: 10-15%
- Commit messages and PR descriptions: 5-10%
- Emails: 5-10%
- Search queries and commands: 5-10%
The majority of a developer's typing is plain English, not code. Slack messages, PR descriptions, documentation, emails — these are all natural language, and they add up to 60-70% of your daily keystrokes. Typing speed absolutely matters for this work.
Where Speed Matters Most in Code
Even within the coding portion, speed is more important than the "thinking vs. typing" crowd admits:
Flow State Preservation
When you are in flow — that state where the solution is clear in your mind and you just need to get it into the editor — slow typing actively breaks the flow. Your brain is running at one speed and your fingers at another. Every pause while your fingers catch up is an opportunity for the thought to fragment. Fast typists can capture a complex function in one continuous burst. Slow typists have to hold the mental model longer, which increases cognitive load and error rate.
Refactoring Speed
Refactoring often means rewriting significant blocks of code. Yes, IDE tools handle variable renames and method extraction. But restructuring logic, rewriting conditionals, and updating patterns still requires manual typing. A developer who types at 80 WPM will finish a refactoring pass meaningfully faster than one at 40 WPM, and that speed compounds across a multi-file refactor.
Terminal and Command Line
Developers who live in the terminal type commands, paths, arguments, and piped sequences all day. This is where raw typing speed (plus good tab completion habits) directly translates to faster work. There is no thinking bottleneck when you need to type git rebase -i HEAD~5 — you just need your fingers to move.
How to Improve Typing Speed for Code
Standard typing practice sites are great for English text, but code has different character distributions. You use braces, brackets, semicolons, underscores, and camelCase constantly. Here is how to train specifically for coding speed:
Practice Special Characters
The biggest speed killer in code is not common letters — it is the symbols. Most people are slow at reaching for {, }, [, ], |, \, =, and ->. These keys are in the keyboard periphery, far from home row.
Practice tip: create a custom word list in MonkeyType that is heavy on symbols. Type sequences like if (x === true) { return arr[0]; } repeatedly until the symbol reaches feel natural.
Learn Your IDE Shortcuts
The fastest code is code you do not type. Master these patterns:
- Snippet expansion: Type a trigger, hit Tab, and your editor expands it into a full block. In VS Code, typing
forand pressing Tab gives you a complete for-loop scaffold. - Multi-cursor editing: Select multiple instances and type once. This is faster than find-and-replace for small edits.
- Emmet for HTML/CSS: Type
div.container>ul>li*5and expand it into full markup. This is 10x faster than typing the tags manually. - Copilot and AI completion: Let the model suggest the next line. Your typing becomes Tab-accept rather than character-by-character.
Use 10-Finger Typing — Seriously
A surprising number of developers type with 6-8 fingers and avoid their pinkies. This works fine for English text, but coding requires heavy use of keys that are naturally in pinky territory: [, ], {, }, ;, ', /, =, and the Shift key. If your pinkies are not pulling their weight, you are reaching across with other fingers and losing speed.
Retrain your pinkies. It takes about a week of deliberate practice and the payoff is permanent.
Consider Your Keyboard Layout
Some developers swear by Programmer Dvorak or Colemak-DH, which move common programming symbols to more accessible positions. The tradeoff is a brutal 2-3 month learning curve where your productivity craters. Worth it if you are early in your career and willing to invest the time. Probably not worth it if you are already at 70+ WPM on QWERTY.
Where Voice Takes Over
Here is the honest truth about voice dictation and code: dictating actual code syntax is awkward. Saying "open curly brace, for let i equals zero, semicolon, i less than array dot length, semicolon, i plus plus, close curly brace" is slower than typing it. Code has too many symbols, too much precise formatting, and too many domain-specific terms for voice to compete with a skilled typist.
But remember that 60-70% of a developer's typing that is not code? That is where voice absolutely dominates.
Commit Messages and PR Descriptions
Instead of typing out a detailed PR description explaining your approach, architectural decisions, and test coverage, you can hold a hotkey, explain it verbally in 15 seconds, and release. What would take 2-3 minutes of typing appears in under a second. Your PR descriptions get better because you are more likely to write detailed ones when speaking is effortless.
Code Review Comments
Thoughtful code review is one of the highest-value activities a developer can do, and it is almost entirely English text. Explaining why a certain pattern is risky, suggesting an alternative approach, or asking clarifying questions — all of this is natural language. Voice input at 150 WPM means you can leave thorough review comments in a fraction of the time.
Slack and Team Communication
Developers spend a shocking amount of time in Slack. Status updates, architectural discussions, debugging threads, standup summaries — all plain English, all perfect for voice. The developer who speaks their Slack messages instead of typing them saves 30-45 minutes per day on communication alone.
Documentation
Let us be honest: most developers skip documentation because it is tedious to type out explanations of code they already understand. When you can hold a button and explain a module verbally — just like you would explain it to a colleague at your desk — documentation becomes something you actually do.
The Developer Setup
Steno is built for exactly this workflow. It is a 1.7 MB native macOS app that sits in your menu bar. Hold a hotkey, speak, release — text appears at the cursor. It works in VS Code, your terminal, Slack, GitHub in the browser, email — anywhere you type.
The smart rewrite feature cleans up filler words and tightens grammar automatically, so your dictated text reads like it was carefully typed. Transcription happens in under a second via Whisper large-v3-turbo on Groq.
The ideal developer workflow: keyboard for code, IDE shortcuts for scaffolding, and voice for everything else. You write code at your keyboard speed, and you communicate at your speaking speed. No context switching — just hold the hotkey in whatever app you are in.
Try it: next time you are about to type a long Slack message or a PR description, hold a hotkey and say it instead. The time difference will make you question every long message you have ever typed.