For programming, I wonder if there isn't a lot of low hanging fruit just by key remapping. For instance, a large proportion of keystrokes must be for opening and closing brackets, which requires two fingers for shift + the key.
I bet I press brackets more than "d", "f", "j", "k" - the best positioned keys in QUERTY