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.
SpecsUpdate
Ranked in these QuestionsQuestion Ranking
Pros
Pro Much more comfortable than QWERTY when touch typing
Pro Highly ergonomic
Pro You can type faster
Because the home row contains more high used frequency characters.
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 Relatively quick to learn
If coming from QWERTY, only a couple of keys move between hands.
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 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 Possibly faster
Most people like the common home row and believes it improves speed in comparison to QWERTY.
Pro Multilingual support
Although it‘s optimized for English, the support for a wide range of special characters enables occasional use of other languages. Still, the Carpalx research shows that a significant improvement is also present in Dutch compared to Qwerty. http://mkweb.bcgsc.ca/carpalx/?de_correspondent
Cons
Con Bad for Vim users
Vim was designed on QWERTY. The HJKL "arrow" keys still work in Dvorak, but their positions make less sense in Colemak.
Con Overrated
People think Colemak is great because it is easier to learn, but in reality they are deluding themselves thinking that it is better than more advanced alternative layouts.
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.
Con AZXCV don't move compared to QWERTY
This will allow one to intuitively access popular shortcuts, but the truth is that the placement of these keys is a compromise in terms of actual typing ergonomics.