25 idioms you should know for software development

Since my CS grad school days to working in tech companies, there were many idioms and phrases I heard over and over.

Credit: South Park

Barking up the wrong tree

pursuing a line of thought or course of action that is misguided. [reference]

The phrase is an allusion to the mistake made by dogs when they believe they have chased a prey up a tree.

Can be used with “red herring” while debugging. “He followed the red herring and spent time barking up the wrong tree.”

The ball is in your court.

I did my part, now it’s up to you… [reference]

It originates from tennis, where if the ball gets in your court, you deal with it by hitting it across the net to your opponent.

Ballpark

acceptable range of estimation [reference]

“Could you give me a ballpark estimate of the number of users?”

One theory says that “ballpark figure” was coined in the 1950s, the early years of the space race. Being something of a then inexact science, when a spacecraft returned to earth it was said to be “in the ballpark” if it landed within the pre-designated area. This is a baseball reference because when balls are hit within the ballpark they are still playable for the fielding team.

The competing theory says it refers to the way in which baseball stadium announcers would give an estimated attendance figure for the game.

Bikeshedding

talking/arguing about something easy/trivial rather than the bigger/harder issue at hand [reference]

A committee whose job is to approve plans for a nuclear power plant may spend the majority of its time on relatively unimportant but easy-to-grasp issues, such as what materials to use for the staff bikeshed, while neglecting the design of the power plant itself, which is far more important but also far more difficult to criticize constructively.

Build a better mousetrap

To invent the next great thing; to have a better idea; to develop or invent something superior to a device that is widely used. [reference]

From the old saying, “If you build a better mousetrap, the world will beat a path to your door.”

Call it a day

stop doing something for the day, for example work, either temporarily or to give it up completely. [reference]

The expression was originally “call it half a day”, first recorded in 1838 in a context meaning to leave work before the working day was over.

Drink the kool-aid

(a) To completely buy into an idea or system, whether good or bad. (b) Going along with what a crowd desires. Often used when a person changes positions on a topic. [reference]

A reference to the 1978 cult mass-suicide in Jonestown, Guyana. Jim Jones, the leader of the group, convinced his followers to commit suicide by drinking grape-flavored Kool-Aid laced with potassium cyanide.

Example: After avoiding the switch to newer version of javascript for a few months, Jim finally drink the kool-aid and do the switch.

Drop the ball

Make an error; miss an opportunity; fail. [reference]

This expression comes from the game of (American) football, where it’s not a good thing to drop the ball when the ball is in play.

Eat your own dogfood

also called dogfooding, is a slang term used to reference a scenario in which a company uses its own product to test and promote the product. [reference]

The editor of IEEE Software recounts that in the 1970s television advertisements for Alpo dog food, Lorne Greene pointed out that he fed Alpo to his own dogs. Another possible origin is the president of Kal Kan Pet Food, who was said to eat a can of his dog food at shareholders’ meetings.

In 1988, Microsoft manager Paul Maritz sent Brian Valentine, test manager for Microsoft LAN Manager, an email titled “Eating our own Dogfood”, challenging him to increase internal usage of the company’s product. From there, the usage of the term spread through the company.

In Layman’s terms

describe a complex or technical issue using words and terms that the average individual (someone without professional training in the subject area) can understand, so that they may comprehend the issue to some degree. [reference]

This term has its roots in religion. “Layman” is a common member of the congregation who assists the professional clergyman such as a priest or rabbi. For ages, Latin was used to conduct services and few, if any, people outside of the clergy could understand Latin. So, to put something in “laymen’s terms” was to start by speaking in the layman’s native tongue so they could understand and make religion more accessible to them.

Low hanging fruits

Targets or goals which are easily achievable and which do not require a lot of effort. [reference]

Metaphor based on the fruits that are so low you can grab with ease.

Warning: They usually take more effort than you expect.

Murphy’s Law

Anything that can go wrong, will go wrong. [reference]

