Beginner question: Is there a rule of thumb on choosing your hero during the selection phase? Is it better to wait and see what the enemy team is composed of before making the appropriate choices?
Depends on how beginner you are. If you don't have any idea what most of the heroes in the game do, then waiting or anything probably won't do you much good unless your teammates know something.
Basically this is what a typical team *should* be composed of:
A safe lane farming carry
A solo mid hero
An offlane hero
One support that requires some farm, but can still pitch in on support duties (such as Enigma)
One hard support
Obviously this won't happen in every pub game, but ideally picking like that will net you the best results. If you don't know the heroes in the game, pick one that fits into the roles that your team needs, and basically avoid the "no-no" picks for beginners (Chen, Meepo, etc.).
I know JC Sera in this thread has a guide of hero difficulty for beginners. I'm working on something to eventually go in the OP that will be a good graphical representation of that, along with descriptions of what each hero basically does as this doesn't really change from patch to patch, just details and such.