When I make software and people get angry how should I deal with that?
Hi! Never a good time to be trying to write software AND have people upset with you. Hard enough to have one or the other situation.
My best advice is to think of the situation from their point of view, and to see if you can address their concerns. Are you writing software as part of job, and they are worried it will be late, or not what they want? Talk to them about it. It is VERY EASY to make software a "mysterious" activity... when in reality it is a lot like writing a report. How long does the report need to be? What topics does it need to cover? How many questions about what are supposed to be in the report remain? Lots of people have had to do reports, and begin to understand there are a lot of items to cover. This helps them understand that while the process may seem mysterious and slow, in reality you are working hard in getting the questions addressed.
If it is a case where you are writing software when you should be doing something else.... my advice is to BE CAREFUL! I have MANY times gone to "make one small change", and looked up and it was after midnight! It is easy to get into the "zone" ... and "zone out"... and miss other commitments. Make sure to get those done ahead of time before sitting down to "do one more compile.... " :)
Best of luck in whichever case you find yourself... :)
More fundamental than handling their anger, you need to figure out why they are angry in the first place.
If you are writing code and people get angry, it is usually a communication problem. Expectations are not in sync.
What I mean is it sounds like what the software you are making is not what the user wants.
So you need to sit down with the user and make sure your requirements gathering is adequate. Find out what THEY want the software to do, then repeat it back to them, or even prepare a graphic prototype showing them the GUI and a workflow chart to make sure what YOU think they want is what THEY actually want before you begin serious coding.
Think of it this way, if you were a car salesman and you listened to what the customer wanted and he is describing a sporty hatch back, and then you go and order him a pickup truck, I would expect him to be a bit angry when you expect him to pay for it.
I have been involved in projects where the requirments of the USERs were given to us by a third party and as it turns out, for company political reasons, they were wrong. We produced what we thought they wanted, and when the users saw it, they were disgusted telling us it did exactly what their current software did, and what we produced was identical and offered no improvement. Both project managers on both sides were fired over it.
I don't know much about writing software. But I do know about calming people down. The first thing you have to do when people are upset is be quiet and truly listen. Once you think you know why they are upset, you explain to them what you think you heard them say, and ask them if it is correct. If they start talking loud, you should talk softer, rather than raise your voice to compete with them. If you are writing software for them, it is important to take the time to understand how they envision the project. I know some computer guys who immediately want to do things THEIR way, and don't take the time to understand what the "customer" has in mind. And sometimes, those customers don't understand what can and can't be done with a program, so it will be up to you to help them understand. And sometimes, quite honestly, they do not even know what it is they really want, so it is up to you to walk them through it and help them figure it out. This is all part of customer service! (It's not easy. . . )