Learn to communicate with people. Finding out before hand what a user needs from a software program is much easier than trying to fix what doesn't work later. You must develop the kind of personality that can deal with all types of people and personalities - from the part time data entry clerk to the CEO.