Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Think of a product as a graph where each component of the product is a node, and each other component or aspect of the company that it affects is a connection to another node. In most cases this means a graph where each node has many connections, so as the graph grows the growth of connections dramatically outpaces the growth of nodes.

As engineers on a product, we like to look at the nodes, but the business reality is often all about the connections. Want to make a change to a node in a simple 4-node graph? No problem. Want to make a change to a node in a 400-node graph with thousands of interconnections? Problem.

And that's why things slow down. Scaling a company is all about maintaining that graph so the connections are understandable and manageable, the connections are very well-defined (but not so defined that you can never change anything) and that you have the infrastructure in place to make changes and easily validate that there are no horrible side-effects.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: