In fast-paced organisations that launch a lot of features on a quarterly basis and teams with large sizes, how should a tech lead or team members ensure that everyone knows about everything or is enabled to get to know about it?
Quite often, whenever a new feature comes in, it could be repurposing technology built for other features as well. But, given the pace at which these are developed, it is often hard to know what everyone is working on. Sometimes, each of these features may have idiosyncracies that may be getting missed out by new joiners, especially due to the volume of information, especially for teams that have been in existence since a long time.
I recall once when changes for a new feature done by a developer reverted some conditionals for an older feature, thus causing an outage. How do you prevent this and ensure knowledge of everything is available to all, especially to people new to an organisation?
Also, are there some general practices to ensure that these are easily discoverable? Video recordings are time consuming to go through, and wikis though they exist, are sometimes difficult to navigate, when you don't know what you are searching for? I am thinking of something like a mind map could help here, but what are your thoughts?
To add on to the above, how does one ensure that there are no pockets of knowledge or subject matter experts that exist within the team, but knowledge is decentralised, given that people can be on leaves or be unavailable sometime.
This is such a classic growing big company problem. I dealt with this all the time back when I was at Instagram Ads, and to be honest, we could have handled it way better. I hope the following advice allows you and your team to be better than us 😅
...how does one ensure that there are no pockets of knowledge or subject matter experts that exist within the team, but knowledge is decentralised, given that people can be on leaves or be unavailable sometime.
On top of the methods I described above, a very powerful tool here is good ol' fashioned mentorship. Here's some great resources to help with that:
A less direct but more scalable way of distributing expertise is through office hours, which I talk about more here: "How can I teach and onboard other engineers faster?"
The sign of a good senior engineer/tech lead is that they're always striving to make themselves replaceable. Since you're a senior engineer, I hope some of those tactics help you uplift the team and make it more resilient while scaling yourself. 😊