Writing software documentation plays an integral role in the work of a programmer. As they say, if it isn’t documented, then it doesn’t exist, and in the most cases, documenting your code in a proper manner is as important as actually writing it. “No matter how wonderful your library is and how intelligent its design is, if you're the only one who understands it, it doesn't do any good. Documentation means not just autogenerated API references, but also annotated examples and in-depth tutorials. You need all three to make sure your library can be easily adopted,” said Nicholas Zakas, a well-known front end engineer and book author. That’s why today we decided to take a look at some of the best and most commonly used tools for software documentation and technical writing.