<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/programming-terms-every-dev-should-know-sbt4kr9kx" -->

---
title: Programming Terms EVERY DEV Should Know | daily.dev
description: A rundown of common programming jargon explained through plain-language definitions and examples: code smell, spaghetti code, magic numbers, boilerplate,...
canonical: https://daily.dev/posts/programming-terms-every-dev-should-know-sbt4kr9kx
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Programming Terms EVERY DEV Should Know | daily.dev
og:description: A rundown of common programming jargon explained through plain-language definitions and examples: code smell, spaghetti code, magic numbers, boilerplate,...
og:url: https://daily.dev/posts/programming-terms-every-dev-should-know-sbt4kr9kx
og:image: https://api.daily.dev/og/posts/SBT4kR9Kx.png
og:image:alt: Programming Terms EVERY DEV Should Know
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Programming Terms EVERY DEV Should Know

**[CodeHead](https://daily.dev/sources/codehead)** · 5 min read · 1 upvotes · 0 comments

## Summary

A rundown of common programming jargon explained through plain-language definitions and examples: code smell, spaghetti code, magic numbers, boilerplate, technical debt, scope creep, greenfield vs brownfield projects, deprecated code, zombie processes, Heisenbugs, foot guns, stack overflow, and dogfooding. The video closes with a sponsored pitch for Coursera courses on Rust and open source development.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.youtube.com/watch?v=kHtuKT3XdEI>

## Questions this post answers

### What is a code smell in programming?

A code smell is a sign that code has an underlying design problem even though it still runs correctly without bugs. It's the gut instinct that something is off, such as a single function handling five unrelated responsibilities at once, making future changes to one part likely to silently break the others.

_daily.dev helps developers keep learning the vocabulary behind everyday code review feedback._

### What does dogfooding mean in software development?

Dogfooding means a team uses its own product internally every day before releasing it to customers. This lets the team encounter bugs, foot guns, and rough edges themselves first, rather than having users discover problems in production, and is common among teams that manage to avoid major operational chaos.

_Teams evaluating internal testing practices can track how others describe dogfooding on daily.dev._

### What is a Heisenbug and why is it hard to fix?

A Heisenbug is a software bug that disappears or changes behavior when you try to observe or debug it, such as vanishing the moment you add a print statement to catch it. It is named after physicist Werner Heisenberg because, like the observer effect in physics, the act of investigating the bug alters it.

_Debugging elusive issues gets easier when developers share war stories like this on daily.dev._

## Similar posts on daily.dev

- [Seven coding domains no developer really understands](https://daily.dev/posts/seven-coding-domains-no-developer-really-understands-2fiyg4g3e) · InfoWorld · 96 upvotes · 6 comments
- [Most of you calling yourselves “senior developers” are actually just professional litterers](https://daily.dev/posts/most-of-you-calling-yourselves-senior-developers-are-actually-just-professional-litterers-4qqappjr4) · Medium · 0 upvotes · 0 comments

---

Tags: [#technical-debt](https://daily.dev/tags/technical-debt)

[View this post on daily.dev](https://daily.dev/posts/programming-terms-every-dev-should-know-sbt4kr9kx)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Programming Terms EVERY DEV Should Know","url":"https://daily.dev/posts/programming-terms-every-dev-should-know-sbt4kr9kx","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/programming-terms-every-dev-should-know-sbt4kr9kx"},"datePublished":"2026-08-17T15:16:16.686Z","dateModified":"2026-09-14T08:36:51.078Z","description":"A rundown of common programming jargon explained through plain-language definitions and examples: code smell, spaghetti code, magic numbers, boilerplate,...","image":"https://i.ytimg.com/vi/kHtuKT3XdEI/sddefault.jpg","thumbnailUrl":"https://i.ytimg.com/vi/kHtuKT3XdEI/sddefault.jpg","isAccessibleForFree":true,"articleSection":"CodeHead","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"CodeHead","logo":"https://media.daily.dev/image/upload/s--ywzrIEkA--/f_auto/v1745508579/logos/codehead","url":"https://daily.dev/sources/codehead"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/programming-terms-every-dev-should-know-sbt4kr9kx","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"technical-debt","timeRequired":"PT5M","video":{"@type":"VideoObject","name":"Programming Terms EVERY DEV Should Know","description":"A rundown of common programming jargon explained through plain-language definitions and examples: code smell, spaghetti code, magic numbers, boilerplate,...","thumbnailUrl":"https://i.ytimg.com/vi/kHtuKT3XdEI/sddefault.jpg","uploadDate":"2026-08-17T15:16:16.686Z","duration":"PT5M","url":"https://api.daily.dev/r/SBT4kR9Kx","embedUrl":"https://www.youtube.com/embed/kHtuKT3XdEI"}}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"CodeHead","item":"https://daily.dev/sources/codehead"},{"@type":"ListItem","position":3,"name":"Programming Terms EVERY DEV Should Know"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/programming-terms-every-dev-should-know-sbt4kr9kx#faq","mainEntity":[{"@type":"Question","name":"What is a code smell in programming?","acceptedAnswer":{"@type":"Answer","text":"A code smell is a sign that code has an underlying design problem even though it still runs correctly without bugs. It's the gut instinct that something is off, such as a single function handling five unrelated responsibilities at once, making future changes to one part likely to silently break the others. daily.dev helps developers keep learning the vocabulary behind everyday code review feedback."}},{"@type":"Question","name":"What does dogfooding mean in software development?","acceptedAnswer":{"@type":"Answer","text":"Dogfooding means a team uses its own product internally every day before releasing it to customers. This lets the team encounter bugs, foot guns, and rough edges themselves first, rather than having users discover problems in production, and is common among teams that manage to avoid major operational chaos. Teams evaluating internal testing practices can track how others describe dogfooding on daily.dev."}},{"@type":"Question","name":"What is a Heisenbug and why is it hard to fix?","acceptedAnswer":{"@type":"Answer","text":"A Heisenbug is a software bug that disappears or changes behavior when you try to observe or debug it, such as vanishing the moment you add a print statement to catch it. It is named after physicist Werner Heisenberg because, like the observer effect in physics, the act of investigating the bug alters it. Debugging elusive issues gets easier when developers share war stories like this on daily.dev."}}]}
```

