I was wondering when I read the famous "Programmer Habits" thread, I was wondering: Is there any way to tell if somebody is a programmer without actually asking them?

Clarification: I am asking for things that you can use to recognise a programmer from "afar" or without knowing them well. To identify habits, you need to be around a person for a certain amount of time.


They use nested parentheses in normal writing (at least I do (sometimes)).


When you ask them a question there will usually be a discernible pause (long enough to notice by a mere mortal) for mental lexical analysis, pre-processing, linking, syntactic/semantic analysis and optimisation before they answer.

I also noticed that it takes a disproportionately long time to obtain an answer from them to a trivial question such as would you like a cup of tea?, which would leave them hang in an infinite loop until some specified time-out cuts their thinking thread short and they provide a random answer (whatever was previously written in their answer buffer).

A bit off-topic but fun: Walk up to a (busy) colleague (programmer) and just say Hello and behold:

Blank stare - you can almost see their minds unwind as they swap out their current short-term memory to persistent long-term storage - then a moment of REM - rapid eye movement - before they awake from their thoughts completely, and first then they are capable of processing input from you.


They number lists starting with 0.


If they follow conditional logic in the real life, too. For example, check out this "joke":

A woman asks her husband, a programmer, to go shopping:
- Dear, please, go to the nearby grocery store to buy some bread. Also, if they have eggs, buy 6.
- O.K., hun. Twenty minutes later the husband comes back bringing 6 loaves of bread. His wife is flabbergasted:
- Dear, why on earth did you buy 6 loaves of bread?
- They had eggs.



The last conference I went to in London I didn't know where I was going once I got over London Bridge, fortunately halfway across I spotted a guy with a laptop bag, unkempt hair but more importantly socks and sandals, he led me all the way to the conference.


They use slashed zero to distinguish the digit 0 from the letter O.


Similar to FeatureCreep's answer...

If they go completely crazy whenever they see a sentence ending with punctuation in a parenthetical clause (like this one.)


They complain that Google doesn't have regular expressions support.


You ask them "do you want A or B" and they answer "yes".


By their tan lines of course (from http://www.codinghorror.com/blog/archives/000970.html).

alt text

It used to be pocket protectors, but I think that's more for engineers.


Developers are born brave !

alt text

They consider 256 to be a nice round number.
They think that a km has 1024 meters.

They tend to use loops too much

alt text

They're hardy people by nature.

alt text


If you put more thought (and money) into your choice of keyboard than say, shoes, car, etc...


If every question is answered very precisely. ex:

Spouse:      "Where are you?"
Programmer:  "In my car."

Spouse:      "When will you be home?"
Programmer:  "After work."

Spouse:      "Do you want to go mow the lawn?"
Programmer:  "No."

Friend:      "What's up?"
Programmer:  "A direction opposite of down."

They attempt to unwind the call stack in a conversation.


The responses where people are indicating that this frustrates/horrifies non-programmers are pretty interesting to me. It seems like having to have a mental model of the call stack and execution state of each stack frame helps in being able to juggle multiple discourse-threads in the same conversation.


Ask them what languages they know. You can tell the programmer by the way he names numerous langauges but forgets to include 'English'.

  • They write everything as lists.

Easy question. They aren't. I'd guess this method is 99% accurate, given a random sample of people.


Back in the 1990s NASA and the Russian space agency got together to discuss sending an astronaut up to MIR. Nobody at NASA knew much about the Russians attending all the meetings; they didn't know if they were technical, management, KGB etc. So in one meeting they supplied big blank pads and marker pens at every setting. Then they got somebody to stand up and start talking about something technical with big diagrams etc. Everybody who reached for a pen to draw something was flagged as a technical guy.


Ask them do you know what Linux is. Next question: do you program?

A programmer of course, wouldn't know to do this. Instead he has to ask on Stack Overflow.



If they laugh at the classic "there are 10 types of people who understand binary; those who do, and those who don't" shirt, they are... :-)


If they answer every question/request with, "Why?"


When they introduce their son as JSON and their daughter as Ruby.

You can tell that the person is a bad programmer if the names are x and Form1.

