Yes, we programmers should learn how to sketch! Not to produce beautiful art but to communicate ideas visually. I really regret not developing this skill, as I find myself blocked when trying to draw something on a whiteboard. My girlfriend (an interaction designer/visual communications graduate) really kicks my butt here, but then there is pressure in her field for her to learn programming :)<p>Writing (and perhaps presentation) is another skill we should develop. Writing is not just about communication, but it also aids in idea refinement.<p>On the other hand, even though I'm all for zen and all, I think spirtual skills are deeply personal and not necessary. Social skills are also very relative, and if you struggle with these your career as a programmer is not over! Same for biz skills, no one has to be a jack of all trades, but you'll probably absorb these skills at your own pace as you advance in your career.