QWERTY vs Colemak-DH vs Dvorak: Best Coding Layout
Every few months a developer discovers alternative keyboard layouts, reads that QWERTY was designed around typewriter jams, and wonders if switching would make them faster. Here's an honest comparison of the layouts developers actually consider — including the part most articles skip: for programming specifically, the letters are only half the story.
The contenders
QWERTY — the incumbent
QWERTY's letter placement is genuinely inefficient: common letters are scattered off the home row, and frequent bigrams force awkward same-finger sequences. Its advantage is total ubiquity — every machine, every colleague's desk, every pair-programming session, every keyboard shortcut chart assumes it. For most developers, that network effect outweighs the ergonomic cost.
Colemak-DH — the modern favorite
Colemak-DH places the ten most frequent English letters on or near the home row while keeping QWERTY's bottom-row shortcut keys (Z, X, C, V) mostly intact — so copy, paste, and undo survive the switch. The "DH" variant fixes the original Colemak's awkward middle-column D and H positions. Among developers who switch layouts, this is the most common destination, and it's the default recommendation for anyone with wrist strain who is willing to invest the retraining time.
Dvorak — the classic alternative
Dvorak puts all vowels on the left home row and common consonants on the right, producing a hand-alternating rhythm many users love. Its weaknesses for programmers: it relocatesZ/X/C/V, breaking shortcut muscle memory in every editor, and its punctuation row changes trip up symbol typing. It works, but Colemak-DH achieves similar comfort with less disruption.
Workman — the niche pick
Workman was designed to reduce lateral finger stretches that Colemak retains. It has a small, dedicated following and solid ergonomics, but the smallest ecosystem of learning resources.
AZERTY — the regional reality
For developers in France and Belgium, the question isn't whether to switch — AZERTY is simply what the local keyboards are. AZERTY is worth understanding honestly: it moves the digit row to shifted symbols (typing a digit requires Shift, and 0 lives on Shift+A), which changes the muscle memory for ()[]{} in ways QWERTY-trained tutorials never mention. Many French and Belgian developers keep a US-QWERTY layout for coding precisely because the symbol placement is saner, typing accents with dead keys or tools when needed. If you're on AZERTY and slow in code, the problem is usually the symbol layer, not your fingers — and it's trainable either way, on either layout.
Side-by-side comparison
| QWERTY | Colemak-DH | Dvorak | Workman | AZERTY | |
|---|---|---|---|---|---|
| Home-row letter share | ~32% | ~74% | ~70% | ~74% | ~35% |
| Ctrl-Z/X/C/V preserved | Yes | Mostly | No | Mostly | Yes (W/A swapped) |
| Learning curve to old speed | — | 2–4 months | 3–6 months | 3–5 months | 1–2 weeks (letters) |
| Ecosystem (tutorials, tools, colleagues) | Universal | Large & growing | Established, shrinking | Small | Regional default |
| Ergonomic gain | Baseline | Large | Large | Large | Baseline to slightly worse for code |
| Best for | Everyone else | Switchers with wrist strain | Devotees; hand alternation fans | Colemak-curious minimalists | FR/BE offices |
The home-row figures are for English prose. For code, they compress — which brings us to the part the table can't show.
The part that matters for code: symbols don't move
Here's what layout evangelism usually omits: alternative layouts optimize letter placement, but code is symbol-heavy — and brackets, operators, and punctuation sit in nearly the same positions on all four letter layouts. The characters that actually slow down programmers ({ } [ ] ( ) < >, the pipe, the backtick) are aseparate skill that no layout switch trains for you. A QWERTY typist with drilled symbol fluency will out-type a Colemak user who hunts for every brace.
There are two real exceptions. Dvorak moves several punctuation keys (and pairs them differently with Shift), so symbol costs genuinely change — sometimes better, sometimes worse for a given language. And AZERTY changes the unshifted/shifted status of the whole number row, which flips the cost of every digit and symbol that lives there. For the rest — Colemak-DH and Workman keep the symbol layer familiar, which is exactly why they're the sane choices for programmers.
What switching actually costs
- Weeks 1–2: 10–20 WPM. Genuinely painful for daily work.
- Weeks 3–6: 30–50 WPM. Functional but frustrating.
- Months 2–6: gradual return to your old speed; many switchers eventually exceed it.
The honest summary of the research: expect a modest long-term speed change either way, but a real improvement in comfort — finger travel drops dramatically, which is why the strongest case for switching is RSI and fatigue, not WPM.
Two costs articles skip: pair programming and shared machines revert to QWERTY the moment you hand over the keyboard, so you pay a small context-switch tax forever; andyour phone stays QWERTY, so you maintain two mobile alphabets in parallel. Neither is a dealbreaker, but both belong in the decision.
What about ergonomic and split keyboards?
Layout and hardware are separate decisions, but they get conflated. A split or ortholinear keyboard (Kinesis Advantage, Glove80, ZSA boards, and their many clones) changes finger travel and wrist angle without asking your brain to relearn which letter is where — so it delivers much of the comfort benefit at a fraction of the retraining cost. Thumb-cluster modifiers also make code-critical chords (Ctrl, Alt, layers) cheaper. If your goal is comfort, the usual advice order is: split keyboard first, layout switch second, symbols training always. Plenty of developers run QWERTY on a split ergo board and type more comfortably than Colemak users on laptops.
Test-drive before you commit
You don't have to bet your livelihood on a layout decision. A protocol that takes two weeks:
- Keep QWERTY for work; use the new layout for everything else. Messaging, browsing, notes — low-stakes reps all day.
- Drill the new layout on code, not prose. DevType's layout trainer shows a live key map for Colemak-DH, Dvorak, Workman, and AZERTY with the next key highlighted, so you can practice real snippets while your letter fluency is still fragile — this is where the awkward weeks get spent either way.
- Measure weekly on the same snippet. When the new layout passes 40 WPM on code with 95%+ accuracy, decide for real: commit, or stop. You'll have spent two weeks and gained a definitive answer instead of a permanent "maybe".
Recommendations
- No pain, decent speed? Stay on QWERTY and spend the practice budget on symbol drills and editor mastery — better return on the same hours.
- Wrist strain or fatigue? Colemak-DH is the best-supported switch, and its preserved shortcut keys make the transition survivable for a developer. Consider a split keyboard as the lower-cost first step.
- On AZERTY and slow in code? Decide deliberately: drill the AZERTY symbol layer, or adopt a second (US-QWERTY) layout for coding. Both work; drift between them doesn't.
- Already switched? Retrain on code, not prose — your letter fluency will return naturally, but symbols need dedicated reps.
Frequently asked questions
Does Colemak-DH actually make you type faster?
Maybe 0–10 WPM long-term for most people — the studies are mixed and the effect is small. The reliable wins are comfort and reduced finger travel. If speed alone is the goal, symbol drills on your current layout beat a switch on time invested, roughly ten to one.
Is Dvorak bad for programming?
Not bad — just costlier. The punctuation relocation means every symbol pattern you learned needs remapping, and Ctrl-X/C/V move or need remapping in every editor. People do program in Dvorak happily; they just paid more during the transition than a Colemak-DH switcher for the same destination.
Should French developers code on AZERTY or switch to QWERTY?
Whichever you'll train deliberately. Coding on AZERTY is entirely viable — the digit row's shifted numbers are the main quirk and it becomes automatic. Many FR/BE devs keep AZERTY for prose and switch layouts for code sessions; the failure mode is being half-trained on both. Pick one for code, drill it on real snippets, and stay consistent.
Can I use two layouts at once?
Yes, with an OS-level shortcut — many developers run QWERTY + Colemak-DH or AZERTY + QWERTY. The catch: you must actively maintain both, because the untrained one decays. Practicing each on real code (not just prose) a few times a week keeps both alive.
Put it into practice
DevType drills real code, terminal commands, and symbols — free, no account needed.
Start a Typing Drill