“The most valuable asset in the software industry is the synthesis of programming skill and deep context in the business problem domain, in one skull.”


It means that programming skill in the absence of business domain knowledge is becoming increasingly worthless.

Said another way, there are an ever decreasing number of software problems that are so cut and dried that they can be tossed over a wall and implemented in isolation of business expertise.

[…] The higher you move up the value chain in terms of your business offering, the more that the variations inherent in the business problems and technology constraints become wickedly complex.


Deep context is the state of having achieved a kind of mental fluency in some large percentage of this immense field of micro-problems that appears in the space between technology and a business domain. It doesn’t mean that you’ve driven the uncertainty in a software project down to zero (once again, not possible), but it means that you’ve travelled the territory often enough that you’ve got a handle on the major geographical features. Every new software project requires forging a new path through the wilderness, but having deep context means that you know where the treacherous canyons and fast-flowing rivers are. You can anticipate the biggest risks, and you have a grasp on the scale of the risks you’re taking. You know how much you know, and how much you don’t know about the journey ahead.


To give you an example, one developer I know who has attained deep context has been working in the space of warehouses and fulfillment technologies for 10 years. He knows that you can’t ship a lawnmower via airfreight because it contains a battery for the starter motor (and airfreight policy disallows this). He knows that capacity planning is more predictable for Black Friday than it is for Christmas because buying patterns are heavily impacted by day- of-the-week, and Christmas falls on a different day of the week each year, while Black Friday is always on a Friday. He knows hundreds of thousands of other facts like these, each of which constitutes a micro-problem whose solution was hard-won. It was learned out in the field, by releasing software and watching it perform optimally or suboptimally, over and over again.

~ Jesse Watson