Skip to content

Instantly share code, notes, and snippets.

@arun0009
Last active December 16, 2025 06:44
Show Gist options
  • Select an option

  • Save arun0009/9d3af19e4ef64dad955c2b51c40a605b to your computer and use it in GitHub Desktop.

Select an option

Save arun0009/9d3af19e4ef64dad955c2b51c40a605b to your computer and use it in GitHub Desktop.

This is a classic "Engineering vs. Product" communication gap. Your definitions are technically accurate, but Product Managers (PMs) don't care about how it works (e.g., "workers listening for events"); they care about business outcomes (Speed, Reliability, Consistency, and Cost/Maintenance).

To sell this, you need to pivot from "Here is the architecture" to "Here is how this solves our biggest user complaints."

Here is how to reframe your 7 patterns into a "Product Pitch," followed by a strategy to explain the service consolidation (46 → 15).

Part 1: Translating Tech Patterns to Product Value

Instead of listing technical implementation details, use a "Problem/Solution" format.

Your Technical Pattern Product/Business Name The Pitch to Product (The "Why")
1. Durable Workflows "Invincible Processes" Problem: If a server blips during a long import, the user has to start over. Solution: Temporal effectively "checkpoints" progress. If the system crashes, it wakes up and resumes exactly where it stopped. No more "stuck" assets or lost data.
2. Signals "Real-Time Reactivity" Problem: We have to run heavy batch jobs just to see if a status changed. Solution: The system reacts instantly to inputs. When a Team updates membership, the Asset knows immediately. No waiting for a nightly sync job.
3. Queries "Total Visibility" Problem: "Why is my asset pending?" Support takes hours to debug DB logs. Solution: We can ask the workflow live: "Where are you?" It tells us exactly: "Waiting for Bob's approval." This powers a transparent progress bar for users.
4. Choreography "Automated Coordination" Problem: Updating an asset requires 5 different services to talk perfectly. If one fails, data gets out of sync. Solution: Temporal acts as the Conductor. It guarantees that if Service A runs, Service B and Service C will happen. No more data discrepancies between RBAC and Search.
5. Human-in-the-Loop "Seamless Approvals" Problem: Approvals are disconnected from the code. Things get lost in email/Slack. Solution: The system natively understands "Waiting for Human." It pauses the code (for days or weeks) and resumes the millisecond the manager clicks "Approve."
6. Streams / Outbox "Zero-Latency UI" Problem: The UI spins while we save to Analytics/Search/Kafka. Solution: We confirm the "Save" to the user instantly. Temporal guarantees the background tasks (Analytics/Search) happen eventually. Users get speed; we get data integrity.
7. Saga / Compensation "Automatic Undo Button" Problem: Partial failures leave "Zombie data" (e.g., Asset exists but has no permissions). Solution: If step 4 of 5 fails, Temporal automatically runs a "Cleanup" script to undo steps 1-3. The system is always clean.

Part 2: The "Service consolidation" Pitch (46 -> 15)

This is the hardest part for Product to visualize. You need to explain why you have 46 services now and why Temporal removes the need for them.

The Narrative:

"Right now, about 30 of our services exist just to 'babysit' other services. We have 'poller' services, 'sync' services, and 'cron' services that just check if data moved from A to B."

The Temporal Shift:

"Temporal replaces the 'babysitters' with a central brain."

  1. Kill the Poller Services: instead of a microservice that runs every minute to check IF status == 'ready', the Temporal workflow just sleeps until a Signal wakes it up. (Saves compute & complexity).
  2. Kill the Cron Services: Temporal has built-in timers.1 You don't need a separate "Daily Batch Service." The workflow for an asset just says workflow.sleep(24 hours).
  3. Kill the Repair Services: Because of the Saga pattern (The "Undo Button"), we don't need complex scripts to fix bad data. The data never gets bad in the first place.

Part 3: The "General Contractor" Analogy (The Closer)

If they still don't get it, use this analogy. It usually clicks for management:

"Imagine building a house (An Asset Lifecycle).

Current State (46 Services): We have an electrician, a plumber, and a framer. But we have no General Contractor. The plumber has to call the electrician to ask if they are done. Sometimes the plumber forgets to call, so the house sits there unfinished. We built 20 extra robots (services) just to drive between the sites and check if the plumber is done.

Future State with Temporal: Temporal is the General Contractor. It holds the clipboard. It tells the plumber when to start. If the electrician is late, the Contractor knows and reschedules. We can fire the 20 robots driving around checking status, because the Contractor already knows the status of everything."

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment