Monday, June 08, 2009

Welcome to the first lecture in an ongoing series called “Know Your Geeks.” This series aims to educate you about the various types of Geeks found in the wild. Tonight’s talk will focus on a strange and misunderstood breed of Geek, Geekus Programmicus.

Commonly known as the Programmer, this species shares many characteristics with his fellow Geeks. He lives and hunts alone or in small groups. Sensitive to light, he hides in a small burrow called a “cubicle” during daylight hours. He prefers a diet high in caffeine, sugar, and fat. He is generally pale in color, with fat reserves around the midsection and haunches.

The novice observer may confuse the Programmer with his closest genetic relative, Geekus Computus. Also known as the IT Geek, this close cousin has many physical traits in common with the Programmer. Both species use computers as tools and become aggressive when provoked. However, the trained eye can easily tell them apart.

The reclusive Programmer can go days or even weeks without interacting with others. He often sits in the same position for hours at a time, barely moving. In stark contrast, the IT Geek roams freely across the office plains. Though not a social creature, he does form loose alliances with other species in the ecosystem.

Avid Geek Watchers can also tell the two species apart by watching for tool use. Both species use primitive tools such as the computer. However, most Programmers cannot fix a computer or even understand how it works. They also tend to use other tools such as a second monitor or noise-canceling headphones.

Now that you know how to recognize this species, you should learn what to do should you spot a Programmer in the wild. Because of the Programmer’s volatile nature, you should use caution when approaching him. This species can become extremely agitated when cornered.

When treated with respect and patience, Programmers can be rewarding to tame and breed. In order to successfully tame the Programmer, you must understand his environmental needs. Like a spider, he spends most of his days spinning webs. However, while a spider uses silk to create his web, a Programmer spins a material called “code.”

Optimal code production requires a very specific environment. The Programmer can only produce large amounts of code when he is in a trancelike state. In order to produce the best code possible, the coding environment should be free from outside stimuli.

An ideal coding environment has low lighting and little noise. Due to modern climate changes, many Programmers have learned to adapt to fluorescent light. To avoid ambient noise, the Programmer often wears headphones while other office animals are nearby. Music can also help the Programmer achieve the desired dream state.

Once in the dream state and producing code, the Programmer is totally unaware of his surroundings. Loud noises and sudden moves will startle him. If you interrupt the trance state abruptly, he may feel threatened and become aggressive. If possible, avoid all direct contact with a Programmer in the coding state.

In the event that you must approach a Programmer while he is in the coding trance, use extreme caution. Be patient while he emerges from the trance state. Make first contact by approaching the Programmer slowly and standing quietly in his field of vision.

Wait several seconds before attempting any further contact. This will allow the Programmer to adjust to the reminder that other animals exist. This realization is often difficult and confusing. Above all else, do NOT touch the programmer during this phase of contact.

Watch for signs that the Programmer has become aware of your presence, such as a nod, a wave, or a grunt. Such gestures indicate that he has seen you. He may need to finish the task at hand before speaking to you. Allowing him to slowly make his way back to reality will increase the chances of a successful encounter.

If your presence does not elicit any response after several seconds, further intervention may be needed. At this point, a slow and gentle tap on the shoulder is acceptable. Do NOT shout, shake the programmer’s shoulder, or block the screen. These behaviors are a surefire way to provoke a Geek Attack.

Once you have made contact with the Programmer, he will slowly begin to emerge from the Coding Trance. This process may take several minutes. Like a sleepwalker, he may speak to you but be unaware that he is doing so. A Programmer who is ready to listen will stop looking at his screen and cease all typing behaviors. Watch for these signs.

Although Programmers can learn human languages, their native tongue is TechnicalSpeak. A passionate Programmer may lapse into this language. It’s okay to tell him that you don’t understand – he probably doesn’t realize that he isn’t speaking English. For best results, point out specific words or phrases that confuse you.

Be especially careful when approaching a Programmer about a problem with his code. Programmers have a natural curiosity and an aptitude for finding and fixing problems. They are often grateful for the chance to correct their mistakes. However, they may become confused and agitated by vague statements such as, “Your code isn’t working.” Be specific.

Once you have conveyed what you need from the Programmer, back away slowly and allow him to focus on his work. He may need time to switch from one task to the next. Do not attempt to make small talk with a Programmer who has recently been in a coding trance.

In conclusion, Programmers are the arachnids of the office environment. They are often feared and avoided due to their frightening, sometimes hairy appearance. Like spiders, they create complex webs of code that can rid your environment of pesky bugs. Though daunting at first, with proper care and feeding, a Programmer can be a wonderful addition to your office environment.