My vote is for H: Blue Shirt Arms Crossed
Reason: Looks intelligent, not out there on the edge, seems to say "Come on take a look, you can do this!"
These are just impressions
A: Java is certainly not on her mind
B: Would have a difficult time explaining patterns to mere mortals
C: Way too surprised
D: Not convincing
E: My second choice for similar reasons as H
F: Not too bad but looks like he needs just a little more sleep
G: Lots of enthusiasm but not about design patterns
I: Hair is a bit much
J: A little too sure of himself
K: In the zone but doesn't fully understand the subject
L: Bright, energetic, doesn't have the shoes of the serious software person
M: Looser
N: Too dreamy
O: Okay but a bit too rumpled
P: No comment