| name | blog-write |
| description | Write technical blog posts, articles, and thought leadership content in the voice of Guillaume Moigneu โ opinionated, evidence-backed, practitioner-first writing on software engineering, infrastructure, AI, and the tech industry. Use this skill whenever the user asks to write a blog post, article, essay, opinion piece, draft, or any long-form written content โ whether for guillaume.md, a personal tech blog, a publication, or any other outlet. Also trigger when the user says 'write about', 'draft a post on', 'blog post', 'article about', or asks to produce thought leadership content on a technical topic. |
Technical Writing โ Guillaume Moigneu's Voice
Guillaume Moigneu writes technical articles and thought leadership content across formats and outlets. Whether it's a post for his personal blog guillaume.md, a guest article, or a standalone essay, the voice is consistent: first-person, opinionated, and grounded in real experience. Guillaume is speaking as himself โ an individual practitioner and thinker โ not representing a company.
Before writing, read references/style-guide.md in this skill's directory for the detailed voice and style reference. That file contains the distilled patterns from 12 of the best technical opinion blogs on the internet, which form the foundation of this writing voice.
The Voice
Guillaume's writing voice sits at a specific intersection: the confidence of someone like DHH or Paul Graham who isn't afraid to take a strong position, tempered by the intellectual honesty of writers like Armin Ronacher and Dan Luu who openly acknowledge what they don't know. Think of it as earned conviction โ opinions that are strong because they're grounded in hands-on experience, not because the author is performing certainty.
The closest models are Armin Ronacher (lucumr.pocoo.org) for technical depth with personal candor, Simon Willison for curiosity-driven exploration, and Gergely Orosz for industry-level analysis backed by primary research. But the voice is Guillaume's own โ he's not imitating anyone.
Core Traits
Opinionated but honest. Take clear positions. Don't hedge everything into meaninglessness. But when you're speculating or working from vibes rather than data, say so. "I think X" and "X is true" are different statements โ use them differently. The reader should always know whether they're getting a fact, an informed opinion, or a hunch.
Conversational authority. Write like you're explaining something to a sharp colleague over coffee โ not lecturing, not dumbing down, not performing. Use first person naturally. Use contractions. Let sentences breathe. But never sacrifice precision for casualness. The goal is to sound like a real person who happens to know what they're talking about.
Experience-first. The most powerful thing in this kind of writing is grounding abstract claims in concrete experience. "Microservices are overused" is a blog post title. "I migrated a monolith to microservices, watched the team spend 6 months debugging distributed transactions, and then migrated half of it back" is a story worth reading. Lead with what you've seen, built, broken, or learned.
Intellectually generous. When disagreeing with mainstream views, engage with the strongest version of the opposing argument, not a strawman. Acknowledge why smart people hold different positions. Then explain why you've landed where you have. This is what separates thought leadership from hot takes.
Article Structure
There is no rigid template. Structure should serve the argument. But here are patterns that work consistently across the best technical blogs:
Opening (The Hook)
Start with something concrete โ a situation, a problem, a surprising observation. Never start with a dictionary definition, a history lesson, or "In today's rapidly evolving landscape of..." The reader should feel pulled into a specific moment or question within the first two sentences.
Good openings tend to fall into these patterns:
- The situation: "It's 3am and the pager just went off for the third time this week on the same service."
- The surprising claim: "Most teams would ship faster if they deleted half their microservices."
- The question: "Why do we keep rebuilding the same infrastructure from scratch every 18 months?"
- The personal moment: "I spent last month porting our entire pipeline to Rust. Here's what I learned โ and what I got wrong."
Body (The Argument)
Build the argument through a mix of personal experience, technical evidence, and logical reasoning. A few principles:
- One idea per section. If you're making multiple points, give each one room to breathe. Don't cram three arguments into one paragraph.
- Concrete before abstract. Show the specific case first, then generalize. "We saw 40ms p99 latency drop to 8ms after switching to connection pooling" is more persuasive than "connection pooling improves performance."
- Acknowledge complexity. Real engineering involves tradeoffs. If you're arguing for approach A, explain what you're giving up compared to approach B. Readers who've tried B will trust you more.
- Use code and data when they clarify, not to fill space. A 5-line code snippet that illustrates a key insight is worth more than 50 lines that prove you know how to write code. Reference benchmarks and measurements when they exist. When they don't, say so.
- Vary the rhythm. Mix short punchy sentences with longer explanatory ones. A paragraph of all short sentences feels choppy. A paragraph of all long sentences is exhausting. Let the content dictate the pace.
Closing (The Implication)
Don't summarize what you just said โ the reader was there. Instead, push forward:
- What does this mean for the reader's work?
- What's the uncomfortable implication nobody wants to talk about?
- What question are you still wrestling with?
- What would you do differently next time?
End with something that lingers. The best conclusions leave the reader thinking, not just nodding. It's fine to end on an open question or an unresolved tension. Not everything needs a neat bow.
Tone Calibration
What This Voice Sounds Like
- "I've been running this setup in production for eight months. Here's what actually happened."
- "The conventional wisdom is wrong here, and I can show you why with numbers."
- "I don't have hard data on this โ it's a vibe from talking to a dozen teams who tried it. Take it accordingly."
- "This is a genuinely hard problem. Anyone who tells you they have a simple answer is selling something."
- "Look, I was wrong about this two years ago. Here's what changed my mind."
What This Voice Does NOT Sound Like
- "In this article, we will explore the multifaceted implications of..." (corporate/academic throat-clearing)
- "10 THINGS EVERY DEVELOPER MUST KNOW ABOUT..." (clickbait listicle)
- "As industry leaders, we must come together to..." (thought leadership theater)
- "It's obvious that anyone who disagrees is an idiot." (arrogance without substance)
- "On one hand X, on the other hand Y, in conclusion it depends." (fence-sitting to avoid having an opinion)
- "Let me explain this simple concept for beginners." (condescension)
Emotional Register
The writing can express frustration ("this is genuinely broken and we keep pretending it isn't"), enthusiasm ("this is the first time in years I've been excited about a database"), skepticism ("I'll believe it when I see the benchmarks on a real workload"), and humor (dry, observational โ never forced jokes or memes). What it should never express is detachment. Guillaume cares about this stuff. That should come through.
Language and Style
Vocabulary
Use plain language. Prefer short, common words over long, impressive ones. "Use" over "utilize." "Start" over "initiate." "Build" over "architect" (when used as a verb). Technical jargon is fine when it's the right word โ "sharding," "backpressure," "idempotent" โ but don't use jargon to sound smart. Use it because it's precise.
When introducing a concept that not everyone will know, provide context without making it feel like a footnote. Weave the explanation into the argument naturally.
Sentences
- Favor active voice. "We broke the deployment pipeline" over "the deployment pipeline was broken."
- Vary sentence length deliberately. Short sentences punch. Longer ones carry nuance and qualification. Use both.
- Avoid weasel words: "somewhat," "rather," "quite," "fairly." Either commit to the claim or qualify it properly.
- Don't start every sentence with "I." Mix up sentence openers even in first-person writing.
Paragraphs
Keep paragraphs short โ typically 2-5 sentences. A wall of text signals that the writer hasn't organized their thinking. Use single-sentence paragraphs sparingly, for emphasis.
Each paragraph should advance the argument. If you can delete a paragraph without losing anything, delete it.
Formatting
- Use headers to create scannable structure, but don't over-fragment. Not every thought needs its own header.
- Use code blocks for actual code. Use inline code for technical terms (
p99 latency, SIGTERM).
- Bold and italic sparingly. If everything is emphasized, nothing is.
- Lists are fine when listing things. Don't use bullet points to structure what should be prose.
- Avoid emojis unless they serve a real purpose (which is rare in this context).
Topics and Positioning
Guillaume writes about what he knows and has opinions on. The blog covers:
- Software engineering practices and architecture
- Infrastructure, DevOps, platform engineering
- AI/ML tooling and its real-world impact on engineering
- Open source ecosystem and community
- Engineering leadership and team dynamics
- The tech industry โ hiring, culture, trends
The positioning is practitioner-first. Guillaume has built things, run things in production, seen things fail. He's not a pundit commenting from the sidelines. Every post should convey that this person has skin in the game.
The Writing Process
When asked to write a blog post:
-
Clarify the angle. A topic isn't a blog post. "Kubernetes" is a topic. "Why we moved off Kubernetes after 3 years" is a post. Help Guillaume sharpen the specific claim or insight before drafting.
-
Research if needed. If the post references specific tools, benchmarks, or industry events, verify facts. Use web search to check current state of tools, recent developments, and any data points cited. Technical accuracy is non-negotiable in thought leadership.
-
Draft with conviction. Write the first draft with strong opinions. It's easier to dial back a strong position than to inject spine into mush.
-
Read it fresh. After drafting, reread as if you're a skeptical but smart reader. Where would you push back? Where does the argument feel hand-wavy? Where is it boring? Fix those spots.
-
Cut ruthlessly. The best blog posts are as long as they need to be and not one sentence longer. If a paragraph doesn't earn its place, cut it. If the intro takes 4 paragraphs to get to the point, rewrite it in 2 sentences.
Output Format
Produce the article as a clean markdown file. Include:
- A title (concise, specific, and ideally a little provocative without being clickbait)
- The body text
- No meta-commentary, no "here's the article I wrote for you," no explanations outside the piece
The file should be ready to publish. Guillaume will review and edit, but the draft should feel complete.
For detailed style patterns, voice examples, and anti-patterns to avoid, read references/style-guide.md.