Read the Humanities
In all but the smallest development project people work with people to achieve the goal. In all but the most abstracted field of research people write software for the purpose of supporting someone in some goal of theirs.
People write software with people for people. It's a people business.
Unfortunately the education and training of a programmer tends not to equip anyone to deal particularly well with people. In fact, the tools and techniques taught to programmers too often equip them very poorly in dealing with the people they work for and with. The real irony of the situation is that merely being a person doesn't grant any particular insight into nor ability to deal with other people. Luckily there is an entire field of study that can help us.
It used to be quite common to attend plays and read literature and philosophy (at least, not the analytic kind) in quite large volumes in order to find out what it meant to be a person.
This work is licensed under a Creative Commons Attribution 3
Back to 97 Things Every Programmer Should Know home page