DEV Community

Cover image for Ever felt like an imposter during meetings?
A. M. Lorion
A. M. Lorion

Posted on

Ever felt like an imposter during meetings?

After 10+ years as a developer, I realized something: We don't struggle
with syntax. We struggle with mental models.

So I started creating one for every concept that confused me:

🕰️ GIT = TIME TRAVEL

  • Commits = snapshots in time
  • Branches = parallel timelines
  • Merge = combining timelines
  • Rebase = rewriting history

Once I saw it this way, commands became obvious:

  • git checkout = travel to a point in time
  • git branch = create a new timeline
  • git merge = bring timelines together

📦 DOCKER = SHIPPING CONTAINERS

  • Standardized (same everywhere)
  • Isolated (doesn't affect neighbors)
  • Portable (move anywhere)

Why containers are lighter than VMs:

  • VM = entire house (full OS, heavy)
  • Container = apartment (shared building infrastructure, light)

📹 KAFKA = DVR RECORDING

  • You can replay messages anytime
  • Not just live streaming
  • Consumer lag = how far behind live you are

vs RabbitMQ = 📬 Mailbox (message disappears after reading)

🌡️ KUBERNETES = THERMOSTAT

  • You set desired temperature (desired state)
  • Thermostat automatically adjusts (auto-scaling)
  • Doesn't matter if AC breaks, thermostat finds another way

🎫 SESSIONS vs JWT

  • Session = Library card (you show it, they look you up in their system)
  • JWT = Festival wristband (contains all info, no lookup needed)

🍽️ BACKEND LAYERS = RESTAURANT

  • Controller = Waiter (takes order, brings food)
  • Service = Chef (prepares the meal)
  • Repository = Pantry (stores ingredients)

🧠 REDIS vs POSTGRESQL🗄️

  • Redis = Your brain (fast, temporary memory)
  • PostgreSQL = Filing cabinet (persistent, organized)

These stick. Commands you forget. Mental models last your entire career.

💬 Curious about those conversations, DM me?

What concept confuses YOU most 👇
Drop it below and I'll try to
find the right mental model for it.

Top comments (0)