1. Don't use too many thumb buttons, especially at odd angles, they just make my thumbs hurt after too much typing.
2. Don't use layers for any frequently used buttons, having to keep a button held for a while frequently just leads to more pain.
3. Function keys are mandatory. They aren't used frequently enough that having them in a "far" location is a problem, but when I do use them it is great that they exist (and don't require some strange layer combination press).
4. Home/End/PgUp/PgDown/Delete are all mandatory and should be somewhere near the (also mandatory) cursor keys and a shift key. Not sure how people survive programming without these buttons ;)