Building Fast and Slow

Product - An Instinctive understanding of the mechanics

April 23, 2023

In a Q&A after a surf competition, a surfer was asked how she would pick a new surfboard. She said for her, it was all about how it feels under your arm. Have one look at videos of surfers picking out new boards - they all do this. They place the board directly under their arm, walk with it a bit, get a feel for the weight, wrap their fingers around the rail (the edge) of the board. Only after that do they start examining it up close to get a read for how they curve and angle. When they find one that they feel will be good for them, they get their dimensions made and take it out for a surf.

This feeling is key to a yearly staple internet series in surfing called Stab In The Dark. In SITD, pro surfers are given a batch of unidentified surfboards and they need to pick the best out of the bunch.

It’s pretty impressive, even when you are a surfer yourself, to watch pros be given a batch of seemingly identical surfboards and, through simple heuristics, immediately get a pretty good idea for who the shaper of the board was. The curvature, the dimensions, the weight, the shape - they all amount to a signature of a shaper. Surfers will have a few moments on land with a board and sense how it’ll feel once they’re out in the water, board under your feet, dealing with the ocean.

In fact, a lot of action sports are about building up your instincts and your muscle memory to a place where, even when you’re putting yourself in high risk conditions, you will respond with the right solution to the problem you’re faced with.

Accidents, injuries and long hold downs are inevitable in surfing if you put yourself out there, but your preparation will be the conditioning factor that will dictate success in challenging circumstances, and sometimes even survival.

This instinctive understanding of the mechanics is a key trait of action sports - but it also underlies most of activities that involve building / tinkering with something in the real-world. Including programming.

Fast feedback loops are part of the commonality here - trying, failing, getting that rush of adrenaline and dopamine when you succeed and an immediate sense or experience of danger and failure when you don’t. You touch, you try, you feel, you observe, you learn.

The problem, of course, is that when you build products for real people, everything starts to escape your own reach real fast. The experiences you build for are those of others, their feedback and your perception of their usage are an approximation of their own experience - the best possible trade-off between known individual experience and a sort of minimum common denominator across various modelled group experiences. Product folks use this aggregate data to model the world, and the ways in which we slice it come from a subjective experiential lens. It’s a lossy experience, like a low fidelity codec of the real world - we accept that knowledge work relies on lagging feedback with imperfect and uninstinctive response mechanisms.

When you start removing yourself from the building process and abstracting it into models of reality, which to an extent you will always have to if you want to solve really complex problems, you have to start coming up with shortcuts to identify your world-changing levers.

Some companies use data as that shortcut, that crutch - we see metric X moving in a certain direction, and that means Y, so we’ll do Z. A great many deal of technology companies use OKRs, North Stars, and other frameworks to proxy the world with data points. Inevitably that helps set a direction, identify a measure of progress, and then set sail. This of course, is a planning abstraction, more akin to the drawing up the Maritime Discoveries on an incomplete map than to the act of sensing we were just describing earlier (making assumptions about which way India is). Your new world is removed from where you are today, so you rely on a belief, an assumption, and you set your direction based on that assumption - as long as you say 27 degrees southwest, you’ll eventually reach the promised land. From here to there lies the real world experience.

Naturally, all modelling abstractions require a meta layer of assumptions - see the spherical cow problem. The goal is to not to let the gap between them and reality kill you in the process of living. Both in startup life and in the late middle ages.

I’d expect if Columbus or da Gama lived in the Age of the Internet they would have written best seller books riddled with survivorship bias. We can now ask Chat GPT to write a few chapters of those books for us.

That’s not to say usage data can’t be the clay from which we shape our models of reality. After setting sail, we have to use a mix of data and other sensing to gauge progress, observe our surroundings and orient our stead.

The coldness of the air, the temperament of the wind, the direction of the shade, the roughness of the sea. They’ll serve as your scales for risk. But your North Star will still be your North Star, even if you don’t know precisely where you are or where you’re meant to be going. There’s a leap of faith assumption in there already, that the promised land is east, past the cape of torments.

In all of these cases, the difference between life and death is often that instinctive understanding of the mechanics. It’s interpreting and acting in measured, non-catastrophic local ways, ensuring you live to tell the tale of the journey. It’s made up of lots of good decisions, a few great ones, zero terrible ones, and a healthy amount of luck.

In surfing, in sailing, in the art of motorcycle maintenance, or in product building: how do you develop that sharp sense that cuts through the fog of doubt? How do you survive your own bets through a mix of good and great decisions, while making no catastrophic ones.

In commoncog, Cedric Chin goes in depth into tacit knowledge. His series of posts is extraordinary and I highly recommend it.

I will drastically simplify it through a summary of my current understanding of the field, and how it applies to my point about building an instinctive understanding of the mechanics - one you can use every day, for all decisions coming your way, big and small.

The first stage is always the diagnosis of the situation (or situations, plural) and the context it has stemmed from. The key in diagnosis is to be able to accurately establish your circumstances. To do so, you need to be able to foresee immediate causal paths, establish clear connections between those circumstances and their potential consequences. To do that you need a set of “prototypes” - analogous or sufficiently similar knowledge that you can use to establish these causal paths. These prototypes can come to you in a number of ways: lived and sensed experience, theoretical knowledge, cross domain applied metaphors - so exposure to other sources of knowledge and purposeful reflection are tools that enable these capabilities. This is why I often recommend folks read books / listen to podcasts outside their field to improve in it, especially when your field depends on a wide ranging decision-making toolkit that you can apply to a variety of circumstances.

The second is to connect that diagnosis to a goal, or a set of goals, that enable you to succeed and thrive in that context, both in the short and in the long run. Defining those goals will require you to visualize those causal paths in enough detail that you can traverse a realistic path that maximises changes of survival, on the one hand, but also that you’re doing so in a way that optimizes for future upside. An experienced programmer, for example, knows that taking certain shortcuts that solve short-term problems may patch things up for the time being, but will cause further issues down the road - increasing so-called technical debt. They have developed a mental model for a complex logics-based game, where attaining momentary success comes at the potential expense of future outcomes. It may be needed for survival, but you understand that you’re leaving an IOU to yourself that will need to be collected later on. Of course, this instinct also needs to be put in check since it is usually accompanied by a potential for premature optimization, which Don Knuth warned against as the root of all evil.

Finding this straight and narrow path through a complex circumstance only grows more difficult then, as you understand the decisions that you need to take and the risks you need to avoid. To do so successfully, you need to recognize the contextual clues around you and understand which ones to take in and discard, classify and rank them, and establish their likelihood of producing a certain outcome. In highly volatile, complex environment, recognizing these contextual clues, and recalling the most effective ways to address them will rely on carefully attuned domain expertise and well developed problem-solution analogies.

This, finally, opens the path to action, designing a plan, a sequence of experiments that will take you from A->Z (your set of weighed goals). At this point, having correctly acknowledged the context, set goals, and needing to decide on a plan, you need a well connected system to map goals to actions, especially when attempting to sense and predict the results of courses of action where each link may have n-th order consequences - for that you need a kind of kata, a well understood series of steps made up of hypotheses, where you know how one success leads to the next and any failure leads down a recoverable route that still enables your long-term success. Naturally, the certainty one feels in case one has drawn up a well-crafted plan is often very similar to that which arises in case of a disastrous roadmap, so unfortunately these instincts can be as deceiving as a siren’s song, and as enticing and powerful as a tsunami.


Written by Carlos Oliveira , a product person building products with and for other people. Talk to me on twitter