Characteristics include:
* Glasses
* Lack of tan
* Relaxed dress code
* Derision toward athletes
* Monospaced fonts
* Tendency to be very specific, precise, and accurate
* Tendency to correct or expound, esp. faced with people who are
  not sufficiently specific, precise, and accurate
  * Including seemingly-arbitrary syntax
    * Especially in monospaced fonts
* Strong knowledge of keyboard shortcuts

When they end a random sentence with a semi-colon;


They don't know how to answer casual questions:

Normal person: What's up?

Programmer: Um....... what am I supposed to say?

The other common responses would be:

Programmer: The sky


Programmer: A direction opposite of down


If they answer every question with a link to xkcd.

...and to satisfy the newest version of the question...

  • They have pale, pasty skin and a look of apparent confusion on their face when they catch sight of that big orange ball in the sky.
  • You see them food shopping and running other daily errands at 2:00 in the morning.
  • You notice them looking at a piece of stationery with the same sort of wonderment as someone viewing a museum exhibit on ancient Egypt.

Whenever they write the phrase "go to" in normal email, they make it one word. (Example: New hires should goto the Black Swan room for orientation.)

And then they consider restructuring the flow of the whole email so they don't have to use goto.

Edit: Ran across this doing something else... It seemed so right somehow:

Neal Stephenson thinks it's cute to name his labels 'dengo'


Person considers 256 to be a nice, round number.

Person becomes annoyed when 10K means 10,000.

Person starts counting from 0 and ends up with one less than everyone else.

Person ends their sentences with a semi-colon.

Person write ?equals? as == and ?not equals? as !=.

Person know where to find the {braces} keys without looking.

Person call text phrases ?strings.?

Person frequently use words like iteration, contiguous, trivial, version, array, polymorphic, parse and WTF in casual conversations.

When someone asks what languages Person speaks, Person replies: ?C#, Java, PHP and Python.?

Person hears the word "Scuzzy" and does not think it is a bad thing.

Person's favorite f-word is fdisk.

Person includes XML in regular correspondence.

Person uses camelCase for names.

Person takes things too literally. For example, my wife gets upset when she asks ?Do you want to take out the garbage?? (no) instead of ?Will you take out the garbage?? (yes).

Person responds to questions too logically. For example, when a waitress asks me, ?Would you like coffee or tea?? Person responds, ?Yes.?

Person answers negative questions in the technically-correct but awkward way. When my mom asks me, ?Wouldn?t you like a glass of milk?? I respond, ?Yes, I wouldn?t like a glass of milk.?

When Person makes a mistake or says something Person shouldn?t have, Person wishes Person could press Ctrl+Z.

When searching a paper book, Person gets frustrated that Person cannot simply press Ctrl+F to find the text Person?m looking for.

When a store cashier asks Person for their zip code, Person demands to see the store?s privacy policy.

Person gets sudden attacks of bittersweet nostalgia when thinking about their long-lost Commodore 64, Sinclair ZX-81, TRS-80, or Amiga 1000.

It?s hard for Person to make an absolute statement because Person always considers that there may be an edge case.

Person unit-tests his wife, expecting deterministic, solid outputs for a certain input with boundary conditions.

Person tells his wife to ?stop throwing exceptions that Person is not willing to catch.?

Person holds a mouse more than his wife?s hand.

Person assumes that most people love their jobs like Person does.

Person would rather text the guy in the next cubicle than talk to him.

Nighttime and sleep are no longer irrevocably linked.

Person understands (0×2b||!0×2b) and finds it funny.

Person thinks these programming jokes are hilarious.

Person thinks xkcd is the funniest webcomic ever.

Person believes these laws to be self-evident and true.

Person thinks that the three primary colors are red, green and blue.

Person has more than one monitor.

Person has more email addresses than pairs of shoes.

The number of computers in Person's house exceeds the number of romantic relationships Person had in their lifetime.

Person runs a Web server at home.

Instead of playing games on their Xbox, Person installs Linux and uses it as a server.

Person carries a USB flash drive in their pocket wherever Person goes.

Person knows what a router is, and Person knows what a bit is, but Person does not know what is a router bit.

Person helped their grandma create her own blog.

