Well, not everyone is going to see it that way, and honestly, not all IT personnel are trying to berate you, and it's very important that you don't take it as a major insult. In fact, you need to try not to fight with these people, it's very important that you remember this if you are to maintain a professional relationship in the workplace. In other words, don't start throwing fists just because someone seems to have insulted you. This is not what programmer jobs are all about.
Rather, in your IT jobs you need to remember a few things. If you are trying to explain something to someone who doesn't work in IT, you need to talk to them as an equal and not talk down to them. Talking down to them will only make the situation much worse, and in doing so you will create undue tension in the workplace.
If you are someone who is working in software jobs, it is important to keep in mind that you don't need to know everything. Yes, people might look to you for answers, but believe it or not many of those in programmer jobs do not know all of the information off hand. If you are humble and always ready to learn, then you undoubtedly WILL learn, and you will do so rather quickly. This is much better than claiming to know everything and learning nothing. You will be more valuable to your job, and you will feel better as a person.
Remember that finding a solution to a problem is more important than winning the argument, especially in the workplace. You might think otherwise at the time, but if you implement this practice ahead of time, you will find that it works nicely for you in the workplace. On top of that you will meet deadlines and benefit your company.
No matter what, you need to know when to fight and when to let go. In software jobs and IT jobs you might be asked to program something for a client. You might know it's not necessary, but what do you care? You're on company time and the client is paying for it. So do what you can and make sure the client is happy. Remember, a happy client means a happy employer.
On another note, if you plan to work your way into one of these jobs, it is very important for you to have a resume. Having a resume is one thing, but having a good resume is quite another. When you write your resume make sure that it is clear and easy to read. Also make sure that you include your references from both work and home.
Then you will need to ensure that you have a good cover letter. Remember, you want to grab the employer's attention! That's not an easy thing to do in today's world, so most would suggest that you write a little about yourself on the cover letter, and explain why you wish to work with the company. Demonstrate your knowledge of the company, and you might just find yourself in a job.
So there you have a few of the things you need to know when working software jobs. It's going to be difficult to resist the urge to argue sometimes, and there may be times, when arguing is okay. It's like knowing when to practice restraint and when to let loose that makes all the difference. Listen and learn, and you'll figure it out soon enough! When you do, you will feel much more comfortable in your IT position.