structuralism

5 min read Original article ↗

The idea of structure, as used in this newsletter, is nothing new. It was first introduced by Ferdinand de Saussure in 1916, in his enormously influential Course in General Linguistics. In it, Saussure describes language as a graph, and words as vertices. Between these vertices, there are negative edges representing difference, and positive edges representing signification and similarity.

To understand a word, then, we must understand the topology that surrounds it. The meaning of each word arises from its relationships. Language is not a mere collection of words, it is a structure; each part is defined by its relation to the whole.

Saussure's approach gave rise to structuralism, a school of thought in which a wide variety of systems — social, narrative, biological, mathematical — were modeled as structures.1 The structuralists were especially interested in paired concepts like masculine/feminine, which were defined through their mutual opposition.

These pairings are typically referred to as binary oppositions, or simply binaries. These binaries, however, aren't Boolean. Both "masculine" and "feminine" are continuums; our language simply places them on opposite ends of the same continuum. The structuralists were interested in the implications of these oppositions — to become less masculine is, necessarily, to become more feminine — and how they shaped our culture.

It's entirely possible to understand structures without studying structuralism. We are, perhaps, uniquely qualified; few disciplines allow a definition as concise as "a graph where vertices are concepts and edges are relationships."

But structures exist in every domain. These structures are opportunities; they allow us to draw parallels between those domains and our own. Whenever we delve into a new topic, we should look for the parts which resonate.

For example, consider this metaphor:

That's a very shallow reading

Here, text is a layered container. The upper layers, the surface, must be peeled away to reveal the lower layers, the substance.

When we say a person is shallow, we mean they never delve into these lower layers. They consume nothing of substance, and therefore have no substance.

A surface, then, is cosmetic; changes to something's surface won't affect its substance. It is a facade, a veil to be lifted. Whenever this isn't the case, it must be called out:

  • Don't read too deeply into that
  • It does what it says on the tin

The shallow-metaphor contains two implicit assumptions: surface and substance are opposites, and shallow/deep is aligned with surface/substance. They are, effectively, the same continuum.

The first assumption is only sometimes true. A good interface, for instance, distills the underlying implementation. The surface reveals the substance.

The second assumption, however, is often a useful heuristic in software. Consider an application, split into the familiar binary of frontend and backend. The application is available on multiple platforms, and thus requires multiple frontends:

A diagram of a system with multiple frontends for a single backend.

As part of the application, these frontends are shaped by that application's sense. They share a common purpose. Their implementations, however, tend to reflect their differences. Parallel implementations are difficult to write, and even harder to maintain; broad similarities tend to hide subtle differences. Unable to live in both, business logic is squeezed into the backend.

And this business logic is, arguably, the substance of the application. As users move between frontends, the backend remains the same. When building a new frontend, we're rarely able to reshape the backend to fit our needs.

None of this applies, however, if there's a single frontend:

A diagram of a system with a single frontend for a backend.

Here, the frontend and backend exist on the same continuum, but we can draw the threshold wherever we like. If our team is full of frontend developers, our frontend will be full of business logic. The surface and substance are intermingled.

And then we come to software without a frontend, which industry luminaries sometimes call deep tech:

A diagram of a user and a backend, with nothing to connect them.

This is meant to mirror the binary of basic and applied research. Basic research delves into the nature of the world; while lacking any immediate applications, it is expected to enable a wide range of applied research in the future. Likewise, deep tech is expected to enable a wide range of future applications.

But where basic research is defined by its proximity to observable phenomena, deep tech is only defined by its distance from the user. Nothing aligns depth with substance. All too often, what someone calls deep tech is just a solution in search of a problem.

Surface is not necessarily opposed to substance. And where it is, surface/substance is not necessarily aligned with shallow/deep. Nevertheless, we often speak and act as if they are.

This is, perhaps, necessary. By placing two concepts at opposite ends of the same continuum, or aligning two continuums with each other, we reduce the world's dimensionality. We make it tractable.

We should, however, be willing to introspect on these reductions. There is, for instance, a convention that surfaces are feminine. Consider our assumptions about a person who buys makeup, or works as a receptionist.

In our industry, this means that early-career women are often pushed towards frontend roles. I've seen this justified as the sort of work they'd be "good at" or "interested in." Our intuition is a reflection of what we choose to align, and how.

When communicating, then, we must be aware of our audience's intuition. To be concise, we must work with that intuition, building atop it. But if we wish to be precise, it's often necessary to break that intuition apart, articulating differences that have long been overlooked.