I'm a Food Servant. I can always tell who is or has been a server before, because I've found that nearly all people who have been in my position tend to follow the same pattern of behavior. These people are almost always the best customers, because they get what goes into the job. They are the most patient, and give the best tips. Most people, however, don't get it. And they can leave me in varying states of frustration. So, here are my tips on how not to leave your server frustrated.
1) When a server asks you if you know what you want to order, do NOT say yes and then sit there for two minutes saying, "uhhh......". All this does is make your server hate you because you're taking up their time that could be spent doing something else while you decide. If you don't know, tell them you need a few minutes. That will allow them to tend to other people and get some things out of the way and make their life generally easier. They will like you for this.
2) For the love of God, NEVER tip under 10%. Ever. I don't care how terrible the service was. Servers make their entire living from tips. Chances are, they are taxed on the money they make from tips, so that money is taken out of their paychecks. I have received a paycheck of $1 before. If you have a bad day at work, or just keep screwing everything up, your boss doesn't deny you your paycheck. You still get paid the same. The same rules should apply to servers.
3) If it is after hours, do NOT tip under 20%. If you do, then you are an asshole. Servers don't get overtime. When you walk in 15 minutes before they're due to close the kitchen, it's akin to your boss coming to you 15 minutes before you're supposed to leave and giving you a project to work on that will take an hour. You would rightfully be angry if they didn't pay you overtime for that. Again, same rules should apply to servers - pay them extra for waiting on you when they wanted to close down and leave, particularly if it's late at night.
4) Be patient. Your server is not a robot. Chances are they're working through the dinner rush on a half empty or completely empty stomach or they've been putting off their own bodily functions. And more often than not, they're on your side. A good server wants to make sure you're happy and well fed. This is not an easy job - so just give them some slack.
5) Unless you are the only person in the restaurant, your server has someone else to attend to. Don't monopolize their time. You may ask questions, but keep it short and quick - and if it's something that can be solved by reading the menu, then please, just read the damn menu.
6) Would you please just read the damn menu!?
7) If you're in a large group, please try to keep it all on one tab or minimal splitting of tabs. Nothing is more frustrating than having to make change for 7 different tabs during a rush. Your server doesn't have time for that. Try to consolidate your tabs and figure it out at the table like grownups.