Tuesday, August 11, 2026

The Secret Language of Programmers: A Glossary of Code Slang

 

Programmer Slang: A Categorized Glossary

Implementation Style

Term

Meaning

hand-rolled

Built from scratch instead of using an existing library/framework

roll your own (RYO)

Same idea — DIY instead of reusing existing code

vanilla

Plain, unmodified (e.g. "vanilla JS")

bare metal

Running directly on hardware, no OS/abstraction layer

from scratch

Built without reusing existing code

duct tape / bandaid fix

A quick, ugly, temporary fix

hack

An inelegant but functional solution

State & Tracking

Term

Meaning

dirty tracking

Marking data as modified so a system knows what needs re-saving or re-syncing, instead of redoing everything

stale data

Cached data that's out of date

race condition

A bug caused by timing-dependent execution order

poison pill

A special message/value used to signal "stop" to a consumer

heisenbug

A bug that disappears or changes behavior when you try to observe it

bit rot

Code that degrades in usefulness simply because the world around it changed

zombie process

A finished process still lingering in the process table

Debugging & Investigation

Term

Meaning

smoking gun

Definitive evidence pinpointing the exact cause of a bug

root cause

The actual underlying source of a bug, as opposed to a symptom

red herring

A misleading clue while debugging

breadcrumbs

Logging or trail left behind to trace what happened

rubber duck debugging

Explaining code line-by-line to something (or someone) to find the bug yourself

war room

Emergency incident response meeting

canary

Something deployed early or small to catch problems before wider rollout

Code Quality & Architecture

Term

Meaning

spaghetti code

Tangled, hard-to-follow logic

boilerplate

Repetitive code you have to write every time

magic number/string

An unexplained literal value buried in code

god object/class

One class that does far too much

shim

A small compatibility layer bridging two incompatible interfaces

glue code

Code that just connects other pieces together, with no real logic of its own

lava flow

Old, confusing code nobody understands or dares remove

footgun

A feature that makes it easy to shoot yourself in the foot

Team & Process

Term

Meaning

yak shaving

Doing a seemingly pointless task that's secretly a prerequisite for what you actually wanted to do

bikeshedding

Arguing over trivial details while ignoring the real issue

cargo culting

Copying practices or code without understanding why they work

tribal knowledge

Undocumented knowledge that only exists in people's heads

bus factor

How many people would need to disappear before a project is in serious trouble

works on my machine

The classic excuse when a bug can't be reproduced elsewhere

dogfooding

Using your own product internally before shipping it

Git-Specific

Term

Meaning

cherry-pick

Apply a specific commit from one branch onto another

bisect

Binary-search through commit history to find which commit introduced a bug

rebase hell

Painful, conflict-heavy history rewriting

squash

Combine multiple commits into one

force push

Overwrite remote history — dangerous, can erase others' work

detached HEAD

Checked out a commit instead of a branch; easy to lose work

Concurrency

Term

Meaning

deadlock

Two or more processes stuck waiting on each other forever

livelock

Processes keep changing state in response to each other but make no real progress

starvation

A process never gets the resources it needs because others keep hogging them

thundering herd

Many processes/threads all waking up and hitting a resource at once

priority inversion

A low-priority task ends up blocking a high-priority one

Performance

Term

Meaning

memory leak

Memory that's allocated but never freed

thrashing

A system spends more time managing resources than doing real work

hot path

The most frequently executed code path — worth optimizing

cold start

The slow first run of something, e.g. a serverless function warming up

N+1 problem

A single query accidentally becomes N+1 queries in a loop

Networking

Term

Meaning

handshake

Initial exchange to establish a connection

keep-alive

Mechanism to prevent a connection from closing due to inactivity

man-in-the-middle

An attacker secretly intercepting communication between two parties

jitter

Variation in latency over time

split brain

A distributed system's nodes disagree on state after a network partition

Testing & QA

Term

Meaning

flaky test

A test that passes or fails inconsistently with no code changes

happy path

The main, no-errors-expected flow through code

edge case

An input or scenario at the extreme boundary of what's expected

smoke test

A quick, shallow test to confirm nothing's catastrophically broken

regression

A bug that reintroduces a previously fixed issue

Compiler & Low-Level

Term

Meaning

undefined behavior (UB)

Code whose behavior isn't defined by the language spec — anything can happen

dead code elimination

Compiler optimization that strips out unreachable code

padding

Extra bytes inserted, e.g. in structs, for memory alignment

register spilling

When there aren't enough CPU registers, values get pushed to memory

canary value

A known value placed in memory to detect stack buffer overflows

 

No comments:

Post a Comment