BUT, that said, I'm going to commit hacker heresy and recommend that you consider starting with Javascript. Here's why:
Hackery reasons:
- it's how I learned object-oriented programming
- it's how I learned functional programming. (well, ok, a little bit of Scheme helped, too.)
Practical reasons:
- in any project, no matter what the backend is, you're always gonna need JS on the front end
- with the rise of rich UIs (ajax and whatnot), people who really know their JS are in demand, and it's a niche that most hackers don't focus on
- you can learn from studying thousands of other real-world programs. (when you see something cool on some website, just pop open the hood -- or, rather, pop open firebug -- to see how it works.)
- it's the layer that's closest to the user. this forces you to keep everything in context while you hack.
- you said you're a good listener. empathy is key to UI design, so you might find this to be a good place to mix your strengths with code.
Ok, now all you real hackers can tear me apart for recommending a toy language. ;-)