Re: Stereotypes for the win!
>>"You shouldn't assume that because someone comes across as '... pretty confident and funny' in a business context they aren't 'on the spectrum'."
I think I should, because if you're that far down the "spectrum", it's meaningless. In fact, this reminds me an old film Donnie Darko where the kid is told they have to place different scenarios on a line between "Fear<======>Love" and him going nuts at the teacher because "it's not a line". This whole notion of a "spectrum" is misleading, like much of science that gets the lay-person treatment. There's an autistic spectrum, certainly. It's a medical thing. It's made up of different components like most medical diagnoses that apply to behaviour. If someone is "well adjusted, pretty confident and funny" (lets NOT change my wording for the sake of your argument, by the way so I've re-added the omitted part), then they've shown they are socially capable in routine circumstances. And you know what? That's how pretty much everyone is.
You say that you stick to the shops and petrol stations you know because you know the layout - you know what that is? Not Autism! It's at best a hang-up and everyone has some. I've known people who wont use toilets on a particular floor because the door is too far away from them to put their feet against if someone tried to enter, I've known people who wont write on the top line of a page, I've known people who need to check their front door is locked twice before they go out. None of these things place someone on a "spectrum". They're just minor social hang-ups and they're commonplace.
Autism is a serious condition. People who seem to want to self-apply some label to their minor issues and claim it as a medical issue bother me. When you tell me you continue to pay for services you don't need because you'd have to call someone to cancel it, I honestly just want to tell you to woman up and deal with it. You don't deserve a disability diagnosis for that. Someone who has real autism, or is in a wheelchair, or is deaf - they have a disability.
But honestly, this is getting off the point. The one I was making is that there isn't a correlation between social inability and being a good programmer. It's just an American TV show stereotype that some people take seriously. And I think part of that is because some people with social issues like it. I've known at least one person who played to it whether they were consciously doing so or otherwise. You think you're a Chinese Room (an old thought experiment you can look up) because you analyse a meeting before you go in and decide you need to tell some jokes at some point. That's basically called being a teenager. People go through that, working out approaches to small talk, etc. Eventually people naturalize it the same way they naturalize driving a car. It's not some special case that applies to you. It's what nearly everyone went through or is going through. The only people who never did that are children because they haven't reached the stage of externalizing their social behaviour, yet.
>>"A good programmer strips away the superfluous and sees the underlying task for the pattern it takes, and then solves it the same way they solved that issue last time. And the time before. Good code is dull code."
No. A good programmer learns to abstract, you got that part right. It's called requirements analysis. But good code is elegant not dull, and solving something the same you did before, and the time before that... This is not a sign of being a good programmer, it's a sign of lazy thinking. You solve it in the way that is appropriate to the current requirements with the latest best approaches and tools. Both requirements and tools are changing all the time. Your statement is one of the things I loathe about brining in personality issues to engineering. It's sticking a label on something and then bringing in baggage to an unrelated area based on that label. Imagination and rigour - these are the core elements of a good programmer and neither is related to social impairment.