salman asif.
The Kinetic Garden

Find your way.

← ALL WORK / Enterprise

Make the waiting make sense.

Predictable interfaces for long-running scans, cancellation, recovery, and service state.

ROLESoftware Development Engineer → Senior Software Engineer
CONTEXTSecuriti.ai / Veeam
PERIOD2022–present
STATUSProduction
VueVuexGoPythonREST APIs
01 / CONTEXT

The problem underneath.

A long-running operation is more than a spinner. Service responses, permissions, cancellation requests, and stale client state can disagree. People need to know what is happening and what action is safe to take next.

02 / REALITY

What shaped the solution.

  • Asynchronous jobs with independently changing backend state.
  • Multiple integrations and inconsistent service status responses.
  • Existing permissions, filters, pagination, and release constraints.
03 / ENGINEERING JUDGMENT

The important decisions.

01

Give every meaningful state a name.

Loading, partial data, retry, cancellation, failure, and terminal outcomes became explicit states. State normalization gave Vuex a consistent model of service behavior.

02

Trace the whole path.

Production debugging followed browser behavior through Vue/Vuex updates, API payloads, and Go/Python responses. Fixes went into the layer where the failure actually originated.

03

Treat recovery as a product feature.

Permission-denied, empty, partial, and backend-error states were implemented as intentional user experiences instead of being left outside the happy path.

04 / THE CONNECTIONS

A simpler view of the system.

  1. Long-running service
  2. Status normalization
  3. Vuex lifecycle state
  4. Permissions & actions
  5. Recoverable interface

Conceptual flow. Simplified to explain the engineering without exposing internal implementation.

05 / OWNERSHIP

Where I made a difference.

I implemented and debugged discovery status and cancellation, catalog filtering, scope and permissions, export, and related enterprise workflows. I aligned contracts and verified regressions with backend and QA teams.

06 / WHAT CHANGED

The result.

Long-running operations became more understandable and recoverable. Explicit state paths reduced stale and inconsistent behavior across integration screens.

07 / NEXT ITERATION

What I’d explore next.

I would extend deterministic scenario testing around delayed responses, cancellation races, and permission changes during an active job.

A simplified account of publicly shareable engineering work. Internal data and endpoints are omitted.

NEXT SYSTEM

Build & delivery modernization

Make yourself at home

Your kind of garden.

15 ways to make it yours. Your choice stays with you.

Make an entrance

Choose how your next style arrives.

Applied when you choose a style. Instant with Motion off or reduced motion.

Visual style

Choose a look to transform the whole page. This panel closes so you can explore it.

Liquid Glass becomes frosted glass with motion off. Parallax adds depth as you scroll.

Prefer a straight read? Recruiter view
Light color palette

Your light and dark choices are saved separately.

Dark color palette

Your light and dark choices are saved separately.