According to the book A History of Murphy’s Law, the law’s name supposedly stems from an attempt to use new measurement devices developed by the Edward Murphy. The phrase was coined in adverse reaction to something Murphy said when his devices failed to perform.

Play it by ear

rather than sticking to a defined plan, you will see how things go and decide on a course of action as you go along. [reference]

This saying has its origins in music, as “playing something by ear” means to play music without reference to the notes on a page.

Problem Exists Between Keyboard And Chair

A problem is caused entirely by the fault of the user [reference]

Some variations of it

  • PEBKAC (an acronym for “Problem Exists Between Keyboard And Chair”),
  • POBCAK (U.S. government/military acronym for “Problem Occurs Between Chair And Keyboard”),
  • PICNIC (“Problem in Chair; Not in Computer”)
  • ID-10-T error — when spelled out it becomes “IDIOT”. It is also known as a “Ten-T error” or “ID:10T error”.

Red herring

A red herring is something that misleads or distracts from a relevant or important issue. [reference]

This originates from a method of training horses by dragging the carcass of a cat or fox so that the horse would be accustomed to following the chaos of a hunting party. If a dead animal is not available, a red herring would do as a substitute.

Commonly used to describe error messages found during debugging that are not related to the real issue.

Reinvent the wheel

Waste a great deal of time or effort in creating something that already exists. [reference]

Because the wheel has already been invented since ancient age and does not have any operational flaws, an attempt to reinvent it would be pointless and waste of time.

Still, people do this quite often.

Ring a bell

to remember something or for it to seem familiar [reference]

One theory refers to Pavlov’s experiments with dogs, where he used a bell to invoke memories. When the dogs were served food, a bell was rung. Over time, the dogs started associating the sound of the bell with food and would start drooling when the bell was rung, even if the food was not given.

Another theory suggests that bells have been used to remind or instruct us to do something since a long time. School bells, dinner bells, bells of an alarm clock, all serve to remind us that it is time to do something. Early recordings of this phrase have been found since the mid 1900s.

Rocket science

Term used to describe anything considered overly complex [reference]

Because aerospace engineering sounds really really complex.

However, when somebody says it’s not gonna be rocket science, it usually turns out to be.

Shit happens

When something happens that is out of one’s control and usually results in a negative situations. [reference]

After the server suddenly crashed during a demo to the entire company, your friend said to you, “Don’t feel bad about it man, shit happens!”

Show [someone] the ropes

to explain to them how something is done. [reference]

This phrase has its origins in the golden age of sailing, when understanding how to handle the ropes necessary to operate a ship and its sails was an essential maritime skill.

Technical debt

The accumulated negative technical results of shortcuts and trade-offs taken in the past on a project. [reference]

Technical debt can be compared to monetary debt. If technical debt is not repaid, it can accumulate ‘interest’, making it harder to implement changes later on and place a drag on the cost of current and future development on the project.

The whole enchilada

the whole situation, the whole picture, the whole plan, all of it [reference]

It comes from the Mexican dish “enchilada”, but why “the whole enchilada” is a bit of a mystery.

Yak shaving

Yak Shaving is the last step of a series of steps that occurs when you find something you need to do. [reference]

“I want to eat steak today.” “Hmm, but I need to go to supermarket to buy meat.” “I probably will buy a lot of stuffs, so I better get a car.” “I don’t have car, so I should borrow my roommate’s car.” “However, he is still mad at me for making a mess in the kitchen yesterday, so I’d better clean that first.” “But to clean that, I need …”

These two are not really idioms, but used just too often.

Proof of concept

Evidence, typically derived from an experiment or pilot project, which demonstrates that a design concept, business proposal, etc., is feasible. [reference]

A hacked-together demo, which show that the idea works.

Minimum Viable Product (MVP)

A product with just enough features to gather validated learning about the product and its continued development. [reference]

This term is said often enough to be used as a drinking game.

There are probably many other terms I have missed. Feel free to suggest in the responses.

Topics of interest

More Related Stories