I am an engineering manager at a 30 person startup in New York. Recently, we found a last minute bug in our code as we were preparing a deployment for our biggest client. This happened on a Friday after everyone left, so I begun to message each engineer individually (9 staffed on this project) to track down the source of the bug and figure out a solution. Luckily, it only took an hour to figure out where the bug was occurring and which engineer had originally developed the code for it.<p>This ordeal made me think about a better way to manage dependancies in code - specifically, some system to keep track of WHO has special knowledge about a specific feature in our codebase.<p>At any given moment, I have a general idea of who is working on what, but I don't know who is working on what parts, i.e. Bob and Charlie might both be working on a billing system together, but I don't know which one of them is working on the DB models and which one is working on the Stripe API.<p>Git Blame is a theoretical solution to this problem, but it is only useful once I have isolated a bug to a specific point in the code. Ideally, I would like a Git Blame-like system at the repo level so that I (and my non-technical colleagues) can quickly track down which engineers are responsible for specific features in my codebase.<p>How do people manage this process in their organizations?