My experience is that it doesn't matter what layout you think will work, once you try it you'll discover something wrong with it. It's really a trial-and-error process to find something that works for you. I'm on my 4th or 5th major iteration, and I'm still finding things that I need to change!
Can you post your layout? I know people would be interested in what you've come up with.
Attached is my current layout. It's Colemak, but the alphas could be rearranged for qwerty. The goals of this layout are:
1. Optimize for working in Visual Studio: The left thumb cluster has F5, F10, F11, and a nearby shift key. Anyone who uses VS knows the importance of these keys for debugging.
2. Use layers and thumbs to avoid reaching for distant key; optimize for programming: Layer 1 gives quick access to symbols commonly used when programming, with the most important ({, }, -, =) on the home row. Placing these on a layer didn't seem useful at first, but I tried it and it works great. Arrow keys can be pressed with thumbs. However, I have a habit of hitting PgUp accidentally, so the nav-key situation still needs some work.
3. Use/preserve standard keyboard muscle memory: Shift and Control are in semi-standard positions. Enter is still hit by the right pinky (and is much harder to hit accidentally). Backspace is left of A, per Colemak convention. Redundant backspace is in the upper-right, because I still find myself using it.
There are 2 additional layers: L2 is a standard 10-key numpad on the right hand (but I find I hardly use it). L3 mirrors the right hand onto the left, for 1-handed typing (neat but not very useful).