It’s a trick question. There isn’t one. At different times, different skills are the most important. But amongst the most important are such diverse skills as:
- Listening & Seeking to understand (highly related)
- Admitting what you don’t know
- Treating complexity like a hand grenade
- Thinking about the long term purpose/destiny of your code
- Knowing where the future changes are likely to be
I’ll try to flesh each of these out in separate posts.