A paradox exists for dev team teams: there is an undeniable need to democratize the transfer of engineering knowledge, yet the methods for transferring this knowledge are often neglected.
As systems grow in complexity (think: infrastructure in multiple languages, distributed design patterns), knowledge silos appear and, as a result, developers on your team grapple with code that is unfamiliar to them – whether while onboarding, debugging, or maintaining code. All told the prevailing approach to knowledge sharing amongst engineering teams is fundamentally flawed. Critical codebase knowledge often resides solely in the mind of an individual developer. And if knowledge is written down, code comments don’t paint the full picture (but can be useful in some cases!). Furthermore, internal documentation requires continuous effort to keep up-to-date and relevant.
In this talk, I will cover new ways to approach the management of intra-organizational engineering knowledge, while also addressing the paradox of neglect. Finally, I will offer practical solutions to effective knowledge democratization, which, in a way, is part of the software development lifecycle.