# networking

the concept of *networking* gets thrown around a lot. I think the importance of it is often lost in the throw-away phraseology. it is not an accident that this word also applies to other things. namely, collections with many individual parts, put in relation to one another. there are networks of: computers, roads, rivers, ecological interactions, economic flows, family trees, electricity, gene interactions, and the ever-popular social networks.

there’s a core mathematical abstraction underlying all of these things, that being the graph. graphs decompose networks into nodes and edges. nodes are the things in the network, while edges are the connections between those things. this is the very essence of pattern languages, moving between levels of specificity, from specific to general, and then back down from general to specific. all of the aforementioned specific cases of networks share this one general property: they can be modeled as graphs, and any conclusions that are true for graphs are also true (some interpretation may be required) on any of these specific network cases. for instance, there are algorithms for finding the shortest path between two nodes in a network.

shortest path algorithms work whether the nodes represent a road network (in this case intersections are nodes and the roads they connect are the edges), and google maps is using it to find you a route, or whether they represent your linkedin connections and you’re asking what’s the closest connection you have to company xyz.

from the vantage point of graphs, zoomed out to the abstract, zoom back in to the concept of “networking” as it is usually meant in non-technical contexts, connecting with other people. we can use the logic of graphs to give us a sort of physics of networks, that can give us suggestions of how to achieve certain goals.

in graph terminology, a fully connected set of nodes, that is, each node has a direct connection to every other node, is called “clique”. in social networks, digital or analog, people are represented by nodes and their relationships by edges. imagine a group of people, where every person in the group knows every other person in the group.

our minds tend to default to linear thinking. sometimes this is a mistake, depending on what we’re after. in a clique, the number of nodes goes up by 1 for each new person added. linear growth. but the more meaningful number is the number of connections between nodes. the group has just one more member, but each individual in the group is adding a new connection, so the number of of connections goes up by `(n - 1)`

, where `n`

is the total number of people in the group, each time someone is added. then the total number of connections is `n ( n - 1 ) / 2`

. we divide by two so we don’t count both sides of the connection, since we’re considering A knows B as equal to B knows A. the number of connections is on the order of `n x n`

, `n^2`

, or n squared. this is non-linear.

so if the effect that you’re after scales based on the number of relationships in the group, you are getting super-linear scaling when adding people to the network. one instance of this is the birthday problem. paraphrased, it is: how many people should be in a group before there’s a 0.5 probability (50% chance) that two of them will share a birthday? the answer is un-intuitive. quick guesses usually land around half the number of days in a year. but it turns out the answer is surprisingly small at `23`

. this is because the possible connections scales on the number of relationships between people, not linearly on the total number of people in the group.

non-linearity is the realm of surprising effects and compounding returns on early investments. take those words to heart: compounding returns. the more people you add to your network, the more interconnections you have, you are investing in growth. there are costs and benefits to everything, but sometimes they scale asymmetrically, leading to un-intuitive strategies.