I'm actually surprised you'd like using a tenkeyless as a programming keyboard.
I prefer having the numpad for programming - half of my code involves numbers and math operators. I also like having a big backslash key, big backspace, and (where possible) big fat + and - keys. A few extra programmable/macro keys can be very helpful, although they can be functionally replaced with decent multi-clipboard software (I'm fond of
Hamsin Clipboard). Obviously I require full "standard 104" functionality, for testing purposes if nothing else.
I find that "productivity" launch hotkeys, Windows GUI hotkeys, and Sleep/Power hotkeys are annoying - risk of unintentionally pressing one is minimal, but it can and does happen during prolonged programming frenzies and can immediately derail your concentration while destroying precious minutes of inspired work. So I personally prefer a keyboard that either doesn't have such keys or allows them to be deactivated or remapped.
I do like music while programming. Media keys and pass-through audio or USB connectors (for headphones) are convenient, though not strictly necessary. I used to really like backlit keys, easier to type in near darkness, until I trained myself to break that habit and work by touch.
Obviously my keyboard has to work properly in every OS and programming IDE I intend to use. Being able to choose both PS/2 and USB is sometimes helpful when troubleshooting or interfacing with cantankerous computers. I'm not as particular about keyswitches as I should be; half-decent rubber domes are sufficient for the sort of typing I do while programming and are generally quieter anyhow.
These are just my preferences in a programming keyboard, yours will probably differ.