I work for a company with ~250 engineers, and one thing that's frustrated me is that so much knowledge is shared person-to-person rather than being written down somewhere. A lot of times, the only way to discover things about a new domain is to just know who you're supposed to talk to.We have a wiki in Confluence, but it's somewhat poorly organized and doesn't really have anyone owning its content so it feels useless. We have one large repo and many smaller repos that don't have great discoverability, so I don't know that a doc directory in our code base makes sense either. Most of the time when I'm trying to figure out how something works I'm forced to look in Slack for people mentioning what I'm working on (and hoping it's not locked away in a private channel).I'm curious to hear what solutions for documentation have worked well where others have worked? And how to 'start' an effort where I work to better document our various domains?Edit: I'm realizing that I need to specify: I'm not primarily interested in documenting APIs, more things like: * Preferred way of doing X * X domain uses these tables and works like this * This is what X feature does and here's what it looks like
Most of us work in the single large codebase, and we don't have a good separation of responsibility between the pieces yet (it's a work in progress) so for now I mostly want to document what stuff exists rather than formal API documentation.