Skip to content

Handbook: Writing blogs as an engineer#17334

Open
ivanagas wants to merge 3 commits into
masterfrom
writing-blogs-for-engineers
Open

Handbook: Writing blogs as an engineer#17334
ivanagas wants to merge 3 commits into
masterfrom
writing-blogs-for-engineers

Conversation

@ivanagas
Copy link
Copy Markdown
Contributor

@ivanagas ivanagas commented Jun 5, 2026

Changes

As part of https://github.com/PostHog/company-internal/issues/3076, a handbook page about writing blogs for engineers.

Checklist

  • I've read the docs and/or content style guides.
  • Words are spelled using American English
  • Use relative URLs for internal links
  • I've checked the pages added or changed in the Vercel preview build

@ivanagas ivanagas requested a review from jina-yoon June 5, 2026 19:46
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 5, 2026

Deploy preview

Status Details Updated (UTC)
🟢 Ready View preview Jun 05, 2026 08:04PM

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 5, 2026

Vale prose linter → found 13 errors, 15 warnings, 1 suggestions in your markdown

Full report → Copy the linter results into an LLM to batch-fix issues.

Linter being weird? Update the rules!

contents/handbook/company/goal-setting.md — 13 errors, 5 warnings, 1 suggestions
Line Severity Message Rule
7:223 warning 'Blitzscale' is a possible misspelling. PostHogBase.Spelling
11:49 warning 'Blitzscale' is a possible misspelling. PostHogBase.Spelling
12:107 error Hi, Andy here... use an en dash ( – ) with spaces. On Mac, holding down the Option and hyphen key will give you an en dash. PostHogBase.EnDash
12:171 warning 'Blitzscale' is a possible misspelling. PostHogBase.Spelling
12:366 error Hi, Andy here... use an en dash ( – ) with spaces. On Mac, holding down the Option and hyphen key will give you an en dash. PostHogBase.EnDash
13:149 warning 'Blitzscale' is a possible misspelling. PostHogBase.Spelling
16:191 suggestion Prefer 'proper nouns or they' over 'he'. PostHogBase.Inclusivity
18:119 error Hi, Andy here... use an en dash ( – ) with spaces. On Mac, holding down the Option and hyphen key will give you an en dash. PostHogBase.EnDash
69:24 error Hi, Andy here... use an en dash ( – ) with spaces. On Mac, holding down the Option and hyphen key will give you an en dash. PostHogBase.EnDash
81:91 error Hi, Andy here... use an en dash ( – ) with spaces. On Mac, holding down the Option and hyphen key will give you an en dash. PostHogBase.EnDash
105:12 error Hi, Andy here... use an en dash ( – ) with spaces. On Mac, holding down the Option and hyphen key will give you an en dash. PostHogBase.EnDash
107:23 error Hi, Andy here... use an en dash ( – ) with spaces. On Mac, holding down the Option and hyphen key will give you an en dash. PostHogBase.EnDash
116:75 error Hi, Andy here... use an en dash ( – ) with spaces. On Mac, holding down the Option and hyphen key will give you an en dash. PostHogBase.EnDash
117:70 error Hi, Andy here... use an en dash ( – ) with spaces. On Mac, holding down the Option and hyphen key will give you an en dash. PostHogBase.EnDash
118:24 error Hi, Andy here... use an en dash ( – ) with spaces. On Mac, holding down the Option and hyphen key will give you an en dash. PostHogBase.EnDash
120:75 error Hi, Andy here... use an en dash ( – ) with spaces. On Mac, holding down the Option and hyphen key will give you an en dash. PostHogBase.EnDash
124:4 warning 'FAQ' heading should be in sentence case, and product names should be capitalized. PostHogBase.SentenceCase
128:243 error Hi, Andy here... use an en dash ( – ) with spaces. On Mac, holding down the Option and hyphen key will give you an en dash. PostHogBase.EnDash
132:45 error Hi, Andy here... use an en dash ( – ) with spaces. On Mac, holding down the Option and hyphen key will give you an en dash. PostHogBase.EnDash
contents/handbook/engineering/writing-blogs.md — 0 errors, 8 warnings, 0 suggestions
Line Severity Message Rule
11:64 warning 'Karpathy's' is a possible misspelling. PostHogBase.Spelling
11:75 warning 'Autoresearch' is a possible misspelling. PostHogBase.Spelling
11:228 warning 'Tokio' is a possible misspelling. PostHogBase.Spelling
13:125 warning Capitalize 'Experiments' for PostHog's product. Use 'experiments' for the general industry concept. PostHogBase.ProductNames
57:40 warning Use 'PostHog' instead of 'posthog'. Vale.Terms
65:47 warning Use 'PostHog' instead of 'posthog'. Vale.Terms
67:88 warning 'Bluesky' is a possible misspelling. PostHogBase.Spelling
67:213 warning 'upvotes' is a possible misspelling. PostHogBase.Spelling
contents/handbook/engineering/writing-docs.md — 0 errors, 2 warnings, 0 suggestions
Line Severity Message Rule
17:4 warning 'What about the so-called Docs & Wizard team?' heading should be in sentence case, and product names should be capitalized. PostHogBase.SentenceCase
61:127 warning Use 'PostHog' instead of 'posthog'. Vale.Terms


