Blog

The Secret Language of Developers: A Guide to Programmer Slang

May 1, 2025
 • 
3
Claire Sweeney
Share this article

In a fun twist on the game Rock Band or Race Horse, Atlassian celebrated their partnership with Williams Racing, Atlassian posted a video of posted a video of Ausie Slang or Software Slang. It got us thinking about some of the odd things programmers say.  Here’s some of our favorite software developer slang:

1. Rubber Duck Debugging

Ever find yourself talking to an inanimate object while coding? Rubber duck debugging (rubber ducking) is the practice of explaining your code, line by line, to a rubber duck (or any other object) to identify problems. This technique forces programmers to slow down and rethink their logic, often leading to revelations about what's wrong with their code. Still stuck? Try using a teammate as your rubber duck.

2. Spaghetti Code

Spaghetti code refers to code that is so messy and tangled that it’s nearly impossible to follow. It lacks proper structure and often results from rushed development or inexperienced coding. Just like a plate of spaghetti, this type of code has strands going everywhere, making debugging a nightmare (When you touch the code you end up with pasta mess all over your face!).

3. Code Smell

A code smell is a sign that something in the code isn't quite right. It doesn't necessarily mean the code is broken, but it often indicates deeper issues like poor design choices or bad coding practices that could lead to problems in the future.

4. Technical Debt

Technical debt occurs when developers take shortcuts in coding to meet deadlines, knowing that these shortcuts will need to be fixed later. Like financial debt, technical debt accumulates over time, and if not addressed, it can make future development more difficult and costly.

5. Bus Factor

The bus factor measures how many team members need to be "hit by a bus" before a project is completely unmanageable. A low bus factor means that only a few people understand the project, making it highly vulnerable if those individuals leave.

6. Refactoring

Refactoring is the process of improving the structure of existing code without changing its functionality. It helps make the code cleaner, more efficient, and easier to maintain.

7. Boilerplate Code

Boilerplate code refers to repetitive, standardized code that is required in many places but does not contribute to the unique logic of a program. Developers often use templates or frameworks to avoid rewriting boilerplate code.

8. Dogfooding

Dogfooding (or "eating your own dog food") means using your own product internally to test and improve it. It’s a way for companies to experience their software from a user’s perspective.

9. Happy Path

The happy path refers to the ideal scenario where everything works perfectly and no errors occur. However, real-world software development requires considering edge cases and failure scenarios as well.

10. PEBKAC (Problem Exists Between Keyboard and Chair)

PEBKAC is a humorous term used by IT professionals to indicate that an issue is caused by user error rather than the system itself. If your team uses this term frequently, it may indicate that your software’s UI needs to be more intuitive or better documented.