Whenever Person uses another person?s computer, Person complains that they are not using Firefox and attempt to switch them.

Person email themselves to remind them to do something.

Person rigs up elaborate mechanisms to perform basic tasks.

Person has written a useless program ?just for the fun of it.?


The answer to "what kind of computer do you use?" isn't a one word response.


They have horrible handwriting.

[edit] Based on the comments this should obviously be: they have strong opinions about the quality of their handwriting, which is either precise and beautiful or will make your eyes bleed.

A graphics or engineering biased programmer will likely be the former, where as we all know Perl programmers are probably the latter. :)

  • They expect everything in the world to be very specific.
  • They see things in real life, and determine a base class. e.g. class Dog extends Animal

When they wield jokes like

Why can't you make jokes in octal? Because 7 10 11!


A programmer considers an XKCD image as a legitimate answer for a question.


They have memorised the powers of 2 up to at least 2^13 (8192), and can freak people out by reciting them.


Typically, if a quotation ends a sentence, you should put the period within the quotation marks: "blah."

I've noticed that programmers (myself included) tend to put it outside the quotes: "blah".

I do this because I see the period as not part of the "string", thus it belongs outside the quotes.

Interestingly enough, the rules are a bit more complicated.


You're a programmer if a coworker says something about "market segmentation" and you immediately start thinking of a way to make a joke involving a "market segmentation fault".


if you ask them how to solve a problem, they will tell you many different ways to solve it.


They use "foo", "bar", or "baz" in everyday speech (especially when referring to hypothetical situations).


They complain that books don't have a built-in grep function.


You can tell by the keyboard impressions on their face, after they wake up.


The beard.


They are constantly trying to debug the world.


They set up character and paragraph styles in Word before starting to type.


you find random occurrences of :wq in their normal word documents.


Male programmers: Confronted with an extremely hot chick and an oddly blinking device at the same time, their attention immediately focuses on the blinking device. That is, unless the girl wears a geeky T-shirt.


They like to answer using algorithmic terms.

Once one of my programmer friend was looking for his exam paper from a stack of around 120 papers. He was checking every paper if his roll number was written on it. When he was in the middle of the stack, he was tired and told me, "See the problem with linear search?"


I was playing cards with some friends and when we finished, i noticed my friend was sorting the deck with mergesort.

Now, you can tell if a person is a programmer if the person sorts a deck of cards with mergesort... or if a person notices that someone else is sorting a deck with mergesort...


T-Shirt, Jeans, Sneakers.


They tend to get angry when non-programmers use the word "list" in conversation (when clearly they should be using "set").


Developers celebrate Halloween and Christmas together because Oct(31) == Dec(25).


You could use the old one-question programmer test: Did you see that VW beetle with the "FEATURE" license plate?

  • They doodle in ASCII art.

  • Their house is decorated in web-safe colors.

  • They try to put hyperlinks in their speech.

  • They've ever tried to program with a paper and pen.

  • Anyone they see with a Mac will either be praised for their good choice in computers, or yelled at until they switch to (Windows (XP|7)|.+nix|.*BSD).

  • They'll also badger owners of computers running Vista, but never end up complementing them.

  • Instead of writing a shopping list, they write a shopping regex.

  • Their family always thinks they can fix any small appliance.


Instructions to other people are expressed as algorithms, sprinkled with if/then/else conditions and loops.

We'll be meeting tomorrow in the parking lot at my work. If you don't see me right away, then I'm probably in my office and you should wait in the lobby. We'll be eating lunch along the way. Water will be provided. If you want your own drink, then bring money for the vending machines. For each person in the group, the entry fee is $2 if you are a student, $5 otherwise. While we are on the tour, keep chatter to a minimum, but if you have a question please don't hesitate to ask the guide.


Commoner: "Could you count to ten for me?"

Programmer: "0, 1, 2, 3, 4, 5, 6, 7, 8, 9"

Commoner: "That's only nine.."

Programmer: "I counted a total of ten digits..."

Commoner: "What?"

Programmer: "Nevermind;"


They live in their parent's house.


Sometimes, reading a newspaper article, for instance (remembering one):

"... and now a $1 question: ..."

