For how long should you ideally marinate a steak before you grill it ?
At least 30 minutes.
Depends on the ingredients in the marinade. If they're very acidic (i.e. lots of citrus juice, or vinegar, or even tomato), a couple of hours is the max. The acids will start to denature the proteins and turn the meat mushy. Not good eats, as they say. More than an hour (if the meat was cold to start), stick the dish back in the fridge. An hour or less, the counter top (unless you're in the Sahara), is fine.
For oil/spice/herb based marinades, overnight in the fridge can be OK. For those, if its a thick cut of meat, I'd poke it a few times with a fork to make sure the marinade gets into the fiber. Cover and stick in the fridge until ready. Especially if you're using dried herbs/spices.
also depends on the cut and thickness of the meat. The thicker, the more time. Ideally, I'd like a 12-24 hour but even a 30 minutes can make a difference - but then I would up the flavor and the acid content. But if I am doing a longer, I add almost no acid because it does breakdown the meat.
Really about an hour is fine, if you ask me. Marinades don't penetrate the surface of the meat as much as most people believe; their main function ends up being flavoring the outside of the meat, and you don't really need more than an hour or two for that.
Great ! Thanks everybody :)