Here's a simple technique we use in improv exercises to create quick and memorable characters; it can easily be applied to adventure scenario design.
The idea is to give each NPC three traits, one relating to the character's role (a mechanic), the next an obvious thing players will remember (he has only one arm), and the third something not immediately obvious the GM will have to role-play (his secret passion is quilting). In this example, "mechanic" creates a baseline archetype that acts as shorthand for the GM's performance. He can play his usual mechanic, probably a lower-class guy who uses technical vocabulary and might be trying to overcharge the PCs. His single arm is quick visual cue that sets him apart from other mechanics; essentially, the group can later refer to him as the one-armed mechanic. It makes him memorable. The third element need not be explicitly made clear, but adds texture to the GM's performance. Perhaps the mechanic notices the embroidery on a PC's jacket, or tries to hide work in progress when they come in. The technique gives the GM a challenge, which makes the NPC more interesting to play, and thus more memorable for himself (if the NPC must be revisited later) and hopefully, to the players.
The GM might also want to keep lists of the latter two types of traits to assign to NPCs created on the fly. So for example, if the PCs walk into a tavern, the barmaid (1st trait) might be - quickly scans the list and chooses something - a loud talker (2nd trait) and have 8 kids at home (3rd). You never know when the players will take an interest in some undefined element or character, after all.
Be careful though! You don't want them to get sidetracked with your super-interesting, but wholly irrelevant NPC!