I read $1 as "dollar one" instead of "one dollar" ... as if it was a shell function parameter ... pffff.


In my college days, In maths answer paper I used to write,

 10 = 2 * 5 

while others write

 10 = 2 × 5 

If you have to ask this question, then you are probably not a programmer... ;)


They have Dilbert comics on their walls.


If they ask other programmers how to identify a programmer , and do so in StackOverflow.com .


This is one way of recognising programmers that I read somewhere:

They're the people starved to death in the shower. Still clutching the shampoo bottle which says, "Lather, rinse, repeat".




They get an unnatural twitch in their eye whenever someone uses IE.


They are here


By the way they nibble and byte.


Programmer: "Can I have combo number 3?"

Fast food employee: "Sure, what would you like to drink?"

Programmer: "Coke."


Fast food employee: "What would you like on your burger?"

Programmer: "What ever is default is fine."

Yes, I did this... I found it strange that she did not understand me.


They know more about what's inside their laptop than what's under the bonnet (hood) of their car.


It depends. For VB programmers they like to eat spaghetti.


They use words like implements, class, override, while, and continue a lot more than non-programmers would. If they're a functional language programmer they'll probably say let a lot.


Coming into work later than everyone.

In some cases, mapping their current sleep schedule to whatever time zone they would be getting to work at 9am in.


Not just a beard -

A neckbeard.


It is easier to ssh into the other computer on the desk to turn down the volume than actually reach 50cm and push the button on the other keyboard.


They're amused by things like the Evil Overlord List, the Eric Conspiracy, and How to Destroy the Earth.


They don't get why this would get you banned from a conference.


They hate facebook out of sheer envy.


When programmer goes to bed, he takes two glasses: first with water in case became thirsty and empty second in case is not.


From their posture, impaired by years of sitting at the computer.


He makes sure to say "sudo" before asking you for something.

Sudo make me a sandwich


This is something I've done before: when counting out change to try and give exact change to a teller or when helping someone at a cash register to give them cash back, you run out of one coin type, and in order to make up for it start looking for negative coins to arrive at the same total. AKA the negative one coin to speed up the process of counting out 99 cents.

I said this aloud, and my wife said "people would just throw away the negative coins."

To which I replied "But then they'd have to wait for change more often!"


They sneer at people who do not now the difference between slash and backslash.


If they greet you with "Hello, World" then you're onto a winner!


The programmer, when forced to put pencil to paper, will put a slash through their zeros and underscore their ones. Other digits really don't matter. ;)


You hear them verbally using very specific programming symbols in conversation. For example, have you ever heard someone say "octothorpe" out loud? (or casually mention "bang" or "hash" or "tilde" etc)

They also cringe when symbols are misused by non-programmers. For example if someone is dictating and they say "star" but mean to say asterisk, or confusing the difference between a bracket, brace and parenthesis.


They like Monty Python :-)


I saw this question and couldn't resist to answer. I'm probably a little late with the answer but I will submit it anyway.

I think this is a really good question, if not "serious" and "useful" then "humoristic" and "resourceful". I have always wanted to know whether a person fits the "programmer profile" before starting a project with them. Sometimes a person can "pass as a programmer" amongst people that dont know much about computers and technology in general. This person is mainly known as a "poser" or "want to be programmer". Every programmer can identify this person, mock him or accept him.

I always look for a certain pattern in people before I can communicate with them openly. I think that most geeks do, as I cannot share my opinion and intrests if the person doesn't have the same or close to same patterns as me. Maybe I sound selfish, maybe arrogant, but that's the only way I can stay interested in people and have "normal" day to day conversations.

How can you really recognise a programmer from afar? If you focus and look closely, programmers are not hard to spot. They dress casual, plain but comfortable. Programmers come in all "shapes" and "forms", some wear glasses some dont, some are really tall, some are really fat, etc. They dont care about their look (they only care about the code), unless they are going to a programmers convention. Other people describe them as loners and distant.

Programmers identify programmers from afar. It's a given, natural thing that all programmers possess. It's "embedded" into us.


When asked, "Jon?" a programmer answers "Skeet!"


They use pascal notation for any compound word.

Hey Timmy, it's BedTime.


