✍️ Writing Exercises
17 exercise sets — 61+ exercises. Every format a developer writes in their career — from commit messages to post-mortems.
- Beginner
Bug Reports
Rewrite poorly structured bug reports, write reports from scratch, and improve vague titles.
- Beginner
Commit Messages
Rewrite bad commits using Conventional Commits format (feat/fix/chore/docs). Write from scenario descriptions.
- Intermediate
Pull Request Descriptions
Fill in PR templates and write complete PR descriptions for real-world change scenarios.
- Beginner
Slack & Async Communication
Rewrite long Slack messages as clear updates. Write standup and status update messages.
- Intermediate
Technical Documentation
Write README sections, inline code comments, and simplify overly complex documentation sentences.
- Beginner
User Stories & Acceptance Criteria
Complete user story templates (As a… / I want to… / So that…) and write Given/When/Then criteria.
- Advanced
API Docs & Architecture Records
Write API endpoint descriptions, CHANGELOG entries, and Architecture Decision Records (ADRs).
- Advanced
Post-Mortems & Incident Reports
Write blameless post-mortems, client-facing outage notifications, and "What we'll do differently" sections.
- Intermediate
Career & Self-Presentation Writing
Write LinkedIn About sections, rewrite weak CV bullets, draft cover letter paragraphs, and GitHub profile READMEs.
- Intermediate
Role-Specific Writing Scenarios
Writing tasks for Frontend, Backend, Full-Stack, Mobile, DevOps, QA, Data, Security, PM, and Technical Writer roles.
- Advanced
Engineering Blog Posts
Structure engineering posts, write case studies, frame lessons learned, and communicate failure publicly.
- Advanced
Design Documents & RFCs
Design doc vs RFC, standard sections, alternatives considered, and implementation notes and caveats.
- Advanced
Incident Communications
Executive summaries, customer status updates, initial notifications, and communication retrospectives.
- Intermediate
Data Storytelling & Reports
Write data-driven narratives: presenting metrics findings, contextualising numbers for stakeholders, and structuring a data story with clear insight and recommendation.
- Advanced
RFCs & Architecture Decision Records
Write Request for Comments and Architecture Decision Records: problem statements, proposed solutions, alternatives considered, and consequences sections with professional precision.
- Beginner
Bug Report Writing
Write effective bug report titles, step-by-step reproduction instructions, and precise Expected/Actual behaviour sections.
- Intermediate
Technical Specification Writing
Write testable requirements, Given/When/Then acceptance criteria, and precise error-handling specifications using RFC 2119 normative language.
Common IT writing mistakes
Frequently Asked Questions
What types of writing do IT professionals need to master?
IT professionals write: Jira tickets and bug reports, pull request descriptions, commit messages, technical documentation (API docs, ADRs, RFCs), post-incident reports, project proposals, stakeholder updates, code comments, README files, and internal wiki articles. Each has its own conventions, register, and structure that these exercises help you master.
How should a good bug report be structured?
A good bug report includes: (1) Clear title in imperative form — "Login button fails on mobile Safari"; (2) Environment — OS, browser, version; (3) Steps to reproduce — numbered, specific; (4) Expected behaviour; (5) Actual behaviour; (6) Screenshots or logs. Vague reports like "it doesn't work" are useless. Good bug reports save hours of developer time.
What makes a good pull request description?
A good PR description includes: What changes were made (summary), Why the change was needed (context/motivation), How to test the change (testing instructions), Screenshots for UI changes, and links to related tickets. Avoid PR descriptions that just repeat the commit message or say "minor fixes". Good descriptions speed up code review and reduce back-and-forth.
How do I write clear and concise commit messages?
Follow the conventional commits format: "type(scope): description" — e.g., "fix(auth): handle expired JWT tokens", "feat(api): add pagination to /users endpoint". The description should be imperative, present tense, and under 72 characters. The body (optional) explains WHY not WHAT. Common types: feat, fix, docs, chore, refactor, test, style.
What is an ADR (Architecture Decision Record) and how do I write one?
An ADR documents an important architectural decision, its context, and its consequences. Standard structure: Title, Status (proposed/accepted/deprecated), Context (why this decision was needed), Decision (what was decided), Consequences (trade-offs, implications). Writing clear ADRs creates institutional memory and prevents relitigating past decisions. They're short — typically one page.
How do I write effective code comments?
Good code comments explain WHY, not WHAT (the code shows what). Comment types: (1) intent comments — "// Using polling because WebSocket causes issues in Safari"; (2) warning comments — "// Don't change this order — breaks legacy API"; (3) TODO comments with tickets; (4) API documentation (JSDoc, docstrings). Avoid commenting obvious code: "// increment i by 1" for i++ is noise.
What is hedging language and why does it matter in technical writing?
Hedging language expresses appropriate uncertainty: "This approach may improve performance by approximately 20%", "In most cases, this configuration should work". Hedging is professional and honest — it distinguishes claims from facts and sets realistic expectations. Overclaiming ("this will definitely fix it") damages trust if wrong. Technical writers and engineers should hedge appropriately.
How do I write a post-incident report?
Post-incident report structure: (1) Incident summary — what happened, when, impact; (2) Timeline — chronological sequence of events; (3) Root cause analysis; (4) Contributing factors; (5) What went well; (6) Action items with owners and deadlines. Use blameless language — focus on systems, not individuals. Keep it factual, not defensive.
What are common writing mistakes in IT documentation?
Common mistakes: (1) Passive voice overuse making ownership unclear; (2) Jargon without explanation; (3) Assuming prior knowledge; (4) No table of contents for long documents; (5) Outdated information left uncorrected; (6) Vague action items without owners; (7) Wall-of-text paragraphs without headings. Good technical writing is specific, scannable, and maintained.
How do I improve my technical writing skills as a non-native speaker?
Practice strategies: read and analyse well-written open-source READMEs and ADRs, volunteer to write team documentation, ask for writing feedback during code reviews, study the Google Developer Documentation Style Guide (free online), and practise rewriting existing documentation to be clearer. The exercises on this page provide structured practice with immediate feedback.