I've noticed this as well, although I don't think that programming and socializing use the same parts of the brain.
It feels like programming directs all brain power toward the analytical/introspective aspect of my brain, during which the social aspect gets cold. Then when I have to socialize, it takes awhile to warm up. They are completely different states of mind.
Dunno if this should factor into whether I should become a programmer as a career.
I was just thinking about this last night, because I've noticed that when I spend all day involved in an intellectual task (could be writing code; yesterday it happened to be writing my thesis), I'm less entertaining to my girlfriend when we talk on the phone. When I was thinking about it last night, I guessed that the reason was because I hadn't done anything during the day worth sharing. Whereas if I do something interesting then I'm more likely to have an experience worth sharing with her.
This seems to make more sense to me. For instance, when I made a discovery and when I got accepted to a conference, I had something exciting to tell her. Even though I may be engaged in intellectual activity all day, I might have no problem switching gears to telling her good news and talking about travel plans for the conference.
But perhaps that's different than the dating scenario in the article because of my comfort level with my girlfriend. Socializing with more-or-less strangers is a completely different state of mind, as shiny said, than talking to someone close to you.
I think there could be merit to both ideas. I'll take note of it tonight, since I'm going to be going to a beer tasting in a couple hours after I've been engaged in my thesis all day.
Programming puts you in near mode. Socializing requires far mode. When you talk to strangers, a short adrenaline boost acts as a "clutch" to allow you to switch fully into far mode (you introduce yourself from the start, talk about general ideas and things you did in the distant past/hope to do in the distant future, etc.) When you talk to your girlfriend, however, the comfort creates inertia you have to overcome to switch into far mode. A specific, sharable accomplishment is a bridge, halfway between near and far.
There have been other threads here about programming as a career: if you prefer introversion, programming is one of the careers where results count over interaction. And you can use your skills to get money to do non computer-related hobbies, if you prefer.
I consider myself fortunate that my performance reviews focus on how well I can produce and debug production code under deadline, not abstract areas like meeting management or proposal generation or (the horror) net promoter score (google that).
That works well until you get a team mate that doesn't know how to not talk and always wants to discuss everything.
Can you imagine a meeting where four people are quickly reviewing several details and are halfway done in the course of 5 minutes when a fifth shows up, starts talking about something for twice that length of time and ultimately cannot make their point clear?
How would you feel towards that person when they talk to you every half hour about some detail that you don't care about, some question that they could find out if they bothered to search and read, some thing that is wholly immaterial to the work you have to do.
I know I just let my silent resentment grow and browse hackernews all day hoping they will step out for a few hours.
Silent resentment is something that can produce tangible negative teamwork effects because it is silent and resentment.
Have you talked to your manager or someone who you feel understands how to tactfully deal with people? Sometimes people have no clue how they act around people (however, never ever criticize someone in public - always in private - and always sandwich it (Toastmasters technique) - praise/criticism/another positive thing. Never criticize the person - point out their behavior 'I'd like to tell you..when you come over to my desk and ask me questions when I am working, I don't like that - I find it difficult to work with interruptions - it's not just you - it's everyone. When I have my headphones on, can you send me an IM?'
Here are some possible techniques to try:
Stand-up meetings. Goal is to keep the meeting short. These are clever in that if you have to stand up the meeting will conclude faster - as people get weary of talking on their feet. If they don't get weary, suggest a walking meeting and just keep on increasing the pace (to wear them out)
The walk-back technique. Assuming your teammate has to physically walk to your desk to interrupt you, every time they interrupt you - get up, walk them back to their own desk. This shifts the power - even if he continues the conversation - he or she is not interrupting you in your space - you are 'interrupting' them.
If they are long-winded in a meeting - try the 3 strikes interruption technique. Very effective. When they pause for a breath or don't pause for a breath - ask them 3 rapid-fire closed-ended questions 'Can that use X? Or maybe Z. Will that be able to be done in Z time?' (not that - just an example - context is important)
In these meetings where the fifth comes in late, have a timer - each person can only speak for the duration of the timer.
This one may or not work. If you would prefer that they contact you via IM, IM them when you want to talk to them.
Always be polite when interrupted. State 'I am working on debugging bug XYZ. I'd like to get back to you later'. And use the walk-back technique if you are truly busy. Do not go to the bathroom - unless you want to have the ad-hoc meeting in the bathroom.
If you state the reason why you don't want to be interrupted sometimes they catch on. 'I'd like to talk to you later. I'm busy conferencing with Joe on feature Z.'
If these techniques don't work, you need to ensure the person is made aware of their problem by higher management. Similar to how kids will be more likely to listen to another authority figure than their parents.
Yep, me too... almost as if it's hard to get out of the programming "zone". But, having worked a few years now developing full time don't let it affect your career decision. I can't imagine it being much different than working a stressful job in any other industry.
I can totally relate to that - well not the smoking bit. but yeah - a nice scotch and you can turn it off. Otherwise I find I will say "ok, I am finishing this.." go off and start talking to family/friends, and suddenly pause, stare into the distance, and then run to the nearest device of mine to try/make a note of some problem whose solution just popped apparently completely formed into my head.
but hey, we love this, lets not kid ourselves. Its great - so many people really hate their jobs, this is a wonderful business.
I don't know if programming makes me less social, but I do know that I'm at my most social after I've already been socializing with a lot of people. So if I've spent my day doing anything that isn't socializing, I'm not going to be very social.
The efficient social power-up hack for this as taught to me by someone who can engage anyone (and is not always on):
If you are on the way to a party or some other venue where it pays to be social, park the car far away and on the way over greet everyone you cross paths with with a warm "Hello!". If you do this right (and park far away enough/walk enough), by the time you get to the venue you will be lit up and locked and loaded. Bear in mind, the first hello will suck. Maybe even the next five. Ok, the first twenty.
But if you can get to twenty one or thirty, the energy will shift from why am I doing this to I love doing this.
Part of this is because you are warmed up but more importantly you will start to get people responding to you. Gets you over your fear of rejection because you're just being a social guy or gal. As always, use your best judgement, but this technique is platinum. For bonus points, increase your range - target people across the street by putting your hand up and waving and "HI!"
The abbreviated technique is to greet, pause, and shake hands and/or touch on upper arm with everyone once you enter a venue - immediately. If you ever want to watch this technique at work, go to a political fundraiser and observe (unconscious competence for most).
Yes, definitely. My brain takes a long time to shift gears.
One thing I've had some success with is writing stream-of-consciousness style after work for ~500 words. Expressing a ton of thoughts without any filter or careful thought seems to prime the pump for socializing.
My wife calls this "programming-land". When she comes home, she can tell right away if I've been hacking or goofing off reading reddit; in the former case I'm somehow behind the curve social-interaction-wise.
If we're going out afterwards, I can adjust, but it takes a while for me to get my mind off the problem at hand.
I was being serious. Old-fashioned women who are happy to marry a richer, more capable man and do household duties do still exist, but they're much rarer than they used to be.
The fact that so many of you apparently thought the idea that your wife might cook for you is sexist kinda makes me wonder what the point of a modern marriage, from the point of view of a moderately-wealthy-to-rich man (who doesn't need his wife's income) would actually be.
And don't just say "love", there has to be something else. The man brings love and money to the table, what does the woman bring?
I just apply the label "sexist" in the meaning that its inventors intended :-) That doesn't mean I agree with them that sexist (or racist, or whatever) is always bad.
I'm single and don't want to marry yet, but I can see why people can still want to marry even if it doesn't mean acquiring a provider or a cook. The top reason I can think of is companionship. If you live alone, by default you spend every evening alone unless you expend effort. This might be hard for most people. Heck, it's hard for me, but being free to do stuff is more important to me than staving away loneliness.
I can see it helping in tennis because being on the balls of your feet (split-stepping) is key to being able to change direction. And soccer is all about feints and changing directions.
Soccer is one of those sports where I'd like to get better but lack the patience to build skills consistently.
If you want to learn how to dribble a soccer ball, do it in the edge of the surf beachside. The water resistance makes it extremely difficult. Get a small soccer ball called a skills ball. Soccer or (football) is one of the sports where footwork can make you a valuable team player. Speaking of which, less than one month to World Cup 2010!! (June 11th)
I've had this discussion before on a different thread (wherein I didn't get downvoted nearly as much but hey). Yes I realize I can fix the font size (and in this case I just pressed Readability). And yet that is a terrible excuse for the fact that his site is virtually unreadable, considering that he is someone who, by the nature of his work, should be the last person making Yet-Another-Unreadable-Blog.
It feels like programming directs all brain power toward the analytical/introspective aspect of my brain, during which the social aspect gets cold. Then when I have to socialize, it takes awhile to warm up. They are completely different states of mind.
Dunno if this should factor into whether I should become a programmer as a career.