The most stereotypical bad job interview question is, “What is your greatest weakness?” I have played out this scenario in my mind several hundred times, and the result has converged to something like this:
“Well, first we should clarify the definition of a weakness. What is a weakness? First, what makes something a weakness depends what you’re trying to do. A samurai’s greatest weakness might be that he’s blind in one eye, but that wouldn’t hurt a programmer. Second, a weakness is not, say, the single greatest thing that could improve somebody’s productivity. You can’t say, ‘My greatest weakness is that I don’t have the ability to sit down at a computer and type out a perfectly documented program in any language at a rate of 1000 characters per minute.’ If most people had that ability, then your lack of such an ability might be considered a weakness, though. So a weakness is relative to the abilities of others. We’re really asking the question, ‘What abilities do others have, that I lack?’
“We’ve ruled out physical attributes, since I am physically competent, and I can touch type. So that leaves mental attributes. What mental abilities do others have, that I lack? One might be “raw intelligence,” whatever that could mean. Do you expect your interviewees to tell you they’re dumber than most people? I don’t think I am, and besides, there are other mental attributes to consider. Maybe I’m less informed about some particular subject that’s useful. I might not know about version control, or the practice of using higher order functions, or other ideas that can help me get useful work done. The thing is, if I’m ignorant of such a weakness, there’s no way I could possibly say that’s my greatest weakness, because, well, I’m not aware of it.
“So for me to answer your question, I have to consider the weaknesses that I’m both aware of, and haven’t fixed. That’s a tautology, I know. But, if I’m aware of a weakness, why wouldn’t I fix it? Either I willfully ignore my weaknesses, or I set out to fix them. If I were the type of person to willfully ignore weaknesses that were important, that fact itself might be my greatest weakness. You might then say that my greatest weakness is the lack of a personal self-improvement program. For programmers, this is important, because technology is changing rapidly. Anyway, I try to fix my gaping flaws, so that doesn’t apply to me.
“So the question is now: ‘What weaknesses am I aware of, that I am in the process of fixing? (And which is the greatest?)’ Are there any? It’s fairly reasonable for somebody to say that they’ve fixed all the weaknesses that they’re aware of, and they haven’t noticed any new ones. So it’s reasonable that he would be unable to answer your question. In fact, this would be the expected state for people who are capable of learning and adapting who do it. It’s easy to notice the large weaknesses, and fix those, and then there’s some smaller ones to fix, and once those are gone, there might be some tiny weaknesses, that are either unnoticeable or so small that it’s not worth taking the time to fix — superlative self-improvement in other areas would be a better investment in one’s time.
“Right now, I am not aware of any personal weaknesses and haven’t been for at least a year.”
The interviewer then says, “Really? You can’t think of anything?”
Then you answer, “If I thought of a weakness, then for me to not go about fixing that weakness would be insane. Are you calling me insane?”
Then the interviewer says, “Do you have any questions for me?”
The End.
Tell them you over think things.