If you need a skeleton of post, many technical blogs look like this:

1. Hook: The surprising result or pain you experience.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
1. Hook: The surprising result or pain you experience.
1. **Hook:** The surprising result or pain you experience.

If you need a skeleton of post, many technical blogs look like this:

1. Hook: The surprising result or pain you experience.
2. Context: What the state of things were. Enough so readers can follow.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
2. Context: What the state of things were. Enough so readers can follow.
2. **Context:** What the state of things were. Enough so readers can follow.


1. Hook: The surprising result or pain you experience.
2. Context: What the state of things were. Enough so readers can follow.
3. Journey: The investigation of what you tried, what failed, and what succeeded. Include the "takeaways" as part of the journey.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
3. Journey: The investigation of what you tried, what failed, and what succeeded. Include the "takeaways" as part of the journey.
3. **Journey:** The investigation of what you tried, what failed, and what succeeded. Include the "takeaways" as part of the journey.

1. Hook: The surprising result or pain you experience.
2. Context: What the state of things were. Enough so readers can follow.
3. Journey: The investigation of what you tried, what failed, and what succeeded. Include the "takeaways" as part of the journey.
4. Resolution: What actually changed? Give specifics, numbers, and/or visuals if you can.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
4. Resolution: What actually changed? Give specifics, numbers, and/or visuals if you can.
4. **Resolution:** What actually changed? Give specifics, numbers, and/or visuals if you can.


1. Have an idea.

2. Share in the [`#content-and-video-ideas`](https://posthog.slack.com/archives/C015CRUQR7Y) Slack channel or write up outline or draft.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
2. Share in the [`#content-and-video-ideas`](https://posthog.slack.com/archives/C015CRUQR7Y) Slack channel or write up outline or draft.
2. Sharing in the [`#content-and-video-ideas`](https://posthog.slack.com/archives/C015CRUQR7Y) Slack channel is optional, but useful if you want feedback on the idea first. You can also just write up an outline or draft right away.


3. Open pull request of your draft in [posthog.com](https://github.com/PostHog/posthog.com). Blogs go in the [`/contents/blog` folder](https://github.com/PostHog/posthog.com/tree/master/contents/blog) (you can see the format from other blogs there).

4. Get review from someone from the <SmallTeam slug="editorial" /> and (optionally) a relevant teammate.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
4. Get review from someone from the <SmallTeam slug="editorial" /> and (optionally) a relevant teammate.
4. Get review from someone from the <SmallTeam slug="editorial" /> and (optionally) a relevant teammate. If you're not sure who to ask from Editorial, ask in the #team-editorial Slack channel with a link to your PR.

3. Journey: The investigation of what you tried, what failed, and what succeeded. Include the "takeaways" as part of the journey.
4. Resolution: What actually changed? Give specifics, numbers, and/or visuals if you can.

Use descriptive titles along the way rather generic ones like "Background" or "What we learned." If someone was skimming the piece, would the title give them the details they were looking for?
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Use descriptive titles along the way rather generic ones like "Background" or "What we learned." If someone was skimming the piece, would the title give them the details they were looking for?
Use descriptive titles along the way rather generic ones like "Background" or "What we learned." If someone was skimming the piece, would the title give them the details they were looking for?
### Example blogs
Here are a few engineering blogs from the past that got good traffic. You don't need to follow or copy any of them, this is just for ideas and inspiration.
- [8 learnings from 1 year of agents – PostHog AI](https://posthog.com/blog/8-learnings-from-1-year-of-agents-posthog-ai) - Michael Matloka
- [Untangling Tokio and Rayon in production: From 2s latency spikes to 94ms flat](https://posthog.com/blog/untangling-rayon-and-tokio) - Matheus Batista
- [Karpathy's Autoresearch found a 3-year-old bug in our query engine (and improved performance by 11%)](https://posthog.com/blog/karpathy-autoresearch-query-engine-bug) - Robbie Coomber

Copy link
Copy Markdown
Contributor

@jina-yoon jina-yoon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tiny edits + added a few examples of good eng blogs in the past

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants