Have you worked at a company where it was easy to get up and running as a new hire? Where it was easy to find instructions on setting up your development environment, how to do database migrations, seed data, or how to get access to AWS?
In my experience, this process is always subpar. There is no clear place to find documentation; even if it's there, it's often outdated.
I've been thinking about this for a while, and I feel like writing, reading, and maintaining documentation could get much smoother and, frankly, more fun!
Do you have any ideas on how to improve it all?
I’m a documentarian and this is one of my favorite topics. My go to is creating a wiki for the team. The wiki is organized into hubs. There is a hub for each team. There is a hub for each topic such as security, new employee onboarding, etc. There might be a hub for each bigger project.
A hub contains information about people, systems, and processes. For example, there might be a section for external services. Each of those gets a hub too.
Everything is hyperlinked. Search sucks in most wiki-like tools. Hierarchies are inadequate to capture the complexities of reality. Each page or hub is often relevant in multiple places and should be linked. Links should also be included to external resources whenever they will save time. This can include linking to concrete Slack conversations, Jira tickets, and pull requests.
During onboarding each new team member is asked to improve the onboarding documentation. Anyone can change any documentation. It’s not possible to keep documentation relevant if each team member does not use it.
Here is an article that I wrote about this a while back https://koliber.com/articles/engineering-documentation-best-...
I am really passionate about this and help companies do documentation well in engineering teams.