I end up DMing for a lot of people who have never seen an icosahedron prior to meeting me. I often run short games just to introduce them to the hobby and in these games, it is likely that I am the only one who has opened the Player's Handbook.
One thing I've been struggling with in this process is character creation, and trying to figure out what class this stranger would likely enjoy playing. Sometimes, it's as easy as running them down the table of contents, they see "Barbarian" and the guy says "That. I want to play that." Other times, we go through a back-and-forth discussion that goes something like this:
Bob: I wanna be a shaman who controls winds, shoots lightning, and curses people.
Me: That sounds like either a Sorcerer or a Druid.
Bob: What's the difference?
Me: A Druid's magic revolves around nature, while a Sorcerer's is arcane and comes from a particular origin.
Bob: Let's go with Arcane. Sorcerer!
But, in actual play, he kept trying to calm wolves down with his "magic", and touching trees to "sense its feelings", things a Druid could have done. In hindsight, I could have more accurately told him to play a Druid had I focused more on his emphasis on wanting to play a shaman, instead of going into details. But instead, I gave him a choice that he could not meaningfully make because the only information he had is an apparently unimportant distinction between the two classes.
I'm not trying to look for a fix of what I can do if a player chooses the wrong class (I was more or less able to manage it, at the time), I want to be able to suggest better classes more accurately right off the bat.
I know I can't be 100% accurate because people actually don't really know what they want, and asking someone is a shot in the dark, most of the time, but:
How can I improve my ability to help completely new players pick the right class the first time?