Colemak is a modern keyboard touch typing layout designed to be a practical improvement on QWERTY and Dvorak layouts. Colemak is the third most popular layout in English as is widely considered to be the most ergonomic mainstream layout, beating both Dvorak and QWERTY in ergonomic tests. It benefits over more esoteric ergonomic layouts by keeping the keys as close to QWERTY as possible, making it easy to learn for typists weaned on QWERTY. It's also popular with programmers for its hands-off policy on symbols and punctuation.
Due to the similarity, most touch typists can learn Colemak quite well in only about 15-20 hours of practice. This makes it the best suggestion for someone looking to transition from the RSI-inducing QWERTY layout.
Ranked in these QuestionsQuestion Ranking
Pro AZXCV don't move compared to QWERTY
If you rely on the Control-A/X/C/V shortcuts (select all, cut, copy, paste), these keys don't move from their QWERTY locations.
Pro Optimized for quick two-letter bigrams
Not only are the most common English letters on home row under your fingers, but many common two-letter combinations are placed next to each other as well allowing for a fluid "inward roll" motion of letter combos (a-r, r-s, s-t, n-e, e-i, and i-o combos). The inward roll motion is debatably speedier than optimizing finger alternation like Dvorak offers.
Pro Relatively quick to learn
If coming from QWERTY, only a couple of keys move between hands.
Pro Backspace is closer
While the uncommonly used caps lock is further away. May be problematic if you previously developed muscle memory of using caps lock as some other key.
Pro Much more comfortable than QWERTY when touch typing
Pro Highly ergonomic
Con Bad for Vim users
Vim was designed on QWERTY. The HJKL "arrow" keys still kind of work in Dvorak, but their positions make less sense in Colemak.
Con Designed for English
Like Dvorak, this layout privileges English letter frequency, and lacks accented letters.
Since the topic is about programming, the argument is weak as most code is written in English, yet you don't want to learn a layout to type code, and another to type in your native language...
But the problem isn't specific to Colemak, it is tied to all "ergonomic" layouts, and might have no solution.
Con The "HE" bigram is awkward
For all of Colemak's focus on optimizing English bigrams, the second-most used English bigram, "HE", is still kind of awkward due to same-hand lateral motion. This bigram is much easier in both QWERTY and Dvorak. If your concern is RSI, Colemak isn't good enough.