Skip to content
C.W.K.
Stream
Lesson 04 of 05 · published

The Queue Was Already There

~11 min · queues, reuse, workflow, existing-mechanisms

Level 0Cold Workshop
0 XP0/35 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete

The Design Question Everyone Answers Too Fast

A production queue is needed. Where does it live? The reflex answers are a new table, a new column on an existing table, a folder that jobs get dropped into, a proper message broker. All of them are real options and each one is somebody's default.

The chosen answer was none of those: the queue is a message thread in a system that already existed and was already being read. Not a new mechanism at all. The reasoning was ranked, and the top reason is the one worth internalizing — the handoff already exists. A working session already begins by reading its inbox as a standing habit. Every other option would have built a second delivery mechanism next to a working one, and then both would need to be watched.

The Rest of the Ledger

Once the primary reason is settled, the supporting ones stack up quickly. The thread becomes the production trail, so the discussion, the verdicts, and the outcome accumulate in one place rather than being scattered across a queue row and a chat log and a commit message. Closing the request is what shipping means, which gives the work a crisp terminal event. There is zero schema change. And the queue view already exists in two places, so nobody has to build a screen to see what is pending.

There was also a disqualifying reason on the rejected side, and it is a good example of how existing weaknesses should inform new design: the other leading candidate was a file-based store that was known to be lockless and non-atomic. That is survivable for the things already in it, and it is not where you put a production queue. Knowing which of your existing components are fragile is what lets you route new load away from them.

Notice that this reasoning is entirely about the organization around the code rather than the code itself. Every candidate would have worked technically. What separated them was which one a person would actually look at, which one already had a place for an argument to happen, and which one was known to be shaky. Those are the criteria that decide whether a process survives contact with a busy week, and they are almost never in the technical comparison.

Prefer the mechanism people already read. A queue nobody checks is worse than no queue, because it creates the impression that the work is tracked. When the delivery channel is something a person opens anyway, the reliability of the process stops depending on remembering to look somewhere new.

Code

The options, and why the winner wins·text
candidate            new code   new UI   already read   trail?
-------------------  --------   ------   ------------   ------
new DB table          yes        yes         no          no
column on existing    small      yes         no          no
folder of job files   yes        yes         no          no
message broker        yes        yes         no          no
EXISTING THREAD       none       none        YES         YES

# The last column is the sleeper. A queue row records that work
# was requested. A thread records the whole argument about it -
# why it was flagged, what was rejected, what shipped.
One request, its whole life·text
[open]    pipeline + pointer + "why this one is worth filming"
            │
            ├─ a session picks it up from the inbox
            ├─ the script goes on the thread; the human gates it
            ├─ summary verdicts from the run get posted back
            │
[closed]  render path recorded; the series index gains its line

# There is no separate status field anywhere.
# open/closed IS the status, and the narrative is the record.

External links

Exercise

List every surface you personally have to check to know what work is waiting for you — issue tracker, inbox, chat channels, dashboards, a text file. Count them. Then take the most recently added one and ask what it would have cost to express that work in a surface that already existed. Some will genuinely need to be separate; the exercise is finding the one that did not.
Hint
The candidates are surfaces you created for a specific category of work and now check out of obligation rather than usefulness. If you have ever had to be reminded to look at it, it is not the delivery mechanism you think it is.

Progress

Progress is local-only — sign in to sync across devices.
Spotted a bug or have feedback on this page?Report an Issue

Comments 0

🔔 Reply notifications (sign in)
Sign inPlease sign in to comment.

No comments yet — be the first.