When nesting quotes, they simply escape the inner quotation marks:
    " This is a \"quote\" "  instead of
    " this is a 'quote' "

  • They:
    • Use
    • Lists
    • within
    • lists

And of course, they put the commas on the outside of a quote:
    "hello", he said.   Instead of
    "hello," he said.

They use the word else rather than otherwise.

I don't do the escaping quote one, I just bend my quotation marks like parenthesis to make them nestable. But I do the others :D

EDIT: How could I forget, programmers tend to be very good at math.

  • When you catch them, or admitting to, emailing this page to their Formal Specifications lecturer;
  • They use != (or equivalent) instead of "is not" in normal writing/typing.
  • They solve a very simple, and completely stupid, bug with a bit of psudocode or z-notation (or both at the same time) rather than an English explanation.

btw, I'm emailing this to my FS lecturer.


They write // and /* */ on paper !


They accidentally type "exit" in IM chat sessions


They can count to 10 faster than anyone.


-What is you favorite color ?



Rock climbing gear is almost a dead giveaway for a programmer. At least in New England, I'd say 2/3 of people I've talked to are involved in either medical / bioscience or engineering / programming.

I'm a rock climber...

Also, dress clothing and boots. (I happen to be of the "in case a mountain springs up in the server room" variety.) Oh, and finally, disagreement with normal punctuation rules.


When told (at a railway station for example) to go via the gate, say, ? 2, they start counting the gates from zero! (did it myself a few times)


In my town, if you see some bleary-eyed coffee-holding individual heading office-wards around noon, they're probably a programmer.

... or maybe that's just me.


It depends <insert awkward pause>.


To find whether a person i a computer programer.I have one idea.This might not be always correct.

Check the bottom of the wrist ,It should be rough and hard since he is always using the mouse and his wrist(postion where the wrist come in contact with the desk) will become hard.So u can shake your hands to someone to find whether he is using computer always.

This will not work out for one who doesent use mouse. The might be wrong in case when we find persons who always plays computer games with mouse. :)

Please forgive me if i am wrong.


Here's a great example from my real-life life.

Software development has taught me to find problems and bad design, proactively. Further, it has taught me to try to fix them, and occasionally report them at a status meeting or into some bug database, etc.

As a result, any time my daily workflow is interrupted (Specifically driving, grocery runs, etc), I immediately locate the "cause" or the person at "fault". I'll blame the thing or person directly (as a fix), or utter a snide comment (as a status update / TODO), and go on with my day as if nothing happened.

People think I'm just complaining, but I'm really trying to improve the world in my own little way.


A programer often tends to have a talk about software/hardware. While talking he does not realizes his audienced getting more bored and bored, because he is so intrigued by his topic.

A programers desk is orderd by a Gauß-Curve: Around his keyboard and monitor you only can find a "mouse", "cup of coffee", "a piece of paper", "a pencil". Outside this area you find a mess.


I've caught myself sticking my tongue out while talking, wherever the :P smiley would go, I caught that habit from one seasoned hacker too.

verbing the nouns, nounization of verbs, sometimes giving them pronounly features.

They prefer to spend a hour writing a 15-line program than perform the task by themselves in 15 minutes.

They immediately spot recursion and find it humorous too.

They care whether the embedded device they get is user-programmable.

They may spend half a hour making a simple shopping decision by comparing various features of competing products and devising a complex quality metrics function. Should I pick an apple juice or grape juice? grape gives me heartburn, apple is 3% more expensive, grape has 60% natural juice concentrate while apple has 65%, apple is slightly more tasty, but grape seems to have more vitamins...

They are often McGyverishly prepared for various extremes. "Why, yes, I have a torx screwdriver with me, I always do. No, I don't smoke but you never know when you might need fire..."

They are extremely frustrated when people refuse to behave logically. A person who rages, panics or cries instead on working on a constructive solution to a problem is a part of the problem to be removed.


They say stuff like this(The engineer, in this case):

A priest, a doctor, and an engineer were waiting one morning at the third tee (par 3, 185 yards, slight dog leg to left, water hazard on the right) while a particularly slow group of golfers were flailing away ahead of them.

