I continually update this page to clarify my writing approach.
Here’s What I’ve Learned and Want to Share
Ever read something that made you think, “Finally, someone gets it!”? That’s what I aim for. I write to connect with readers who share my frustration with the same problems I face daily.
My style isn’t about being clever, it’s about being clear. I take complex ideas and make them simple. I call out problems that grind my gears. I share solutions that work.
How I Appeal to Readers
I tell compelling, personal stories. I entertain while being helpful. I don’t sugar-coat problems or hide behind corporate speak.
When I write about software bugs that waste hours of my day, I demonstrate their impact. When I explain technical concepts, I use analogies that make sense to someone who has never written code.
My Core Writing Approach
The Juxtaposition Method
I pair logical ideas with illogical behaviors to create thought-provoking content. I’ll describe a reasonable software feature, then show its unreasonable behavior.
For example, I once wrote about Apple’s Photos app that promised to “Keep Folder Organization” when importing pictures. The logic was sound: preserve your existing file structure. The behavior was absurd; it didn’t actually move files around or organize folders at all. Instead, it created albums based on your folder structure, which was completely unexpected.
This approach makes readers pause and think, “Wait, that doesn’t make sense.” It’s how I highlight problems that everyone experiences but few people question.
Making Complex Ideas Accessible
I break down technical concepts like I’m explaining them to a curious friend over coffee. No jargon. No assumptions about prior knowledge. Just clear, step-by-step explanations with real-world examples.
When I explain how databases work, I don’t start with normalization theory. I start with a library catalog system, something everyone is familiar with. I then demonstrate how the same logic applies to storing user data.
Storytelling That Resonates
I make you the center of every story. When I write about debugging software, you’re the developer staring at the screen at 2 AM. When I describe user experience problems, you’re the person trying to complete a simple task that takes 15 minutes to complete.
My characters are diverse and memorable. I create scenarios that feel real because they are real, drawn from my daily experiences and frustrations.
Content Structure That Works
Start Strong, End Stronger
I put the most relevant information at the top. You can read the first few paragraphs and get immediate value. If you want to dive deeper, the details are there. If not, you’ve already learned something valuable.
I break content into digestible chunks with clear headings. Each section stands on its own, so you can skip what doesn’t apply to your situation.
The Work Companion Approach
I write content that sits beside you while you work. It’s not academic theory, it’s practical guidance you can apply immediately. I reduce confusion by focusing on what matters and cutting out the noise.
When something doesn’t work, I refactor it like code. If the core message isn’t getting through, I rewrite until it does.
My Writing Techniques
Drawing Readers In
I use familiar conventions to connect with people. I start with a problem you recognize, then show you why it matters, and then provide you with solutions that work.
I create vivid mental images with colorful phrases. Instead of saying “the software is slow,” I might say “the software moves like a bill in Congress.” You can picture that, right?
Balancing Perspectives
I present opposing views fairly, but I don’t hide my opinions. I’m direct about what I believe works and what doesn’t. I maintain impartiality when it comes to facts, but I’m passionate about solutions that genuinely help people.
Transforming Everyday Scenarios
I take familiar situations and show them from unexpected angles. I might describe a violent video game from the perspective of someone who’s never seen violence. It prompts you to question assumptions you didn’t realize you had.
I simplify complex ideas into straightforward stories, similar to how George Orwell explained totalitarianism through the story of a farm.
How I Connect With Readers
The Conversation Approach
I write like we’re having a conversation. I start with problems that create imbalances in your daily work, then show you how to fix them, and finally, reverse the situation entirely.
I exaggerate to highlight the absurdity of extremism. When I describe a software bug that wastes 30 seconds of every user’s time, I might calculate how many human lifetimes that adds up to across all users. It’s not just annoying, it’s criminal.
Using Data to Connect
I connect with readers through shared experiences and data. I’ll reference the most popular card game or the most common software bug. I create content that counters misinformation with facts.
My Signature Styles
Accountability Without Preaching
Accountability is central to my writing, but I prioritize it carefully. I don’t lecture, I inspire. I promote harmony with nature and passionately oppose irresponsibility that causes real pain.
I advocate for positive change by showing what’s possible, not just what’s wrong.
Concept Golf: Less Words, More Impact
I enjoy concept golf, conveying ideas with minimal words. I succeed when I can explain a complex concept in three sentences instead of three paragraphs.
I continually refine pages to make content more concise and clear. Every word must earn its place.
Keep It Simple, Stupid
I simplify complex programming concepts for beginners. I enable people to understand and use tools effectively. When I’m successful, my content becomes more valuable over time.
I teach professionals new methods while helping beginners learn the basics. I reinforce my own knowledge by explaining it clearly to others.
Elevate Contrast Through Visuals
I illustrate points by contrasting them with pictures. When you look at my photographs alongside my text, you’re drawn into my story—the visual and textual elements work together to create a deeper understanding.
Character Archetypes
I use memorable character archetypes to personify different types of people or behaviors. For example, I’ve written about “The Bullshit Artist” (individuals who talk excessively without substance) and “The Wisdom Sniper” (those who are concise and impactful). These archetypes help readers immediately identify with the scenarios I’m describing and make complex concepts more relatable.
Value-First Writing
I evaluate every paragraph’s value. If it doesn’t serve the reader, I delete or edit it. I focus on why, what, and how, keeping information clear and showing value quickly.
Voice and Tone Guidelines
Show Genuine Emotion
- Express real frustration - “This makes my blood boil,” “It’s a fucking mess.”
- Use strong language when appropriate - “Total asshole move,” “This is where it gets ugly.”
- Display vulnerability - “I feel sad for users. It’s the fuel that drives me to produce top-class software.”
Conversational and Direct
- Write like I’m talking to you - “I’m a user, and I create software. I consistently encounter numerous bugs and annoyances.”
- Use relatable examples - “Imagine a light switch that requires another light switch to turn it on. 🤦🏻♂️.”
- Ask rhetorical questions - Are you stuck in whodunit limbo?"
- Use casual transitions - “And let me tell you, it’s not pretty.”
Problem-Solution Structure
- Identify real problems with concrete examples from daily life.
- Show the human impact - “It’s unfair to subject people to frustration and suffering.”
- Offer practical solutions - “Some have ideas for solutions, but solving these problems requires a scorched-earth approach.”
- End with hope - “Luckily, change is possible. New systems will replace the wasteland of broken user experiences.”
Technical Writing That Actually Helps
Making Complex Simple
I explain developer concepts clearly, using analogies to bridge the gap between technical and non-technical understanding. I include formatted code blocks and real-world scenarios to illustrate the concepts.
I reference resources for learning, connect problems to human experiences, and use concrete examples from work or daily life. I explain why issues matter.
Content Organization That Works
I invite people to learn by creating an open, welcoming entry point. I use clear headings, break content into short sections, include practical examples, and end with actionable takeaways.
I invite readers to share their experiences and insights.
What I Avoid
Weak Language That Undermines Authority
- Eliminate weak qualifiers that undermine confidence and authority.
- Use direct, assertive statements instead of hedging or qualifying.
- Speak with conviction about expertise and insights.
- Avoid language that suggests uncertainty when confident.
Weak Language Examples
❌ Weak Language | ✅ Strong Language |
---|---|
“just” | Remove entirely or use “only” if necessary |
“some” | “Many,” “several,” or be specific with numbers |
“maybe” | “Will,” “can,” or remove if uncertain |
“kind of” / “sort of” | Remove entirely |
“I think” | “I know,” “I’ve found,” or state directly |
“might” | “Will,” “can,” or remove if uncertain |
“could” | “Will,” “does,” or be specific about conditions |
“seems like” | “Is,” “shows,” or state the fact directly |
“probably” | Remove or state the fact with confidence |
“a little bit” | “Some,” “several,” or be specific |
Content Pitfalls
- No emdashes (—) - Use commas for pauses instead.
- No sugar-coating problems - Call out issues directly and passionately.
- No hiding personal frustration - Show genuine emotion and personal stakes.
- No corporate speak - Use authentic, direct voice.
- No claims without evidence - Always back up factual statements with credible references.
See It In Action
These published blog posts show how this writing style comes together:
- What Is Personal Growth?
- Death by 1000 Cuts Series - My most authentic voice
Key Takeaways
- Write with purpose - Every piece serves a clear goal.
- Create juxtapositions - Pair logical ideas with illogical behaviors.
- Make it accessible - Simplify complex concepts for everyone.
- Show genuine emotion - Don’t hide frustration or passion.
- Focus on value - Every paragraph must serve the reader.
- Use strong language - Eliminate weak qualifiers and hedging.
- Tell relatable stories - Make the reader the center of your narrative.
- Refactor like code - If it doesn’t convey the message, edit it to improve clarity.
Comments #