Jargon busting

Jargon plagues most industries. Software development is no different. Here are some of my favourites.

In our industry there’s a shitload of jargon. There are terms for how people behave, how they think, how the world works and even for quirky software development practices. It is easy to forget them, so I thought I would record the most useful (to me) here.

This post is mostly for my benefit; most of the content comes straight from Wikipedia.

Parkinson’s Law of Triviality (Bike-shedding)

Parkinson’s law of triviality is C. Northcote Parkinson’s 1957 argument that members of an organisation give disproportionate weight to trivial issues. Parkinson provides the example of a fictional committee whose job was to approve the plans for a nuclear power plant spending the majority of its time on discussions about relatively minor but easy-to-grasp issues, such as what materials to use for the staff bike shed, while neglecting the proposed design of the plant itself, which is far more important and a far more difficult and complex task.

Wikipedia Link

Moore’s Law

Moore’s lawis the observation that the number of transistors in a dense integrated circuit doubles approximately every two years.

Wikipedia link

Imposter syndrome

Impostor syndrome is a concept describing individuals who are marked by an inability to internalise their accomplishments and have a persistent fear of being exposed as a “fraud”.

Wikipedia link

Dunning-Kruger effect

TheDunning–Kruger effect is a cognitive bias wherein people of low ability suffer from illusory superiority, mistakenly assessing their cognitive ability as greater than it is.

Wikipedia link

Hofstadter’s Law

The “law” is a statement regarding the difficulty of accurately estimating the time it will take to complete tasks of substantial complexity. [2] It is often cited by programmers, especially in discussions of techniques to improve productivity, such as The Mythical Man-Month or extreme programming. [3] The recursive nature of the law is a reflection of the widely experienced difficulty of estimating complex tasks despite all best efforts, including knowing that the task is complex.

Wikipedia link

Brook’s Law

Brooks’ law is an observation about software project management according to which “adding human resources to a late software project makes it later”

Wikipedia link

Paradox of choice

The Paradox of Choice - Why More Is Less is a 2004 book by American psychologist Barry Schwartz. In the book, Schwartz argues that eliminating consumer choices can greatly reduce anxiety for shoppers.

Wikipedia link

Analysis Paralysis

Analysis paralysis or paralysis by analysis is the state of over-analysing (or over-thinking) a situation so that a decision or action is never taken, in effect paralysing the outcome.

Wikipedia link

Peter Principle

It states that the selection of a candidate for a position is based on the candidate’s performance in their current role, rather than on abilities relevant to the intended role. Thus, employees only stop being promoted once they can no longer perform effectively, and “managers rise to the level of their incompetence”.

Wikipedia link

List of cognitive biases

Cognitive biases are systematic patterns of deviation from norm or rationality in judgment, and are often studied in psychology and behavioral economics. This is Wikipedia’s full list of them.

Heuristic

A heuristic technique, often called simply a heuristic, is any approach to problem solving, learning, or discovery that employs a practical method not guaranteed to be optimal or perfect, but sufficient for the immediate goals. Where finding an optimal solution is impossible or impractical, heuristic methods can be used to speed up the process of finding a satisfactory solution. Heuristics can be mental shortcuts that ease the cognitive load of making a decision. Examples of this method include using a rule of thumb, an educated guess, an intuitive judgment, guesstimate, stereotyping, profiling, or common sense.

Wikipedia link

Cognitive load

Cognitive load refers to the total amount of mental effort being used in the working memory.

Wikipedia link

Sturgeon’s law

Sturgeon’s revelation (as originally expounded by Theodore Sturgeon), commonly referred to as Sturgeon’s law, is an adage commonly cited as “ninety percent of everything is crap”. It is derived from quotations by Sturgeon, an American science fiction author and critic; while Sturgeon coined another adage that he termed “Sturgeon’s law”, it is the “ninety percent crap” remark that is usually referred to by that term.

Wikipedia link

Rule of least power

In programming, the rule of least power is a design principle that “suggests choosing the least powerful computer language suitable for a given purpose”.

Wikipedia link

Heisenbug

In computer programming jargon, a heisenbug is a software bug that seems to disappear or alter its behaviour when one attempts to study it. [1] The term is a pun on the name of Werner Heisenberg, the physicist who first asserted the observer effect of quantum mechanics, which states that the act of observing a system inevitably alters its state.

Wikipedia link

Rubber ducking

In software engineering, rubber duck debugging or rubber ducking is a method of debugging code. The name is a reference to a story in the book The Pragmatic Programmer in which a programmer would carry around a rubber duck and debug their code by forcing themselves to explain it, line-by-line, to the duck.

Wikipedia link

Fingerprinting

Device fingerprinting, machine fingerprinting, or browser fingerprinting is the act of inspecting browser behaviours and features in an attempt to differentiate and track individual users. Fingerprints can be used to fully or partially identify individual users or devices even when persistent cookies (and also zombie cookies) can’t be read or stored in the browser, the client IP address is hidden, and even if one switches to another browser on the same device.

Wikipedia linkBrave browser’s fingerprint protection mode docs

Doxxing

Doxxing is the Internet-based practice of researching and broadcasting private or identifiable information (especially personally identifiable information) about an individual or organization.

Wikipedia link

Phishing

Phishing is the fraudulent attempt to obtain sensitive information such as usernames, passwords, and credit card details (and money), often for malicious reasons, by disguising as a trustworthy entity in an electronic communication.

Wikipedia link

Voice phishing

Voice phishing, or vishing,[1] is the use of telephony (often Voice over IP telephony) to conduct phishing attacks.

Landline telephone services have traditionally been trustworthy; terminated in physical locations known to the telephone company, and associated with a bill-payer. Now however, vishing fraudsters often use modern Voice over IP (VoIP) features such as caller ID spoofing and automated systems (IVR) to impede detection by law enforcement agencies. Voice phishing is typically used to steal credit card numbers or other information used in identity theft schemes from individuals.

Wikipedia link

Birthday problem

In probability theory, the birthday problem or birthday paradox concerns the probability that, in a set of n randomly chosen people, some pair of them will have the same birthday. By the pigeonhole principle, the probability reaches 100% when the number of people reaches 367 (since there are only 366 possible birthdays, including February 29). However, 99.9% probability is reached with just 70 people, and 50% probability with 23 people. These conclusions are based on the assumption that each day of the year (excluding February 29) is equally probable for a birthday.

Actual birth records show that different numbers of people are born on different days. In this case, it can be shown that the number of people required to reach the 50% threshold is 23 or fewer. For example, if half the people were born on one day and the other half on another day, then any two people would have a 50% chance of sharing a birthday.

Wikipedia link