Engineer: What's with these guys? We've been waiting for 15 minutes!

Doctor: I don't know but I've never seen such ineptitude!

Priest: Hey, here comes the green keeper. Let's have a word with him. Hi George. Say George, what's with that group ahead of us? They're rather slow, aren't they?

George: Oh yes. That's a group of blind fire fighters. They lost their sight while saving our club house last year. So we let them play here anytime free of charge!

Doctor: Wow! Thanks for the scoop George.

Priest: That's so sad. I think I will say a special prayer for them tonight.

Doctor: Good idea. And I'm going to contact my ophthalmologist buddy and see if there's anything he can do for them.

After a short pause ...

Engineer: Why can't these guys play at night?


They use camelCase and Random Capitalization


By showing them this question. If they laugh and really get it- they're a programmer

There are only 10 kinds of people in this world: those who know binary and those who don?t.


By their shirt, of course.


They wince at the mention of recursion.


If they dream code.


Unusual snacking habits.



They think (and say) the letters 'a' to 'f' are digits.


When asked to tell a programming joke, the first one they say is "There are 10 types of people in the world: those who understand binary, and those who don't."


you can't! All of the methods thus far that truly mark a programmer have relied upon active observation vs. passive observation(the type of observation the question was referring to). Do you really think that you can pick a programmer out of a crowd of people based upon appearance,clothing, and affectations? Considering all of the physical characteristics, general habits, and sleep cycles whats the difference between a college student and a computer programmer (I'm not saying that these two are mutually exclusive I'm merely stating that the similar qualities are striking)? Honestly I don't see much.That holds true anyways until the programmer opens their mouth...


They choose the names "Alice" and "Bob" when talking about hypothetical persons (to a non-programmer)


"Do you have the time?"

"Yes" || "Of course I have the time, I'm wearing a watch".


They know there are only 6 colors in the rainbow! Red, orange, yellow, green, blue, purple.

And anyone who thinks there are 7 colors obviously is too stupid to understand RGB ;)


When asked: Do you wan't Coffee or tea the programmer replies true (or yes).


Ask them which web browser they use. If they respond with the name of an actual browser (as opposed to "Google", "the Internet" or "What's that?"), they're in IT.

YouTube: What's a browser?


They use mind-maps and tell everyone how cool that is.


If they throw away a keyboard because the "backslash vertical-bar" key stopped working.


If they post threads from Stackoverflow to their Facebook


They get really really annoyed if they notice a parenthesis missmatch somewhere.. (my maths proffs tend to lose some and I get wildly annoyed about it!)

They "algorithmize" complicated tasks in order to grasp them.


If his wife is pregnant and you ask him "Is your baby boy or girl?", he will answer "True".


Putting sentence ending periods outside the "quotation marks".


If they use "by default", "hard coded", "run-time" , "just in time", " very frequently in their spoken english. And perhaps more important: when they try to inter-prolate every problem algorithmically.


They get the joke: There are 10 types of people in the world: Those who understand binary, and those who don't...


They identify the difference between 0,{},None,'None',False,'false,nil,null and 42 more Excel options, program Excel and optionally quote "00100110011100111000011 or 01001100110011010001," understand any information, change any password, force any cipher, decode and encode any telephone and pay-per-view and very popular on television


Check whether he is on Linkedin :)


If we can need a program that do our job in our place we build it :)


laptop bags and glasses :D

or just visit stackoverflow.com


They have their significant other's name tattooed on their arm...in binary. (Yes, that example is from real life).


They look at your shoes when they speak to you


If "Yes" and "No" are the only thing they answer to a specific question.

This is not always tolerated by the people around them ;-)


Who wears suit only when he goes for interview.

  • They are wearing a tie with running shoes
  • Show them anything technical and ask if they could design it better
  • Ask them for any price and they'll tell you 50% of the real answer
  • They call end-users "stupid"
  • They refuse any attempt to meet with "suits from sales"
  • They can't work without the latest hardware
  • They use the words boring and documentation interchangeably
  • They only work when no one is watching
  • They know the script to Bladerunner by heart ... When asked to make a list of ten items, they only complete nine, but somehow contradict themselves in the process. ;>

