# Being Handsome in Tech A tale of struggle --- ## Documentation Geek Drink [![jp](https://hackmd.io/_uploads/rygKsx0Pn.png)](https://www.youtube.com/embed/wBSJ2Dhr3nM) Note: - A quick clip ---- ## John Hector Casillas ### Cloud Engineer ---- ## Outline 1. Why documentation is important 2. What good documentation looks like 3. Some best practices 4. Crowdsourcing Documentation Note: - The idea of this Geek Drink is to host a forum to discuss documentation. I'm going to discuss some topics that are important to me, and what I would like to see every team move towards, but that requires input from the whole team. --- ## John's Documentation Stack 1. [Obsidian](https://help.obsidian.md/Getting+started/Download+and+install+Obsidian#:~:text=Install%20Obsidian%20using%20Snap,you%20downloaded%20the%20installation%20file.&text=Open%20Obsidian%20the%20same%20way%20you%20would%20open%20any%20other%20application.,-Install%20Obsidian%20using) 2. [Miles' MD -> Confuence Tool](https://github.com/justmiles/go-markdown2confluence) 3. [Confluence](https://gofigg.atlassian.net/wiki/spaces/~62390a2fee1b5a007027ab57/overview) 4. [docs.gofigg.io](https://docs.gofigg.io/) Note: - Show Obsidian, Daily Notes, Jira Integration, MarkdowntoConfluence --- ## The Power of Documentation ---- | Docs Effectiveness | Title | | -------- | -------- | Good | Jurassic Park | | Bad | Memento | | Bad | [John's Terraform Notes](https://gofigg.atlassian.net/wiki/spaces/~62390a2fee1b5a007027ab57/pages/1579745329/Terraform+Notes) | | Good | [Miles' Marketplace Restart](https://gofigg.atlassian.net/wiki/spaces/~miles.maddox/pages/104331714/Restart+Marketplace) | ---- # Jurassic Park: > Summary: Island theme park of real dinosaurs. What could go wrong? - Centralized Document Repo (in the storage room) <!-- .element: class="fragment" --> - Easily read by all skill levels (John Hammond and Malcolm) <!-- .element: class="fragment" --> - Precise - able to not only step-by-step Ellie through process, but *navigate* her there too <!-- .element: class="fragment" --> ---- # Memento > Summary: Protagonist suffers from amnesia, and compensates by leaving himself notes and clues. - 3 different documentation types (notes, pictures, tattoos(don't recommend for work docs)) <!-- .element: class="fragment" --> - The engineer himself can't discern what he's talking about <!-- .element: class="fragment" --> ---- # John's Notes - Only useful to John - Could be several individual docs - Adds chaos - No flow ![nojoy](https://hackmd.io/_uploads/HkWzHE1u3.png) ---- # Miles' Notes - Easy to read - Flows - Searchable ![joy](https://hackmd.io/_uploads/HkOC4Ey_2.png) --- ## Elements of Effective Documentation ---- [Github:](https://google.github.io/styleguide/docguide/best_practices.html) 1. Minimum Viable Documentation 2. Update docs with code 3. Delete Dead Documentation 4. Documentation is story of your code Note: - Keep it simple - If you update your code, get into the habit of updating your docs with the Changelog. - Yea john - You're writing docs for humans first and computers second. ---- [Chromium:](https://chromium.googlesource.com/chromium/src/+/HEAD/docs/documentation_best_practices.md) 1. Minimum Viable Documentation 2. Update docs with code 3. Delete Dead Documentation 4. Prefer the good over the perfect <!-- .element: class="fragment" --> 5. Documentation is story of your code 6. Implementation state determines document repository <!-- .element: class="fragment" --> 7. Duplication is evil <!-- .element: class="fragment" --> Note: - Same thing but adds "Prefer the good over the perfect (technically in the last one but not in their bullets)"" - If the doc is about implemented code, put it in README.md. If it's pre-implementation discussion, including Design docs, PRDs, and presentations, keep it in shared Drive folders. Thoughts on this? - Do not write your own guide to a common technology or process. Link to it instead. --- ## Documenting Best Practices Implementing the Elements ---- - "Stream of Conscious" notes <!-- .element: class="fragment" --> - Have a public dumping ground <!-- .element: class="fragment" --> - Review and then ask your team or manager for specific feedback (if you think it's necessary) <!-- .element: class="fragment" --> - [Cool Commits](https://www.microverse.org/blog/how-writing-meaningful-commit-messages-helps-you-be-a-better-developer) <!-- .element: class="fragment" --> - [Rad READMEs](https://google.github.io/styleguide/docguide/READMEs.html#guidelines) <!-- .element: class="fragment" --> ``` OPS: Currently creates module to create anomaly detection against every account and optionally a stack. [SRE-1488] [type] [optional scope]: [description] [optional body] [optional footer] ``` <!-- .element: class="fragment" --> Note: - Miles - anything to add on stream of conscious? - Cool commits - I was doing really trash commits, and a lot of them per ticket. - Rad READMEs - Something I learned more about writing this geek drink. (We use tf docs, but is it enough?) --- ```bash git_flatten () { git reset $(git merge-base master `git branch | grep '*' | cut -d ' ' -f2`) git add -A echo "#############################################################################" echo "# Write your new, singular commit message, and then force push to origin." echo "# Like this:" echo "# git commit -m 'COMPRESSED_MESSAGE'" echo "# git push -u origin $(git branch | grep '*' | cut -d ' ' -f2) --force" echo "#############################################################################" } ``` --- ## Conclusion - John's Personal Style: - Uniform commit style - Document everything, clean up later - No secrets. - Do you have any must-have rules? <!-- .element: class="fragment" --> - How do you document today? <!-- .element: class="fragment" --> - Would you rather have poor docs or no docs? <!-- .element: class="fragment" -->
{"title":"Being Handsome in Tech","breaks":false,"metaMigratedAt":"2023-06-20T15:30:22.241Z","metaMigratedFrom":"Content","description":"A tale of struggle","contributors":"[{\"id\":\"3b4453a2-728b-42c3-b4c2-c0a292b0e335\",\"add\":8322,\"del\":2070}]"}
    157 views