Reddit Community Analysis: r/programming
1. Data Sources & Methodology
- 342 unique posts after deduplication across 4 time periods (all-time, year, month, week), 4 pages each (16 raw JSON files).
- Date collected: April 10, 2026
- Subreddit subscribers: 6,864,525 (one of the largest dev subs on Reddit)
- Score range: 0 to 45,079
- Median score: ~500 (dragged down by the ~100+ downvoted "week" tail)
- Top 25 threshold: ~8,000
- Top 50 threshold: ~6,400
- Top 100 threshold: ~2,800
| Period | Posts | Score Range | Notes |
|---|---|---|---|
| All-time | ~100 | 5,837 - 45,079 | Historical canon: Apollo dev/Reddit, Joel on Software, GTA loading fix, Linus rants |
| Year | ~100 | 1,200 - 9,149 | Heavy AI discourse, layoffs, vibe coding critique, H1-B news |
| Month | ~80 | 1,500 - 2,689 | LLM ban announcement, White House app decompile, Microsoft trillion dollars |
| Week | ~60 | 0 - 570 | Mostly fresh tutorials/articles, many at 0 score with 0.2-0.4 ratio (downvoted) |
This is a content strategy guide for distributing through r/programming, not a sociological study. The dataset skews toward top-performing posts, but the "week" tail captures a critical signal: what the community is currently downvoting.
Cross-subreddit calibration: r/programming is the score-ceiling champion of the developer subs. Its top post (45,079) is the highest in the entire analysis corpus — far above r/webdev's peak of 18,701, r/ClaudeAI's ~8,084, r/learnpython's ~5,000, and r/SideProject's ~6,241. But that ceiling is misleading: nearly all 10k+ posts are legacy news stories from 2016-2021. In 2025-2026, the realistic ceiling is ~9,000 for a hot-take news story and ~3,000-4,000 for a strong technical write-up. A post scoring 500 on r/programming is median; 1,000 is respectable; 3,000+ is strong; 6,000+ is top-50 all-time. By comparison, 500 on r/macapps is a hit. On r/programming, 500 means your post barely cleared the bar and another 60 posts in the same week scored 0.
2. Subreddit Character
r/programming is a 6.8M-subscriber news aggregator and opinion forum where developers gather to be outraged, amused, or validated — not to learn and not to see your project. It is fundamentally a link-sharing community, not a discussion community. The top 100 posts are almost entirely external links (articles, news, blog posts, tweets, YouTube). Self-posts exist but are rare and usually editorial. Images, memes, videos, and galleries are explicitly banned and effectively nonexistent.
Product launches are actively hostile. Rule 5 ("No Product Promotion / 'I Made This' Project Demo Posts") is one of the strictest anti-self-promotion rules on Reddit. The rule is explicit: "We don't care what you built, we care how you build it." A technical write-up about how you solved a hard problem is acceptable; a link to your GitHub with a feature list is not. This is the opposite of r/SideProject or r/macapps. If you're here to market, you will be removed.
The community is currently in open war with LLM-generated content. In April 2026, the mods implemented a temporary total ban on all LLM-related posts (Rule 1: "[April Trial] No LLM-related posts"). This was driven by overwhelming community fatigue with AI discourse flooding the sub. Rule 2 ("No LLM-Written Content") has been in effect longer and bans AI-written posts and AI-written translations or summaries. Rule 6 bans non-programming LLM/diffusion content. If your post mentions LLMs, ChatGPT, Claude, Copilot, vibe-coding, or AI code generation in the title, it is currently at risk of removal during the trial. The community self-polices this aggressively: posts that frame AI positively get downvoted to 0.83-0.88 ratio even when they score well (e.g., "Creator of Claude Code: 'Coding is solved'" at 2,160 / 0.83).
The technical level is higher than you'd expect for a 6.8M sub. This is not r/learnprogramming. Beginner content is explicitly banned (Rule 12: "No Extreme Beginner Content"). The audience is working developers, many with 10+ years of experience. They will call out hype, vendor marketing, surface-level tutorials, and LinkedIn-style thought leadership posts instantly.
Core cultural values, ranked by intensity:
- Anti-corporate-BS and anti-hype — The single strongest signal. Posts that debunk marketing claims dominate: "Study Finds That 52 Percent of ChatGPT Answers to Programming Questions Are Wrong" (6,400), "Anthropic: AI assisted coding doesn't show efficiency gains" (4,012), "Anthropic built a C compiler... has problems compiling hello world" (2,779), "The 'First AI Software Engineer' Is Bungling the Vast Majority of Tasks" (6,100).
- Schadenfreude for big-tech failures and legal battles — "Apollo dev posts backend code to Git to disprove Reddit's claims" (45,079), "TikTok streaming software is an illegal fork of OBS" (16,151), "SourceForge took control of the GIMP account" (7,482), "Twitter Source Code Leaked on GitHub" (8,014), "Notepad++ Hijacked by State-Sponsored Hackers" (1,659). The pattern is consistent: powerful actor does something shady, developer community rallies.
- Pro-developer, anti-executive solidarity — Layoff news, H1-B fees, return-to-office mandates, CEO hot-takes get massive traction. "GitHub CEO Thomas Dohmke Warns Developers: 'Either Embrace AI or Get Out'" scored 1,468 with a 0.79 ratio — meaning it was upvoted and downvoted in near-equal measure because the community rallied to argue against the CEO. The comments are the point.
- Hard-earned technical insight and deep dives — Long-form technical stories about bugs, reverse engineering, and optimization: "How I cut GTA Online loading times by 70%" (19,007), "How a 20 year old bug in GTA San Andreas surfaced in Windows 11 24H2" (2,228), "Reverse Engineering a Mysterious UDP Stream in My Hotel" (7,059), "Making Postgres 42,000x slower because I am unemployed" (1,858). The more specific and technical, the better.
- Open-source advocacy and anti-enshittification — "Bulgaria got a law requiring Open Source for all software" (9,037), "IRS open-sourced its Direct File software" (1,505), "The enshittification of tech jobs" (1,692). Open source is treated as a moral good; proprietary rent-seeking is treated as villainy.
- Developer-wisdom quotes and essays — Carmack, Linus, and Joel Spolsky quotes hit hard: "Software is just a tool... — John Carmack" (8,284), the Joel on Software post about rewrites (26,931), "Linus Torvalds rails against 80-character-lines" (5,837).
Enforcement mechanisms:
- Rule 1 (LLM content ban, April trial) — sticky enforced by mods.
- Rule 2 (No LLM-written content) — ambiguous AI-generated prose is removed at mod discretion.
- Rule 5 (No "I Made This") — the most aggressive rule. Tool announcements, feature lists, and product demo links are removed. The only escape hatch is a substantive technical write-up.
- Rule 7 (No content aggregators) — no listicles, no newsletters, no "15 AI tools that will blow your mind" posts.
- Rule 10 (No images/memes/low-effort) — enforced. This is why r/programming looks so different from r/webdev.
- Community self-policing via downvotes: ~60 posts in the "week" data have a score of 0 and upvote ratios between 0.1 and 0.5. These are heavily-downvoted-on-arrival posts, almost all of them: (a) self-promo/tutorials from new accounts, (b) generic blog content, (c) AI-related posts caught in the April ban.
Mandatory posting rules: No karma requirement visible, but the de facto rule is: post a link to a high-quality technical primary source on an external domain (GitHub for code stories is fine; github.com/yourproject for your project is not). Self-posts (text posts) exist but must be editorial and high-effort — see "Announcement: Temporary LLM Content Ban" (2,689) and a few Torvalds-quote threads. Flairs are almost entirely unused: 340 of 342 posts in this dataset have no flair.
How this sub differs from similar subs: On r/webdev, the craft and memes are part of the culture. On r/learnpython, beginner questions are the point. On r/SideProject, you pitch your product. On r/programming, nobody wants to see your product, nobody wants a beginner tutorial, nobody wants AI discourse, and nobody wants a meme. What they want is a link to something that makes them angry (at a company) or impressed (at a technical feat) or vindicated (about their skepticism of hype). It is the NYTimes front page of the programmer internet.
3. The All-Time Leaderboard
| Rank | Score | Flair | Ratio | Comments | Format | Title (summarized) |
|---|---|---|---|---|---|---|
| 1 | 45,079 | (none) | 0.97 | 2,371 | LINK | Apollo dev posts backend code to disprove Reddit's scraping claims |
| 2 | 26,931 | (none) | 0.94 | 1,073 | LINK | Joel Spolsky: "It's harder to read code than to write it" |
| 3 | 23,729 | (none) | 0.95 | 1,848 | LINK | YouTube page load is 5x slower in Firefox/Edge than Chrome (Polymer) |
| 4 | 21,434 | (none) | 0.95 | 1,261 | LINK | Google wins trial against Oracle — Android is "fair use" |
| 5 | 20,693 | (none) | 0.94 | 330 | LINK | TIL dwitter: 140-char JavaScript visual programs |
| 6 | 19,844 | (none) | 0.96 | 486 | TEXT | OptiKey: free OSS eye-tracking for ALS (3.5 years of spare time) |
| 7 | 19,203 | (none) | 0.94 | 235 | LINK | IKEA-style instruction manuals for algorithms |
| 8 | 19,007 | (none) | 0.97 | 993 | LINK | How I cut GTA Online loading times by 70% |
| 9 | 18,257 | (none) | 0.94 | 1,547 | LINK | Linus Torvalds: Intel needs to admit their CPUs have issues |
| 10 | 18,065 | (none) | 0.96 | 817 | LINK | Inventor says Google is patenting work he put in public domain |
| 11 | 16,151 | (none) | 0.97 | 1,030 | LINK | TikTok streaming software is an illegal fork of OBS |
| 12 | 15,726 | (none) | 0.96 | 1,003 | LINK | GitHub now gives free users unlimited private repositories |
| 13 | 15,320 | (none) | 0.94 | 847 | TEXT | Reddit's main code is no longer open-source |
| 14 | 15,023 | (none) | 0.84 | 834 | LINK | How We Built r/Place (Reddit admin post — ratio shows skepticism) |
| 15 | 14,020 | (none) | 0.94 | 801 | LINK | 18yo arrested for reporting a bug in Budapest e-Ticket system |
| 16 | 13,906 | (none) | 0.98 | 596 | LINK | One person answered 76k SQL questions on StackOverflow in 8.6 years |
| 17 | 13,463 | (none) | 0.96 | 1,078 | LINK | Severe flaw in WPA2 protocol |
| 18 | 13,393 | (none) | 0.95 | 534 | TEXT | r/programming should shut down from 12th-14th June (API protest) |
| 19 | 12,520 | (none) | 0.97 | 864 | LINK | Reddit may force Apollo dev and 3rd-party clients to shut down |
| 20 | 12,398 | (none) | 0.97 | 1,139 | LINK | YYMMDDhhmm formatted times exceed signed int range in 2022 |
| 21 | 12,168 | (none) | 0.97 | 896 | LINK | 20GB leak of Intel data: Git repos, backdoor mentions |
| 22 | 12,015 | (none) | 0.96 | 1,295 | LINK | "Digging around HTML code" is criminal — Missouri Governor |
| 23 | 11,550 | (none) | 0.94 | 1,315 | LINK | Adobe to end-of-life Flash by 2020 |
| 24 | 11,003 | (none) | 0.98 | 691 | LINK | Unfollow Everything developer banned for life from Facebook |
| 25 | 10,796 | (none) | 0.91 | 545 | LINK | Used glitches to inject Flappy Bird source into SNES SMW |
Median score of full dataset: ~500 (with a long 0-score tail from the fresh "week" downvoted posts). Top-25 threshold: ~10,800. Top-10 threshold: ~18,000.
Observations on the leaderboard:
- 24 of 25 top posts are LINK format, one is a TEXT self-post (OptiKey, which is a legendary 2015 edge case — a free open-source accessibility tool where the author poured 3.5 years into it). There are zero images, zero videos, zero galleries in the top 25.
- Flairs are essentially nonexistent — 24 of 25 top posts have no flair at all. Only one uses a flair ironically ("Hooray?" on the HTTP 418 post at rank 30).
- Post #14 ("How We Built r/Place") is the only anomaly: 0.84 ratio means heavy downvoting despite a 15,023 score. The flag is the
distinguished: "admin"field — it was a Reddit admin post, and the community hated it even as they upvoted it. - The top of the list is dominated by news about powerful companies behaving badly: Reddit (Apollo), Google (Oracle, patenting, YouTube/Polymer), Intel (CPU flaws), TikTok (OBS fork), Adobe, Facebook.
- Legacy-weighted: Nearly every top-25 post is 3-10 years old. Nothing from 2024-2026 cracks the top 25. The current ceiling is much lower.
4. Content Type Dominance at Scale
Because 340 of 342 posts in this dataset have an empty flair string, flair-based segmentation is meaningless on r/programming. Instead, I've segmented by topic archetype as derived from reading the titles.
| Archetype | Top 25 | Top 50 | All Posts | Avg Score (All) | Avg Ratio | Best Post (title + score) |
|---|---|---|---|---|---|---|
| Big-tech wrongdoing / legal / leak | 11 | 22 | ~60 | ~5,200 | 0.96 | Apollo dev disproves Reddit (45,079) |
| Deep technical write-up / war story | 4 | 9 | ~40 | ~3,800 | 0.96 | How I cut GTA Online loading by 70% (19,007) |
| Developer wisdom quote / essay | 3 | 6 | ~25 | ~3,400 | 0.95 | Joel on Software rewrites (26,931) |
| Anti-AI-hype / AI failure news | 0 | 2 | ~35 | ~2,100 | 0.92 | ChatGPT wrong 52% of the time (6,400) |
| Layoffs / H1-B / career anxiety | 1 | 3 | ~25 | ~1,900 | 0.93 | Microsoft H1-B return-to-US (9,149) |
| Reverse engineering / "how X works" | 2 | 4 | ~20 | ~2,800 | 0.96 | Flappy Bird into SNES SMW (10,796) |
| Open-source / legal / policy news | 2 | 4 | ~30 | ~2,500 | 0.96 | Bulgaria OSS law (9,037) |
| Language / tool release / technical news | 1 | 2 | ~25 | ~1,400 | 0.94 | .NET Core open-sourced (6,517) |
| Tutorial / explainer (tail end) | 0 | 0 | ~40 | ~60 | 0.55 | Most at 0-200 score, many downvoted |
| (none flair, no topic fit) | — | — | 340 | — | — | — |
The most surprising finding: "Deep technical write-up" posts have nearly the same average score as "big-tech wrongdoing" posts (3,800 vs 5,200), but with a much higher probability of being allowed to stay. The wrongdoing category gets the biggest viral hits, but it's externally gated — you have to be linking to a story someone else broke. The technical write-up category is something you can actually manufacture, and it's the only reliable way to reach 3,000+ with content you control.
Tutorial and explainer posts are where submissions go to die. Roughly 40 posts in the "week" data are generic blog-post tutorials ("How HTTP Works", "Understanding RabbitMQ", "How to implement the Outbox pattern") and nearly all of them scored 0-13 with upvote ratios of 0.27-0.55. These are being actively downvoted, not just ignored. This is the single most important insight for distribution: tutorials on common topics are toxic on r/programming unless they contain a novel technical insight.
5. Content Archetypes That Work
Archetype 1: The Powerful-Company-Behaving-Badly Link (the franchise)
- Score range: 6,000 – 45,079
- Examples:
- "Apollo dev posts backend code to Git to disprove Reddit's claims" (45,079)
- "TikTok streaming software is an illegal fork of OBS" (16,151)
- "SourceForge took control of the GIMP account and is distributing ad-enabled installer" (7,482)
- "A 3mil downloads/mo JavaScript library is adding paid advertisements to users' terminals" (6,727)
- "Twitter Source Code Leaked on GitHub" (8,014)
- The pattern: A specific, named company did something that harms developers or violates open-source norms. Evidence is concrete (a Git repo, a screenshot, a legal filing). The title is a factual indictment, not an opinion. Commenters pile on.
- Why it matters for distribution: This is the highest-ceiling archetype but you cannot manufacture it. If you happen to have direct evidence of corporate malfeasance in your domain, this is how you get 10k+. Not relevant for most launches.
Archetype 2: The Deep Technical War Story (the manufacturable hit)
- Score range: 1,200 – 19,007
- Examples:
- "How I cut GTA Online loading times by 70%" (19,007)
- "How a 20 year old bug in GTA San Andreas surfaced in Windows 11 24H2" (2,228)
- "Reverse Engineering a Mysterious UDP Stream in My Hotel" (7,059)
- "An in-depth explanation of how a 10 year old bug in Guitar Hero was reverse-engineered" (6,534)
- "Making Postgres 42,000x slower because I am unemployed" (1,858)
- "Root Cause of the June 12, 2025 Google Cloud Outage" (1,952)
- "How a Bug in Bun may have been the root cause of the Claude Code source code leak" (1,166)
- The pattern: First-person, specific, surprising result, detailed methodology. Titles always include a concrete number ("70%", "20 year old", "42,000x") or a concrete artifact (UDP stream, bug in Guitar Hero). The post links to a long-form blog post on the author's own domain — this is one of the few archetypes where a personal blog is welcomed.
- Why it matters for distribution: This is the archetype to adopt if you're launching anything. Do not pitch your product. Instead, extract the single hardest engineering problem you solved while building it, write it up as a standalone technical story, and submit the story. The tool is incidental; the story is the post.
Archetype 3: The Anti-Hype Validation Post (the 2025-2026 engagement machine)
- Score range: 1,200 – 6,400
- Examples:
- "Study Finds That 52 Percent of ChatGPT Answers to Programming Questions Are Wrong" (6,400)
- "Anthropic: AI assisted coding doesn't show efficiency gains and impairs developers abilities" (4,012)
- "The 'First AI Software Engineer' Is Bungling the Vast Majority of Tasks" (6,100)
- "Study finds that AI tools make experienced programmers 19% slower" (2,499)
- "Anthropic built a C compiler using a 'team of parallel agents', has problems compiling hello world" (2,779)
- "Vibe Coding Is Creating Braindead Coders" (1,766)
- "'I'm being paid to fix issues caused by AI'" (1,427)
- The pattern: A study, paper, or news story that contradicts AI/vibe-coding hype. The community rewards validation of their skepticism. Comment counts are very high (400-800) because this is the discussion that people actually want to have.
- ⚠️ CURRENTLY UNDER THE APRIL LLM BAN: During the April 2026 trial, all LLM-related posts are banned regardless of angle. This archetype is the dominant engagement driver of the last 12 months, but it is temporarily unavailable. Plan around it.
- Why it matters for distribution: When the ban lifts, this is the fastest path to a viral post for anyone with a data-driven critique of AI coding tools.
Archetype 4: The Named-Expert Quote/Rant
- Score range: 1,200 – 26,931
- Examples:
- Joel Spolsky on code rewrites (26,931)
- "Software is just a tool... — John Carmack" (8,284)
- "Linus Torvalds: I think somebody inside of Intel needs to really take a long hard look at their CPU's" (18,257)
- "Linus Torvalds rails against 80-character-lines" (5,837)
- "Linus Torvalds: Vibe coding is fine, but not for production" (2,627)
- "Linus Torvalds: 'The AI slop issue is NOT going to be solved with documentation'" (1,281)
- The pattern: A named luminary (Linus is the king — 5+ posts in the dataset), Carmack, Joel, or a tenured figure says something blunt. Title quotes them directly. Link goes to the primary source (tweet, mailing list, blog).
- Why it matters for distribution: You can't fake this, but you can harvest it. If you're building a tool and a famous engineer publicly endorses or critiques a related technology, a timely post quoting them can hit 2,000+.
Archetype 5: The Hard-Numbers Bug/Outage Post-Mortem
- Score range: 1,500 – 12,400
- Examples:
- "In 2022, YYMMDDhhmm formatted times exceed signed int range, breaking Microsoft services" (12,398)
- "Severe flaw in WPA2 protocol leaves Wi-Fi traffic open to eavesdropping" (13,463)
- "Citibank just got a $500 million lesson in the importance of UI design" (6,771)
- "Root Cause of the June 12, 2025 Google Cloud Outage" (1,952)
- "Cloudflare outage on November 18, 2025 - official response" (1,642)
- "Airline software super-bug: Flight loads miscalculated because 'Miss' treated as child" (6,679)
- The pattern: A specific incident with concrete financial, human, or systemic cost. Postmortems from named companies (Cloudflare, Google) get trusted automatically.
- Why it matters for distribution: If you've written a detailed post-mortem of something that broke, this is a strong archetype. Include the specific cost (dollars, time, users affected) in the title.
Archetype 6: The Cultural-Identity Essay
- Score range: 1,300 – 9,000
- Examples:
- "It is perfectly OK to only code at work, you can have a life too" (7,526, 7,252, 6,840 — three separate viral reposts of the same idea)
- "'There should never be coding exercises in technical interviews'" (8,970)
- "Live coding interviews measure stress, not coding skills" (1,233)
- "I am a programmer, not a rubber-stamp that approves Copilot generated code" (1,642)
- "The enshittification of tech jobs" (1,692)
- The pattern: An essay that validates a shared grievance about how developers are treated. Anti-leetcode, anti-overwork, anti-surveillance, anti-return-to-office, anti-AI-mandate. Title is declarative, not clickbaity.
- Why it matters for distribution: Low score ceiling compared to archetypes 1-2, but very high comment-to-upvote ratio — these generate massive discussion and can be used to seed product awareness indirectly.
6. Format Analysis
| Format | Top 25 | Top 50 | All Posts | Top 25 % | All % |
|---|---|---|---|---|---|
| LINK | 23 | 48 | 320 | 92% | 94% |
| TEXT | 2 | 2 | 22 | 8% | 6% |
| VIDEO | 0 | 0 | 3 | 0% | <1% |
| IMAGE | 0 | 0 | 0 | 0% | 0% |
| GALLERY | 0 | 0 | 0 | 0% | 0% |
| GIF | 0 | 0 | 0 | 0% | 0% |
r/programming is monoformat. It is essentially a link-sharing site that happens to run on Reddit. The only two TEXT posts in the top 50 are (1) OptiKey 2015, which is a legendary accessibility story that predates current rules, and (2) the Apollo API protest shutdown post from 2023 — both are editorial/community-meta posts, not product posts. The 3 VIDEO posts in the whole dataset are: "Bubble sort visualization" (7,429), "Fascinating LiDAR illustration" (6,931), and a stackoverflow languages timelapse (6,048). All three are 5+ years old and are visualizations, not demos.
What Format to Use For What
- Tool/app launches → DO NOT LAUNCH HERE. If you must, link to a technical blog post on your domain about the hardest engineering problem in the tool. Never link to the repo readme. Never link to a marketing page. LINK format only.
- Workflow/process posts → LINK to a blog post. Self-hosted blog is ideal; Medium/Substack is tolerated but suspicious.
- Tutorials → Avoid. The community downvotes generic tutorials. Only acceptable if you've invented a genuinely novel approach to a well-known problem.
- Questions/discussions → TEXT (self-post). Rare but works for meta-community topics only. Never for technical help (use r/learnprogramming).
- News commentary → LINK to the primary source, not to your analysis. Editorializing in the title is tolerated but risky.
- Humor/memes → BANNED (Rule 10). Do not even try.
What Makes a Good Technical Blog Post (the only real distribution vehicle)
- First-person war story framing: "I tried X, hit problem Y, found the weird fix Z." Second-person tutorials are downvoted; first-person discoveries are upvoted.
- Concrete numbers in the title: "70%", "42,000x", "20-year-old bug", "$500 million". Abstract titles ("A guide to optimization") die.
- Primary-source link only: The post must link to your blog (not the GitHub repo). The comments will ask for the repo. Let them.
- Length is a virtue: Top technical posts are 2,000-5,000 word blog posts. Short posts are suspected of being AI-generated or SEO spam.
- Specific subject, not generic: "How Postgres refreshes materialized views" beats "A guide to Postgres optimization". Narrower wins.
7. Flair/Category Strategy
There is effectively no flair strategy on r/programming. 340 of 342 posts in this dataset have an empty flair. The two that do use flair — "Hooray?" on the HTTP 418 post and "Trending Terrible Title" on a Pokemon/Minecraft post — appear to be sarcastic mod-applied flairs, not user selections. The sub has no mandatory flair system and no user-visible flair categories for distribution purposes.
What this means for distribution:
- Don't worry about picking a flair.
- Focus all your effort on the title and the linked content.
- The mods decide whether your post belongs based on the content, not the flair.
Pricing-model preferences: Not applicable. r/programming doesn't discuss pricing because nobody is selling anything here. The nearest analog is that the community has a strong anti-rent-seeking / anti-enshittification value. If your product exists and you must mention it in comments, lifetime pricing and free tiers are viewed favorably; subscription-only products are viewed with suspicion but not hostility.
Title-prefix tag conventions: Unlike r/macapps ([FREE], [OS]) or r/gamedev, r/programming has no accepted bracket-tag convention. Do not invent one. The one recurring prefix pattern is the literal "TIL" (Today I Learned) which works for factual-interesting posts: "TIL there's a community called dwitter" (20,693), "TIL the current hash function for Java strings is of unknown author" (9,222).
8. Title Engineering
Deconstructing the Top 10
- "Apollo dev posts backend code to Git to disprove Reddit's claims..." (45,079) — Named protagonist (Apollo dev), verb of conflict (disprove), named antagonist (Reddit), concrete evidence (backend code to Git). Pure journalistic framing.
- "There's a reason that programmers always want to throw away old code..." (26,931) — Opens with a universal developer experience, drops into a thesis statement. Long, quote-style title.
- "YouTube page load is 5x slower in Firefox and Edge than in Chrome because..." (23,729) — Specific number (5x), specific companies, causal explanation (because YouTube relies on deprecated Shadow DOM v0). Anger bait with technical receipts.
- "Google wins trial against Oracle..." (21,434) — News headline, high-stakes conflict, developer-relevant outcome.
- "TIL there's a community called 'dwitter'..." (20,693) — "TIL" prefix, specific artifact (dwitter), concrete constraint (140 characters).
- "Eye tracking software for sufferers of ALS/MND can cost tens of thousands..." (19,844) — Problem framing, moral stakes, concrete alternative (free open-source).
- "Cool website that explains algorithms as if they are IKEA instruction manuals" (19,203) — Unexpected metaphor, concrete reference (IKEA).
- "How I cut GTA Online loading times by 70%" (19,007) — First-person, concrete brand, concrete result, concrete number. The platonic ideal.
- "Linus Torvalds: I think somebody inside of Intel needs to really take a long hard look..." (18,257) — Named authority, direct quote, named villain.
- "Inventor says Google is patenting work he put in the public domain" (18,065) — Protagonist vs. antagonist, concrete artifact (public domain).
Title Formulas That Work
Formula 1: "How I [concrete verb] [specific target] by [concrete number]%"
- "How I cut GTA Online loading times by 70%"
- "Tik Tok saved $300000 per year... by rewriting a microservice in Rust"
- "Making Postgres 42,000x slower because I am unemployed"
Formula 2: "[Named company] [did specific bad thing] [to specific victim]"
- "TikTok streaming software is an illegal fork of OBS"
- "SourceForge took control of the GIMP account..."
- "Unfollow Everything developer banned for life from Facebook..."
Formula 3: "[Linus Torvalds / Carmack / named expert]: [blunt quote]"
- "Linus Torvalds rails against 80-character-lines..."
- "'Software is just a tool...' — John Carmack"
- "Linus Torvalds: Vibe coding is fine, but not for production"
Formula 4: "Study finds [counter-hype result]"
- "Study Finds That 52 Percent of ChatGPT Answers to Programming Questions Are Wrong"
- "Study finds that AI tools make experienced programmers 19% slower"
- "Anthropic: AI assisted coding doesn't show efficiency gains"
Formula 5: "TIL [surprising fact about famous code/technology]"
- "TIL there's a community called 'dwitter'..."
- "TIL the current hash function for Java strings is of unknown author..."
Formula 6: "[Specific old bug or system] [surfaces/breaks] in [specific modern context]"
- "How a 20 year old bug in GTA San Andreas surfaced in Windows 11 24H2"
- "In 2022, YYMMDDhhmm formatted times exceed signed int range, breaking Microsoft services"
Title Anti-Patterns (community-specific)
- "Introducing..." / "Announcing..." — Pattern-matches to marketing. Zero top posts start this way except for rare major releases ("Announcing TypeScript 6.0" at 251 — barely above zero for TypeScript news on a 6.8M sub).
- Generic tutorial framing: "How HTTP Works", "Understanding X in simple terms", "A Complete Guide to Y". ~40 posts in the week data use this framing and scored 0 with 0.2-0.4 ratios. The community sees this as content marketing.
- Listicle and aggregator titles: Banned by Rule 7 and downvoted instantly. "N cool tools that...", "N things every dev should know".
- Question-mark clickbait: "Are microservices still worth it?", "Why the heck are we still using Markdown??" — both at 0 score with 0.19 ratio. Rhetorical question titles are deeply distrusted.
- AI/LLM title prefixes (during the April trial): Any post with "AI", "LLM", "ChatGPT", "Claude", "Copilot", "GPT", or "vibe coding" in the title is currently at risk of removal regardless of content.
- Personal-brand-story titles: "After 10 years of coding, here's what I learned..." — this is a LinkedIn format and it dies here.
- Emoji or caps-lock in titles: Nonexistent in the top 100. Treat as forbidden.
9. Engagement Patterns
| Content Type | Avg C/U Ratio | Interpretation |
|---|---|---|
| Big-tech wrongdoing / legal / leak | ~0.08 | Broad upvote base, heavy discussion |
| Deep technical war story | ~0.05 | Readers quietly upvote and share |
| Cultural identity essay | ~0.13 | High discussion (anti-leetcode, anti-overwork) |
| Layoffs / H1-B / career anxiety | ~0.20 | Very high discussion, often debate |
| AI/LLM discourse (pre-ban) | ~0.18 | Extremely high discussion, sometimes heated |
| Developer wisdom quote / essay | ~0.10 | Moderate discussion |
| Reverse engineering / "how X works" | ~0.04 | Low C/U — passive appreciation |
| Post-mortem / outage | ~0.07 | Moderate discussion |
Visibility vs. Discussion
- If your goal is VISIBILITY (maximum upvotes and external share): Use the Deep Technical War Story archetype. These posts get massive passive upvoting (0.04 C/U) which means more people upvote than comment. 5,000 upvotes with 200 comments is a strong visibility play.
- If your goal is RELATIONSHIPS and discussion (get people to engage with your thesis): Use the Cultural Identity Essay or Layoffs/Career archetype. A post at 2,000 score with 500 comments generates more community awareness than 5,000 score with 100 comments, because the comment thread is where your name and position are seen.
Highest-Discussion Topics (by raw comment count)
- "Apollo dev posts backend code..." — 2,371 comments
- "There aren't that many uses for blockchains" — 2,203 comments
- "Developers who use spaces make more money than those who use tabs" — 2,017 comments
- "YouTube page load is 5x slower in Firefox..." — 1,848 comments
- "Git 3.0 using 'main' as default branch" — 1,818 comments
- "Microsoft agrees to acquire GitHub" — 1,817 comments
- "The .NET Core is now open-source" — 1,815 comments
- "Is it unethical for me to not tell my employer I've automated my job?" — 1,731 comments
- "Linus Torvalds: Intel needs to take a long hard look..." — 1,547 comments
The highest-discussion topics are almost all culture war / identity / ethics questions: tabs-vs-spaces, main-vs-master, automation-of-your-job, acquisitions. Technical postmortems get upvotes; ethics questions get debate.
10. What Gets Downvoted
Ratio Tiers
- Above 0.94: Universally well-received (most of top 25 is here). The community agrees with the framing.
- 0.85-0.94: Net positive but with friction. Often indicates a controversial angle, a disliked source, or a divisive subject.
- Below 0.85: Controversial or community-hostile. Title or content is actively triggering downvote brigades.
- Below 0.50: The "week" tail — posts that are being mass-downvoted on arrival. Usually tutorials, self-promo, or AI content during the ban.
Notable Friction Posts (ratio below 0.90)
| Title | Score | Ratio | Why it got friction |
|---|---|---|---|
| How We Built r/Place | 15,023 | 0.84 | Reddit admin post, community hates Reddit admins |
| Text analysis of Trump's tweets (Android half) | 6,916 | 0.85 | Political content, Rule 4 adjacent |
| Just fucking code. | 3,722 | 0.88 | Anti-AI snark seen as lecturing |
| Git 3.0 main-vs-master | 3,137 | 0.88 | Tabs/spaces-style culture war |
| Coinbase CEO fires engineers who didn't try AI | 2,268 | 0.88 | Anger bait, community torn on whether to reward |
| Creator of Claude Code: "Coding is solved" | 2,160 | 0.83 | Pro-AI hype — community downvoted aggressively |
| GitHub CEO: Embrace AI or Get Out | 1,468 | 0.79 | Pro-AI CEO quote, brigaded down |
| $100,000 H-1B Fee (pro-US-dev framing) | 1,642 | 0.70 | Political framing seen as jingoistic |
| Fetlang - Fetish-themed programming language | 7,234 | 0.88 | Humor title, borderline Rule 10 |
Anti-Patterns (with names)
- "The Pro-AI Cheerleader" — Any post with a CEO or founder saying AI is great or programmers should embrace AI. Example: "GitHub CEO Thomas Dohmke Warns Developers: 'Either Embrace AI or Get Out of This Career'" (1,468, 0.79). The community upvotes to debate it, then downvotes to punish it.
- "The Generic Tutorial" — "How HTTP Works", "Understanding RabbitMQ", "Microservices Explained". 40+ examples in the week data scoring 0-50 with 0.2-0.4 ratios.
- "The Newsletter/Listicle Aggregator" — Medium articles with "15 tools that...", "Top 10 X", "Every developer should know". Rule 7 violation. Instant removal.
- "The Personal-Brand LinkedIn Post" — "After 10 years of coding I learned...", "The most important skill for developers in 2026 is...". 5-10 examples in the week data at 0 score.
- "The Self-Promo in Disguise" — A blog post whose main purpose is driving traffic to a product. Usually obvious from the domain or the last paragraph. Comments flag it, mods remove it.
- "The Political Framing" — Rule 3 bans political posts, but the community also downvotes posts with political angles. The H1-B fee post at 0.70 ratio is a clear example.
- "The AI-Written Prose" — Rule 2 bans this. Writing style that's recognizably LLM-generated (bullet-heavy, overly-balanced tone, "in conclusion...") gets called out and removed.
Enforcement via Community Self-Policing
Unlike some subs with an explicit blacklist or hall of shame, r/programming's enforcement comes from two places:
- The mod team aggressively removes anything that violates Rules 1-7. A removed post leaves no trace for users but is reflected in missing post histories.
- The downvote brigade: Within 15-30 minutes of posting, a suspected self-promo or AI-content post can be dragged from 10 to -5 by habitual downvoters. The "week" data in this dataset captures dozens of such posts at 0 score with 0.2-0.4 ratio.
11. The Distribution Playbook
Phase 1: Pre-launch (weeks before you post)
- Read the rules literally. Not paraphrased — the actual rule text. Rule 5 in particular. Print it out. Nothing else matters if your post is removed.
- Check the LLM ban status. As of April 2026, there is an active total ban on LLM-related posts. Check the sub's pinned announcement before posting anything AI-adjacent.
- Build a blog on your own domain. Not Medium (tolerated but suspect), not Substack (suspect), not LinkedIn (dead). A self-hosted technical blog. This is the vehicle for every post.
- Write 3-5 technical posts before you try distribution. Build a body of work so that when someone clicks your domain they see substance, not a landing page.
- Identify the hardest engineering problem in your project. Not the most interesting feature — the hardest problem you had to solve. That's your post. Write a 2,000-4,000 word deep dive on it.
- Create a Reddit account with real comment history in adjacent subs (r/webdev, r/learnprogramming, r/cscareerquestions, r/java, r/rust, etc.). Submit from a 6-month-old account with 500+ comment karma, not a new account.
Phase 2: Launch day
- Post format: LINK to your blog post. Never self-post. Never link to GitHub repo or product page.
- Title format: First-person war story with a concrete number. Use Formula 1: "How I [verb] [target] by [concrete result]". Example: "How I debugged a 3-week CI failure down to a single missing FS sync flag"
- Title anti-checks: Does it start with "Introducing", "Announcing", or "A guide to"? Delete and rewrite. Does it say "AI", "LLM", "Claude", "GPT", or "vibe coding"? Delete and rewrite or hold until the April ban lifts.
- Flair: None. Leave it blank.
- Timing: Post during US morning (13:00-17:00 UTC is when top posts in the dataset cluster) on a weekday. Avoid Friday afternoon and weekends — the sub is slower.
- Do NOT cross-post on launch day. Let r/programming stand alone. Multi-subreddit blitzes trigger self-promo detection.
Phase 3: First 24-48 hours
- Comment strategy: Be in the comments within 30 minutes. Answer technical questions with specifics, not marketing.
- Do NOT mention your product name or company in the top-level post comment unless directly asked. If asked, give one brief factual answer and pivot back to the technical content.
- Watch the ratio: If it's above 0.92 after 2 hours, you're winning. If it's below 0.85 and the score is stuck, the community is rejecting the framing — engage with the critics directly and honestly.
- Handle the "is this an ad?" accusation: The only winning response is "No, I wrote this because [specific technical interest]. Here's the repo for the project if you're curious: [link]." Never get defensive.
- Don't delete and repost. It flags you.
Phase 4: Ongoing presence
- Post a new technical story every 2-4 weeks from the same Reddit account and same blog. Build a reputation as "the person who writes good deep-dives on X".
- Comment frequently on others' posts with substantive technical answers. Your comment history is your distribution moat.
- Stop launching. After 3-4 technical posts, the people who care about what you're building have already found your blog and GitHub organically. You don't need to keep pitching.
- Never post the same link twice. Even years apart.
Community-Specific Comment Reply Templates
Objection: "Is this an ad?"
No, I wrote this because [specific technical problem] was genuinely interesting to debug. The project is [name] but I'm not trying to promote it — if you're curious, [link], otherwise the technical details of how I solved [X] are what I wanted to share.
Objection: "Why didn't you just use [existing tool]?"
Good question — I tried [tool] first. It didn't work for me because [specific technical reason: e.g., couldn't handle backpressure, required protocol X, depended on runtime Y]. Happy to discuss the tradeoffs if you want.
Objection: "This is AI-written"
It's not. I'll happily answer any specific technical question about [X] — those details aren't on any blog or in any training data. [Then proceed to answer in specific, concrete detail.]
Objection: "This is basic / everyone knows this"
Fair if you've seen it before — the context where it bit me was [specific unusual environment]. I wrote it up because I couldn't find it documented anywhere when I was debugging it.
Objection: "Your benchmark is wrong / methodology is flawed"
You're right that [specific concession]. Here's the raw data and the reproduction steps: [link]. I'm happy to run it under your methodology if you want to specify the constraints.
Stealth Distribution Tactics
- Be the person in the comments on other people's technical posts. If you write detailed, correct, helpful comments on r/programming for 6 months, people will click your profile and find your blog.
- Answer Linus/Carmack/Joel-style quote posts in-depth. These posts generate heavy comment discussion and your thoughtful technical comment can get 100+ upvotes inside a 3,000-upvote post.
- Post post-mortems of your own system failures. Self-deprecating technical honesty about a bug you caused is the most loved content on this sub. "I broke production by [X]. Here's how I debugged it and what I learned."
- Never post about your product directly. Let the blog posts do it.
Score-Tier Calibration (Realistic Expectations)
- First post by an unknown author: Expect 100-500 if the technical content is strong. Expect 0 with 0.3 ratio if the title is weak or it reads like marketing.
- Third or fourth post after building reputation: Expect 500-2,000 if technical quality remains high.
- Viral hit on a strong war story: 3,000-6,000 is the realistic ceiling for a post you manufactured. Anything above 6,000 in 2025-2026 requires either (a) a genuine corporate-wrongdoing news story or (b) unusual emotional resonance.
- Forget the 10k+ numbers in the top 25: Those are legacy news stories from 2016-2021. The ceiling has dropped significantly as the sub has grown and become more skeptical.
Post-Publication Measurement
- Ratio < 0.85 in the first hour → the community is rejecting the framing. Engage with critics in comments honestly. If ratio doesn't recover by hour 3, delete and do not repost.
- Ratio 0.85-0.92 and score climbing → friction but winning. Stay engaged in comments.
- Ratio > 0.94 and score climbing → you're on a hit. Do not over-post in the comments (3-5 high-quality replies are enough).
- Score stuck at 5-15 after 2 hours → dead on arrival. Likely filtered by AutoMod or shadow-removed by mods. Message mods politely to ask if the post was removed.
- Score 0 with 0.3 ratio after 30 minutes → you've been downvote-brigaded. Almost always means your title pattern-matched to self-promo or AI slop. Delete, rewrite the title, wait 2 weeks, try again.
12. Applying This to Any Project
Quick-Reference Checklist (Before You Hit Submit)
- Is the link to a long-form technical blog post on your own domain? (If GitHub repo → STOP.)
- Is the title first-person with a concrete number or specific artifact? (If "Introducing..." → STOP.)
- Does the title mention AI/LLM/ChatGPT/Claude/Copilot? (If yes, and April ban is active → STOP.)
- Is the content a war story, post-mortem, or reverse-engineering deep dive? (If tutorial → STOP.)
- Is your Reddit account >3 months old with >500 comment karma? (If no → build it first.)
- Are you posting on a US-morning weekday? (If Friday night → wait.)
- Have you already posted anything else to r/programming this week? (If yes → wait.)
- Have you read Rules 1, 2, 5, and 7 in the last 24 hours? (If no → re-read.)
- Is your blog post genuinely specific and non-generic? (If someone else could have written the same post → rewrite.)
- Are you prepared to respond to 10+ technical comments in the first 2 hours? (If no → wait until you are.)
Scenario-Based Launch Guides
Scenario A: Free / Open-Source Project
- Optimal formula: "How I [built / debugged / optimized] [specific non-obvious thing in your project]"
- Example: "How I made our CSV parser 3x faster by replacing a hashmap with SIMD"
- Key risk: Don't mention your project name in the title. Let it live in the blog post's byline.
Scenario B: Paid Product / Commercial Tool
- Optimal formula: Extract a technical challenge from building the product, write it as an independent engineering story, link to the blog post — never to the product page.
- Example: "Debugging a 3-hour latency spike caused by a Linux kernel fsync bug on AWS gp3"
- Key risk: The community will find the product page from your blog anyway. The purpose is to establish technical credibility, not drive signups. Do not mention pricing in the post.
Scenario C: AI-Based or LLM Tool
- DURING APRIL 2026 BAN: DO NOT POST. YOU WILL BE REMOVED.
- After the ban lifts: Extract a non-AI technical challenge (infrastructure, data pipeline, UI, performance) and post that. Do not frame it as an AI tool. The community will tolerate AI-adjacent content if the technical story is not about the AI.
- Key risk: Every other dev sub welcomes AI content; this one actively punishes it. Calibrate accordingly.
Scenario D: Personal Library or Dev Tool
- Optimal formula: Find the 1 surprising technical thing your library does better than alternatives and write about that mechanism, not the library.
- Example: "Why I stopped using regex for log parsing and what I learned about parser combinators"
- Key risk: Tutorial framing. Rewrite until the post is about your discovery, not about how to use the library.
Scenario E: Major Post-Mortem / Outage
- Optimal formula: Title with the specific cost (money, time, users affected) and the specific root cause.
- Example: "Why our $40k/month AWS bill doubled overnight: a misconfigured NAT gateway and 8 hours of debugging"
- Key risk: Too much corporate-ish language. Write it like a personal blog post, not a company blog post. Use "I" not "we" where possible.
Cross-Posting Guidance (vs. Other Analyzed Subs)
If you have a single piece of technical content you want to distribute:
- On r/programming: Frame as "I solved this hard engineering problem" — link to blog, no product mention.
- On r/webdev: Frame as "I made this for the web-dev community" — more craft-oriented, Showoff Saturday only.
- On r/SideProject: Frame as "I built this, here's what I learned" — personal story about the journey.
- On r/macapps: Frame as "macOS was missing X, so I built it" — consumer-facing launch.
- On r/learnpython: Frame as "here's a complete tutorial" — didactic, beginner-accessible.
- On r/ClaudeAI / r/ChatGPT / r/LocalLlama: Frame as "I built this with AI" — LLM-centric.
- On r/indiedev / r/gamedev: Frame as "devlog of game feature" — games-specific.
The same project should be pitched with 7 different angles on 7 different subs. r/programming is the strictest of all of them — it is the only sub where you should actively hide that you have a product and only show the engineering. If your blog post wouldn't be worth reading even if the product didn't exist, don't post it on r/programming.
Final calibration note: r/programming is the hardest major developer sub to distribute through. Its score ceiling is the highest in the corpus (45k) but its median post gets 0-500, and the "week" data shows that ~60% of new submissions are immediately downvoted to 0. It will take 3-5 high-effort attempts to land a single post that hits 1,000+. But if you do land one, the exposure is worth more than almost any other dev sub because the audience is senior, technical, and globally distributed. Treat r/programming like The New York Times tech section: you don't buy an ad, you write a story good enough that the editors want to run it.