Deep thinking would be a way to tell if someone is a programmer. The best way though to know is if the talk about computers all the time.


If you want to know a programmer without seeing one or knowing one really well - put a question into a blog that asks - how do you identify a programmer from afar. You will then be able to identify programmers simply by listing those who answered. You guys made this problem way too hard!


They is fine. English has lacked a neuter 3ps personal pronoun, now it doesn't. Language change: Yes We Can!


Not such a funny one, but the non-programmers at work have remarked to me that we seem to have very elegant hands, with long and nimble looking fingers. This of course would apply to many people that do a lot of touch typing, but it does seem to be a common feature of programmers.


Start asking them about a computer problem. If their initial response involves: plugging in the computer, turning the PC on, rebooting the computer, or restarting the program. Then they are a program.


When someone says "I hear you use VIM; can you help me learn how to use it?" and you explain code folding, omni-completion, syntax highlighting support, show them a number of command-mode key sequences and send them links to the User manual, the VIM cookbook, the Vim Tips Wiki, and 'Vim: Seven habits of effective text editing' by Bram Moolenaar.

And they ask if they can edit really large files and you answer, "Yes, but I usually just search with grep or edit in place with sed or awk".

Yeah, I'm the VIM geek at work, and it's a Windows shop ;>


They queue their responses to a conversation asynchronously. While someone's talking to them, they buffer that input in, process it, then spit out their response catching the other guy completely off guard as they're now on a completely different topic.


If they end an e-mail or other document with ":wq"


When walking, they walk the shortest path from point A to B.


When he answers a yes/no question with true/false.

Or, when he is an Open Source programmer, he never (dis)agrees, but answers with +1 or -1.


So, ladies, you are in the a bathroom of a restaurant washing your hands, when you see a male walk into the restroom, turn the corner, stop, pause, and say....

"Assert FAILED in line 'walk up to urinal'"

And then turn around and walk out again...

Not embarrassed, just matter of factly...

That's a programmer....


Person uses "their" and "his" to describe programmers, never "hers".


I add semi colons on my sentences all the time;


They argue with non-programmers about if 'go to' is 1 word or 2.

... I've done it ... and apparently it's 2. :-(


They use '&' rather than 'and' when writing


The following sentence is abnormal for a programmer:

"Either death or you I'll find immediately." ( http://shakespeare.mit.edu/midsummer/full.html#2.2.156 ),

because the programmer's meaning of "or" is different than common sense "or", therefore, the statement above means:

I will try to die, if I failed to die, I will find [you].

They add brackets (or quotes or formatting) to reduce ambiguity in English language.

  • (British Colombia)-ians are also Canadians.
  • The (n + 1)th number.
  • Two times (three plus two).
  • Eat (rice, fish and vegetables) and watch TV.

They may treat English "and" like "cons" in Lisp:

Logical quotes is a must:

  • He said, "I was on the phone.".

The following sentences are invalid for a programmer (debatable):

  • He said, "I heard someone said on the phone: 'He is in Bob's house.'.".
  • (a smiley inside the parentheses :))

They think an ideal human language uses programming operators.

  • yesterday { I->eat({$x : @red, @length(0.12), @fish}); } -- the default length unit is meter

Prolog style:

  • today(X), yesterday(X, Yesterday), do(Yesterday, i, eat, [Fish]), red(Fish), length(Fish, 0.12)

see also: http://catb.org/jargon/html/writing-style.html


They've read through the majority of these answers thinking "what's so significant of that?".


The smell!


When they read the phrase "OMG it's Huge!!!", they think of the UML spec.


They are alone and have no friends


Pressing Ctrl + S after taking notes in a piece of paper!


Programs that they write for themselves contain no input validation.


I usually say that if a person is good at catching a ball and cares about their clothing, I would doubt their ability to program. So I suppose this could be signs


Ask him/her: What's your there favorite website?

if answer = stackoverflow.com then he is a programmer else he is not


The website looks like it is from 1990! Sorry just keepin' it real :-)


They drive a red Mitsubishi Lancer


You can't.


They think that use of spaces between words is a waste. Like TheyThinkUseOfSpacesBetweenWordsIsAWaste.