If you want to be a high level developer, there are many skills that you will need to acquire. One of these skills is the ability to communicate effectively through documentation.
It's one thing to commit to documenting parameter names and value types, but another to commit to writing documentation that fully and compellingly describes your software.
One part of the Mattifesto Method is that writing code is like story telling. Your code should be written to actually tell a story, readable by a new developer, that makes sense to that developer, just like reading a book. For example, one letter variable names are generally frowned upon.
Documentation continues the story of the code and includes things code can't, like the larger purpose, motivation, or historical reasons that the code exists. Documentation should also promote and sell your software, because even if it's open source, your end goal is usually to have your software used by more people.
I've been writing documentation recently, and it has worn me out. This is because writing documentation makes a developer see the holes and inconsistencies in his or her software. It is very important for developers to see these, not the documentation team or the customers. Because a Developer's response should be to fix these issues.
Another benefit is that every developer's goal is to keep their software as small they can while maintaining functionality. When you write documentation you will be motivated to remove unnecessary parts to make the documentation task easier.
#SoftwareDeveloper #Documentation #StoryTelling #SoftwareTeam #Communication #Sales #Promotion #Simplification