To document - Definition
Let's make something clear, to document is not to add comments to your code. It means, explaining the next point regarding any important development you have done:
- Input -> what we expect
- Output -> what we should return
- Middle steps -> what we do with the input in order to produce an output
- Different scenarios -> The different paths we took when producing the output
- Technical approach decided and the reasons for it -> answer to a future developer which is reading your code or checking the solution, why you took that approach.
It seems a lot but it isn't, you don't to have to write the bible but you have to write the essential to ensure anyone that joins could understand the feature. You want more arguments? Good documentation saves you calls and reduce person dependencies.
Do you know this programming saying?
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.
Regarding documentation, I prefer to adapt it as next:
tip
Always document as if the guy who will fix a bug in productions is YOU one year later. Try to make your life easier!
Let's take the next advice from He-man:
About me
I'm a Software Engineer with experience as Developer and DevOps. The technologies I have worked with are DotNet, Terraform and AWS. For the last one, I have the Developer Associate certification. I define myself as a challenge-seeker person and team player. I simply give it all to deliver high-quality solutions. On the other hand, I like to analyze and improve processes, promote productivity and document implementations (yes, I'm a developer that likes to document ๐งโ๐ป).
You can check my experience here.
Personal Blog - cangulo.github.io
GitHub - Carlos Angulo Mascarell - cangulo
LinkedIn - Carlos Angulo Mascarell
Twitter - @AnguloMascarell