The Computing Series

The Concept

A job has three components: a functional dimension (the practical outcome the user wants), an emotional dimension (how the user wants to feel while accomplishing it), and a social dimension (how the user wants to be perceived). Most engineering teams think only about the functional dimension. The other two are real, measurable, and architecturally consequential.

Consider a writing assistant. The functional job is “help me produce text faster.” The emotional job is “help me feel like a competent writer rather than a person struggling with a blank page.” The social job is “help me produce work that others will respect.” These three jobs lead to different architectural requirements. The functional job demands low latency. The emotional job demands graceful handling of partial or incomplete input — a system that refuses to engage until the user provides a complete, well-formed prompt fails the emotional job even if it succeeds at the functional one. The social job demands quality over speed: a fast answer that is incorrect or incoherent fails the social dimension even if it satisfies the latency SLO.

The architecture that optimises for the functional job alone will miss the other two.


Read in the book →