I know this question might sound bizarre. I have never met someone in my career talking to himself in front of his computer until recently and puzzled myself about the reasons and the impact on his work...
What tends to happen with me is I'll hit a snag that I can't seem to figure out or debug myself. So I fire up gmail and write a note to one of the contractors who does odds and ends stuff for me.
I describe the problem in decent detail and ask when he/she is available to fix it. Send.
Then a few minutes later, the solution appears in my head, I go solve the problem myself, and send an apology note to my developer.
I do this too, but I've found that I don't usually need to hit send, I just save it as a draft then go take a walk. The answer usually comes to me when I come back, but if it doesn't I'll send it.
The act of explaining it in enough detail so another person could understand the problem usually increases my understanding of the problem.
Probably not, if he's doing that all the time, the office is shared, he does it in different voices and/or uses the Black Speech of Mordor.
Other than that, why not? When I'm behind closed doors, I sometimes to this myself, too. Giving thoughts proper form often helps to order them, so both writing and monologue are perfectly fine. That's what some people get out of pair programming.
We had an employee once who essentially narrated himself. For instance, if he was installing the latest build of our software to test the installer, he might say something like this:
I'm putting the floppy in the drive. I see it on the
desktop. I'm double clicking it. I see the new
installer. Now I'm opening RegEdit. I'm finding the
keys for $OurProduct, and deleting them to test a fresh
install. Now I'm double clicking the installer. I see
a dialog box. I'm typing in my product key, and hitting
the install button...
If you had to do anything with him, he'd include you in the narration:
OK, now I'm watching Bob make a new release for me to test.
His compile finished, and he's copying to a floppy. He's
giving me the floppy. I'm going to go test it...
Do you accommodate other preferences of the developer? Do you let them adjust their chair or rearrange their desk? Do you let them come in at flex hours, as long as the work is done and they don't unduly inconvenience others (meetings, etc)? Do you let them wear headphones at work? Do you let them choose their preferred editor (again, as long as it doesn't inconvenience others) or perhaps even OS?
If so, why would you not accommodate someone who works slightly differently in this one way?
It depends. If they are talking and it is barely audible, sure...I do this, and with the exceptional expletive, it's more or less silent. Most of the developers here, myself included, wear headphones for the day unless we're talking to one another. I don't think anyone even notices I'm mouthing things to myself or reading "out-loud" (e.g., moving my mouth).
Not totally related, but I'm also bobbing my head to music all day (usually groovesalad on some.fm)
All that said...how would you know if you're going to hire someone who talks to themselves anyway, or is this just hypothetical?
I wouldn't. At one job, the desks were arranged so that I sat at my computer with my back to my coworker (who talked to himself/no-one-in-particular/me throughout the day) and I could never tell when he was trying to talk to me or just vocalizing something. Also, I found it annoying. A small annoyance, sure, but if it bothers your other developer's, it's not a good idea.
Good point, as long as it is possible to place the self-talker in a place where others aren't bothered, whether that's alone, or with people who aren't bothered, it wouldn't be too bad.
In fact, I was wondering if someone who needs to talk out loud has a different approach of solving problems or if he has even has some shortcomings given that he is not able to keep things in his mind.
When children learn reading at school, the first step is to read loud, then to understand what they read out loud. It takes considerably more efforts until a child is able to understand a text she is reading silently.
That is certainly an interesting way to look at people talking to themselves, definitely correct with children. Personally I talk to myself a lot when working at home, and never when in an office (it is rude and distracting for other people). I think I do much better work at home, especially when trying to solve problems. For some reason saying something out loud can often make it clearer, easy to see something stupid you've done etc.
In theory anything you can do in a meeting, talking with others, can be done in email, but IMHO well run meetings are a very good way of bringing ideas together, solving problems etc. Talking to yourself is like having a meeting with yourself :-)
Silent reading is a historically contingent practice, and did not become typical until the early middle ages, when reading aloud began to be banned in Christian scriptoriums. Whether this was done for pragmatic or religious reasons, I don't know.
This is funny, but I respond to my own questions all the time. Often out of sync with the timeline of events, too. I'll remember an answer and answer my question from 10 minutes ago all while discussing it with myself. ;)
There's a difference between delusional psychosis, being socially awkward, and talking to yourself to debug computer problems. However, some might believe it to be a very thin line between psychosis and debugging computer problems aloud.
Depends. At the best, you're being paranoid. At the worst, he could be developing schizophrenia. Is he in his late teens or early twenties, does he sound agitated or paranoid? Is his thought process coherent? What is he talking about? A young, paranoid male talking gibberish to himself without regard for who's around would be concerning. If you want a great portrait of schizophrenia, watch "The Soloist": http://www.imdb.com/title/tt0821642/
But if he's not acting like that, then maybe he's just helping you expand your definition of normal.
I can't see it impacting on their work, but it might irritate others.
There is an obvious second question though, how would you know before you employed them. The question then becomes, would you fire an developer that talks to themselves at work.
In which case, No - I probably wouldn't. At least not without trying to find other ways of dealing with it, it is possible they don't even know they're doing it - and after making them aware you might find that they stop.
I talk to myself during work most of the time (but usually it happens in the privacy of my head only). Or better, I talk to the monitor in front of me as if it would help debug something faster :) ... well sometimes it does, actually.
But when i become very frustrated with the piece of code i am debugging, I usually say something out loud as well.... swearing mostly :D
I talk to myself, even when not working. So yes. He's just special.
Sometimes if you're eager to say something to real people, you may talk to yourself (ADHD people do it). If you're standing right there and he's talking to himself, then he either doesn't know you're there, or it's just helping him think.
Well there are different types of ADHD. It's related to the fact that ADHD people have bad working memory. So practicing how they would say stuff is a way to get it out before they forget it.
Talking to yourself is a symptom of stress. Because your working memory is too populated by stressors in order to keep the entire "conversation" inside your head, you externalize it. Think of it as paging out. The only inconvenience is that it can bother people. Well, maybe there are other inconveniences, too, but I'm not aware of any studies that suggest externalized verbal problem solving creates worse results than internalized problem solving, though I suspect it actually might be the case.
Not always. I talk to myself all the time whether I'm happy, sad, stressed, relaxed, whatever. I just seem to solve problems better when I explain them to myself out loud -- see "rubber ducking": http://c2.com/cgi/wiki?RubberDucking
I agree that rubber ducking is a great technique. I also think that you can "have" both stress and the subjective affective state of happiness simultaneously.
I don't talk to myself, but sometimes by simply talking aloud about my problems to my peers I can flesh out a solution to a hard problem.
I have seen other programmers talk to themselves to find a solution when they're stuck, and it seems to work quite well.