Slide 1

Slide 1 text

Carmen Chung How to write tech documentation that will save your career ! @carmenhchung

Slide 2

Slide 2 text

✅ Make your title “SEO” friendly. Write clear, precise and relevant titles. e.g. “How To Remove Columns From Our Database” ❌ But that doesn’t mean clickbait titles! e.g. “4 ways to remove columns from our database...the final one will shock you!” Tip #1: Pick your title carefully. @carmenhchung

Slide 3

Slide 3 text

✅ Have an index. - Make it clickable. ✅ Offer an introduction. - Explain what this document is going to do. - Mention required pre-reading. - Add TL;DR section if needed. ✅ Break up text. - Structure the document in easy-to-digest chunks. - Use screenshots, flowcharts, and diagrams. - Consider extracting information. Tip #2: Provide clear structure. @carmenhchung

Slide 4

Slide 4 text

@carmenhchung

Slide 5

Slide 5 text

✅ Make updating docs part of the process. - Add it to your pre-deploy checklist. ✅ Give context with dates. e.g. As of January 2019, the process for removing columns from our database is this… ⚠ [Update] As of September 2019, we have moved towards a “strong migrations” approach for removing database columns… ❌ Don’t leave updating to others! Tip #3: Update regularly. @carmenhchung

Slide 6

Slide 6 text

@carmenhchung

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

✅ Format code…and explain what it does. e.g. “Run pip install big-tech-co-repo in Terminal, which will install our entire repository on your machine in the current folder you’re in.” ❌ Don’t include secrets. e.g. “Run the create-database command in Terminal and it will generate the credentials for you, which will look something along the lines of (but be different to) this: 1.URL: “https://big-tech-co.com/our-database” 2.Username: “dummy-database” 3.Password: “dummy-password” Tip #4: Make the most of code examples. @carmenhchung

Slide 9

Slide 9 text

✅ Selectively commit short, clear commit messages. ❌ “WIP WIP WIP WIP WIP” ❌ “Please just pass for once.” ❌ “WHY YOU NO PASS!” ❌ ✅ Add detail to your PR description. - Have a Pull Request template that is automatically applied to every pull request that is opened. Tip #5: Refine commit messages and PRs. @carmenhchung

Slide 10

Slide 10 text

@carmenhchung

Slide 11

Slide 11 text

✅ Comment code when it needs context. - e.g. Something is not done for a reason or something is done that seems out of the ordinary. ✅ Add TODOs if you will do… - Mention who is to do what, why they’re to do it, and when they’re to do it. ❌ Don’t just comment code because it’s difficult. Tip #6: Comment code where necessary. @carmenhchung

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

✅ Cover all scenarios with context blocks. e.g. - When an account doesn’t have a user. - When an account has a user but the user has not yet selected their tier. - When an account has a user and the user is on a free tier. - When an account has a user and the user is on a paid tier. Tip #7: Write comprehensive specs. @carmenhchung

Slide 20

Slide 20 text

Tip #8: Cover the 4 Ws + How. @carmenhchung ✅ Write with precision and detail. - Who is to do what, by when, and why and how are they going to do it.

Slide 21

Slide 21 text

Tip #8: Cover the 4 Ws + How. @carmenhchung e.g. @DonaldTroll will create two pricing tiers today: one called “Free User” and one called “Paid User”. ✅ Write with precision and detail. - Who is to do what, by when, and why and how are they going to do it.

Slide 22

Slide 22 text

Tip #8: Cover the 4 Ws + How. @carmenhchung ✅ Be specific about tasks. - List actual attributes that need to be created.

Slide 23

Slide 23 text

Tip #8: Cover the 4 Ws + How. @carmenhchung e.g. The paid tier lets you: - read, create, update and destroy records. The free tier lets you: - only read records. ✅ Be specific about tasks. - List actual attributes that need to be created.

Slide 24

Slide 24 text

Tip #8: Cover the 4 Ws + How. @carmenhchung ✅ Keep a paper trail of all requests. - Tag people.

Slide 25

Slide 25 text

e.g. I spoke to @FrancoPM about this today (1 May 2019). He told me that as we have now finished the investor demo, we should turn off all the pricing tiers for now. I have done this. Don’t forget to re-activate this when we go live by setting the boolean “active” flag to true. Tip #8: Cover the 4 Ws + How. @carmenhchung ✅ Keep a paper trail of all requests. - Tag people.

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

Conclusion ! 1. Pick your title carefully. ✅ 2. Provide clear structure. 3. Update regularly. ✅ 4. Make the most of code examples. ✅ 5. Refine commit messages and PRs. ✅ 6. Comment code where necessary. ✅ 7. Write comprehensive specs. ✅ 8. Cover the 4 Ws + How. ✅ @carmenhchung