It's down to whether you are self-motivated to learn, have the enthusiasm for programming, and whether you have the necessary brain power. Everything you need to learn programming is available free online. Look at the job vacancies to see what skills are requested.
It can be learnt and enthusiasm will get you a long way. However, it can be quite challenging and you do need a fair amount of brain power to be really good.
Have you considered software testing? People with Asperger's typically find it a good fit, although that doesn't directly correlate to anti-social.
If you've had the same feedback from several people you really ought to have adjusted how you approach these things based on that feedback. I mean if it was one application then I wouldn't worry but if completely different people are independently highlighting something they perceive to be a problem then you probably do need to address it.
You can be the most technically astute analyst going, but if you haven't understood what the customer's requirements are, that may not matter. Or to put it in your terms, you may be great at fixing **** but if you fix the wrong ****, or if you fix **** and it still doesn't solve their underlying/primary issue, they won't be happy.
I mean, give me an example of how you'd manage to fix the wrong problem after the customer told you what the problem was. "I can't mail merge." "I've fixed your PC's date/time setting!" That doesn't happen!
The only way to "address it" would be to lie on the application form. Because like I said, saying that I'm polite to people and aim to get the job done as quickly as possible does not cut it.
They want examples of how I "made a customer's day" or nonsense like that. Or an example of how I gave amazing customer service.
The only way to satisfy that kind of question in my case would be to make up a fictitious situation, and I'm just not prepared to do that. The only way I give amazing customer service is by doing the technical aspects of my job well and within SLA.
If they want more than that I have to lie to them :/
OK, here's some feedback I got from one employer:
"You focused too much on your technical skills. You didn't tell us that you understand the customer needs, the customer requirements, the customer's perspective or the cusomter's experience."
Their needs: they need their **** to work, ASAP
Their requirements: they require their **** to work, ASAP
Their perspective: erm, they would like someone to come fix their ****?
Their experience: generally, if their **** gets fixed promptly, and the engineer didn't drop his pants, steal their phone, crap on their desk... it's a good experience!
But if you dig deeper, that's when they tell you "you should have mentioned a time when you were able to give excellent customer service, told us how you apply your customer service skills to increase customer satisfaction". And frankly I'm at a loss here.