In the late 1950’s, a woman named Jane Jacobs changed the course of New York City’s history. In fact, if it wasn't for her, there would be a highway cutting straight through Greenwich Village today. Jane Jacobs shaped the trajectory of how modern-day cities are designed and organized. Her revolutionary book, The Death and Life of Great American Cities, continues to be a cornerstone of urban planning.
Cities and codebases have a lot in common. In the real world, we inhabit and interact with other people within the framework of a city; in software, we inhabit and interact with one another within the context of our codebases. So what can we learn from Jane’s observations of what makes for a lively and healthy city? And how can we apply the principles of a vibrant city to a vibrant codebase?
As it turns out, the answer to these questions lie, not in the code, but rather, in the people who build it. Let’s see how we can apply Jane’s principles to our own software teams.