How meta can you go?
Let’s roughly divide skills into two categories: task skills and meta skills. As a programmer, your task skills might include programming languages, debugging tools, IDE’s, design patterns and such. Task skills are the skills that are not easily transferable from one profession to another.