Docs should be as close to source code as possible, ideally in the same repo so they can be updated and reviewed in the same PR as the source changes themselves. Markdown works fine. For docs that don’t relate to source, just have a repo for general docs. Not only is Confluence absolute crap, tech docs in it rot because it’s a separate system developers don’t want to use. Similar story for MediaWiki.
Ask HN: How To: Internal Documentation?
11–20 of 53 posts
Re: Ask HN: How To: Internal Documentation?
#12They will essentially be testing your guides, and you should plan for existing developers to spend a little time fixing issues found by your impromptu tester.
Re: Ask HN: How To: Internal Documentation?
#13guru is excellent too imo. docs can be set to expire which serves well if you actually want to update them regularly, or just give a marker for readers to be a bit cautious about the validity of the content.
Re: Ask HN: How To: Internal Documentation?
#14As others have mentioned, this needs to be a living document and the person doing the task needs to update the docs where needed. No tool can replace this, but Bookstack at least makes it easy.
Re: Ask HN: How To: Internal Documentation?
#15It's also not hard to onboard someone into the same role. They took me on for a similar role and it took me about a few weeks to be familiar with nearly all the code I was responsible for.
Re: Ask HN: How To: Internal Documentation?
#16Here's some things that I think help
- Tie documentation to code wherever possible: Automated API documentation is an obvious example, but even moves like including a 'developer guide' in the repo rather than a seperate file somewhere is a significant improvement.
- Manually written documentation will drift: This means you need capacity to maintain it. You're much better off manually documenting a few high level design choices and keeping it up to date, than trying to capture everything and it becoming inaccurate.
- Developer experience reduces the need for documentation: If you can automate stuff as much as possible, including offloading things to a type system etc to rule out mistakes, you'll reduce the amount new developers need to know to be effective, and therefore the ammount that has to be extensively documented. People are better learners when they do it slowly as they need than when they get given everything in one huge document to read.
Re: Ask HN: How To: Internal Documentation?
#17Other things I have seen is f.ex. code that implements a business process, also can output itself as a Graphviz drawing, describing the parts of its own structure.
Re: Ask HN: How To: Internal Documentation?
#18Re: Ask HN: How To: Internal Documentation?
#19I strongly believe that proactively keep documentation up to date is not worth the effort. Here is what I recommend in my teams: - There’s an onboarding guide that is usually only updated when new people onboard. If something is not right they raise it and their onboarding partner fixes it. - When someone shares a technical document/RFC we add it to a central repository with a creation date on it. These are point in…
Funny, I just posted the exact opposite. And find that everyone reads my docs, and comes back to them frequently as they work in different areas of the codebase. Of course, we are a remote team who swaps people in and out often, so onboarding is not a one-time event where you have partners to hold your hand. If you really only onboard once and don't have a fast-growing team, I could see where the needs would not matc…