<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Matty Stratton</title>
    <description>The latest articles on Forem by Matty Stratton (@mattstratton).</description>
    <link>https://forem.com/mattstratton</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F38834%2F68a98062-d7f1-4797-8a79-a34d8d217a27.jpg</url>
      <title>Forem: Matty Stratton</title>
      <link>https://forem.com/mattstratton</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/mattstratton"/>
    <language>en</language>
    <item>
      <title>How Do PostgreSQL Indices Work, Anyways?</title>
      <dc:creator>Matty Stratton</dc:creator>
      <pubDate>Wed, 18 Mar 2026 14:35:21 +0000</pubDate>
      <link>https://forem.com/tigerdata/how-do-postgresql-indices-work-anyways-3jnn</link>
      <guid>https://forem.com/tigerdata/how-do-postgresql-indices-work-anyways-3jnn</guid>
      <description>&lt;p&gt;You've probably created a hundred indexes in your career. Maybe a thousand. You ran &lt;code&gt;EXPLAIN ANALYZE&lt;/code&gt;, saw "Index Scan" instead of "Seq Scan," pumped your fist, and moved on.&lt;/p&gt;

&lt;p&gt;But do you actually know what's happening underneath? Because once you do, a lot of things about PostgreSQL performance start to make a &lt;em&gt;lot&lt;/em&gt; more sense. And some of the pain points you've been fighting start to feel less like mysteries and more like, well, physics.&lt;/p&gt;

&lt;h2&gt;
  
  
  It's a tree. Obviously.
&lt;/h2&gt;

&lt;p&gt;The default index type in PostgreSQL is a B-tree. You knew that. But let's talk about what that actually means for your data.&lt;/p&gt;

&lt;p&gt;When you create an index on, say, a &lt;code&gt;timestamp&lt;/code&gt; column, PostgreSQL builds a balanced tree structure where each node contains keys and pointers. The leaf nodes point to actual heap tuples (your rows on disk). The internal nodes just help you navigate. Think of it like a phone book. (Do people still know what phone books are? I'm aging myself.)&lt;/p&gt;

&lt;p&gt;The key thing to understand: the index is a &lt;em&gt;separate data structure&lt;/em&gt; from your table. It lives in its own pages on disk. When you insert a row, PostgreSQL doesn't just write your row. It also has to update every index on that table. Every. Single. One.&lt;/p&gt;

&lt;p&gt;So if you have a table with five indexes and you're doing 50,000 inserts per second, that's not 50K write operations. That's 250K+ B-tree insertions per second, plus the heap write. Oof.&lt;/p&gt;

&lt;p&gt;You can see exactly how much space each index is consuming with &lt;code&gt;\di+&lt;/code&gt; in psql:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="n"&gt;di&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="k"&gt;public&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;

&lt;span class="c1"&gt;-- Or if you want programmatic access:&lt;/span&gt;
&lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="n"&gt;indexrelid&lt;/span&gt;&lt;span class="p"&gt;::&lt;/span&gt;&lt;span class="n"&gt;regclass&lt;/span&gt; &lt;span class="k"&gt;AS&lt;/span&gt; &lt;span class="n"&gt;index_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
       &lt;span class="n"&gt;pg_size_pretty&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;pg_relation_size&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;indexrelid&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="k"&gt;AS&lt;/span&gt; &lt;span class="n"&gt;index_size&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
       &lt;span class="n"&gt;idx_scan&lt;/span&gt; &lt;span class="k"&gt;AS&lt;/span&gt; &lt;span class="n"&gt;times_used&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
       &lt;span class="n"&gt;idx_tup_read&lt;/span&gt; &lt;span class="k"&gt;AS&lt;/span&gt; &lt;span class="n"&gt;tuples_read&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt;   &lt;span class="n"&gt;pg_stat_user_indexes&lt;/span&gt;
&lt;span class="k"&gt;WHERE&lt;/span&gt;  &lt;span class="n"&gt;schemaname&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'public'&lt;/span&gt;
&lt;span class="k"&gt;ORDER&lt;/span&gt;  &lt;span class="k"&gt;BY&lt;/span&gt; &lt;span class="n"&gt;pg_relation_size&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;indexrelid&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;DESC&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Run that on your biggest table. If you see indexes measured in gigabytes that have &lt;code&gt;idx_scan = 0&lt;/code&gt;, those indexes are costing you writes and giving you nothing back. They're dead weight.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pages, not rows
&lt;/h2&gt;

&lt;p&gt;Here's where it gets interesting. PostgreSQL doesn't read individual rows from disk. It reads 8KB pages. Always. Even if you only want one tiny row, you're pulling in a full 8KB page.&lt;/p&gt;

&lt;p&gt;Your B-tree is also organized into 8KB pages. Each page holds as many index entries as it can fit. For a simple index on a &lt;code&gt;bigint&lt;/code&gt; column, you can fit a few hundred entries per page. For a compound index on &lt;code&gt;(tenant_id, event_type, created_at)&lt;/code&gt;, you're fitting fewer because each entry is wider.&lt;/p&gt;

&lt;p&gt;When PostgreSQL traverses your B-tree, it starts at the root page, reads it, follows a pointer to the right internal page, reads that, and eventually gets to a leaf page that tells it where your actual row lives on the heap. For a table with a million rows, that's maybe three or four page reads. For a billion rows, it might be five or six. Logarithmic scaling is your friend here.&lt;/p&gt;

&lt;p&gt;You can see this in action with &lt;code&gt;EXPLAIN (ANALYZE, BUFFERS)&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;EXPLAIN&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;ANALYZE&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;BUFFERS&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;events&lt;/span&gt; &lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;created_at&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;now&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;interval&lt;/span&gt; &lt;span class="s1"&gt;'1 hour'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;-- Look for lines like:&lt;/span&gt;
&lt;span class="c1"&gt;--   Index Scan using events_created_at_idx on events&lt;/span&gt;
&lt;span class="c1"&gt;--     Buffers: shared hit=4 read=2&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;shared hit&lt;/code&gt; count tells you how many pages came from the buffer cache. The &lt;code&gt;read&lt;/code&gt; count tells you how many had to come from disk. If you're seeing high &lt;code&gt;read&lt;/code&gt; values on a query you run frequently, your working set has outgrown your &lt;code&gt;shared_buffers&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;But. (There's always a but.)&lt;/p&gt;

&lt;h2&gt;
  
  
  The part nobody thinks about
&lt;/h2&gt;

&lt;p&gt;Those leaf pages need to stay ordered. When you insert a new value that belongs in the middle of a page that's already full, PostgreSQL has to split that page. Page splits are expensive. They cause write amplification and can fragment your index over time.&lt;/p&gt;

&lt;p&gt;For time-series data (timestamps always increasing), you mostly dodge this problem because new values go to the rightmost leaf. That's nice. But it creates a different problem: hot-page contention. Every concurrent insert is fighting to write to the same leaf page at the end of the tree.&lt;/p&gt;

&lt;p&gt;And then there's the part that really gets you: MVCC overhead.&lt;/p&gt;

&lt;p&gt;PostgreSQL's multiversion concurrency control means that even your index has to deal with tuple visibility. Index entries don't get removed immediately when a row is deleted or updated. They stick around until &lt;code&gt;VACUUM&lt;/code&gt; cleans them up. So your index isn't just tracking live rows. It's tracking &lt;em&gt;all the versions&lt;/em&gt; of your rows until the cleanup crew gets around to it.&lt;/p&gt;

&lt;p&gt;For a high-churn table, your index can be significantly larger than you'd expect just from the row count. I've seen cases where the index is effectively 2-3x the "expected" size because of dead tuple bloat.&lt;/p&gt;

&lt;p&gt;Here's how to check if bloat is eating your indexes alive:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="n"&gt;relname&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
       &lt;span class="n"&gt;n_dead_tup&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
       &lt;span class="n"&gt;n_live_tup&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
       &lt;span class="n"&gt;round&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n_dead_tup&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="k"&gt;nullif&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n_live_tup&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;n_dead_tup&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;AS&lt;/span&gt; &lt;span class="n"&gt;dead_pct&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
       &lt;span class="n"&gt;last_autovacuum&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt;   &lt;span class="n"&gt;pg_stat_user_tables&lt;/span&gt;
&lt;span class="k"&gt;WHERE&lt;/span&gt;  &lt;span class="n"&gt;n_dead_tup&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;10000&lt;/span&gt;
&lt;span class="k"&gt;ORDER&lt;/span&gt;  &lt;span class="k"&gt;BY&lt;/span&gt; &lt;span class="n"&gt;n_dead_tup&lt;/span&gt; &lt;span class="k"&gt;DESC&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If &lt;code&gt;dead_pct&lt;/code&gt; is climbing above 10-20% and &lt;code&gt;last_autovacuum&lt;/code&gt; was hours ago (or null), autovacuum is falling behind. That bloat isn't just wasting space. It's making every index scan touch more pages than it should.&lt;/p&gt;

&lt;h2&gt;
  
  
  Index-only scans (and why they're worth understanding)
&lt;/h2&gt;

&lt;p&gt;There's one more behavior worth knowing about, because it changes how you think about index design.&lt;/p&gt;

&lt;p&gt;Normally, PostgreSQL uses the index to find &lt;em&gt;where&lt;/em&gt; a row lives on the heap, then goes and reads the actual row. That's two separate lookups: the index, then the heap.&lt;/p&gt;

&lt;p&gt;But if every column your query needs is already &lt;em&gt;in&lt;/em&gt; the index, PostgreSQL can skip the heap entirely. That's an index-only scan, and it's significantly faster.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="c1"&gt;-- This index covers both the WHERE clause and the SELECT list:&lt;/span&gt;
&lt;span class="k"&gt;CREATE&lt;/span&gt; &lt;span class="k"&gt;INDEX&lt;/span&gt; &lt;span class="n"&gt;idx_events_covering&lt;/span&gt; &lt;span class="k"&gt;ON&lt;/span&gt; &lt;span class="n"&gt;events&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;created_at&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;INCLUDE&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;event_type&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;-- Now this query never touches the heap:&lt;/span&gt;
&lt;span class="k"&gt;EXPLAIN&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;ANALYZE&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;BUFFERS&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="n"&gt;event_type&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt; &lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;events&lt;/span&gt; &lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;created_at&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;now&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;interval&lt;/span&gt; &lt;span class="s1"&gt;'1 hour'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;-- Look for:&lt;/span&gt;
&lt;span class="c1"&gt;--   Index Only Scan using idx_events_covering on events&lt;/span&gt;
&lt;span class="c1"&gt;--     Heap Fetches: 0&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;Heap Fetches: 0&lt;/code&gt; is what you want. That means PostgreSQL answered the entire query from the index alone.&lt;/p&gt;

&lt;p&gt;The catch: index-only scans only work well when the visibility map is up to date, which brings us right back to VACUUM. If VACUUM hasn't visited a page recently, PostgreSQL can't trust the index alone and has to check the heap anyway. So even this optimization depends on keeping autovacuum healthy.&lt;/p&gt;

&lt;h2&gt;
  
  
  Partial indexes (less is more)
&lt;/h2&gt;

&lt;p&gt;One more tool that's underused: partial indexes. If you only query a subset of your data most of the time, you can index just that subset.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="c1"&gt;-- Instead of indexing every row:&lt;/span&gt;
&lt;span class="k"&gt;CREATE&lt;/span&gt; &lt;span class="k"&gt;INDEX&lt;/span&gt; &lt;span class="n"&gt;idx_events_status&lt;/span&gt; &lt;span class="k"&gt;ON&lt;/span&gt; &lt;span class="n"&gt;events&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;status&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;-- Index only the rows that matter:&lt;/span&gt;
&lt;span class="k"&gt;CREATE&lt;/span&gt; &lt;span class="k"&gt;INDEX&lt;/span&gt; &lt;span class="n"&gt;idx_events_active&lt;/span&gt; &lt;span class="k"&gt;ON&lt;/span&gt; &lt;span class="n"&gt;events&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;status&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;status&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'active'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The partial index is smaller, faster to scan, and cheaper to maintain on writes. For high-churn tables where most queries filter to a small slice of data, this is free performance.&lt;/p&gt;

&lt;h2&gt;
  
  
  So why does this matter?
&lt;/h2&gt;

&lt;p&gt;Understanding this stuff isn't just academic. It explains real problems you hit in production:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why adding indexes slows down writes.&lt;/strong&gt; Every index is another B-tree that needs to be maintained on every insert. It's not free. It's never been free. The cost just hides until you're at scale.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why your queries get slower over time even though nothing changed.&lt;/strong&gt; Index bloat from dead tuples. Pages that used to be tightly packed are now half-empty after splits and vacuuming. Your three-page-read query is now a six-page-read query.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why VACUUM matters so much.&lt;/strong&gt; It's not just reclaiming table space. It's keeping your indexes healthy. If autovacuum can't keep up, your indexes degrade. And if you're inserting fast enough, autovacuum can fall behind. That's not a bug. That's just the architecture working as designed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why partitioning helps (and then stops helping).&lt;/strong&gt; Smaller partitions mean smaller indexes mean fewer tree levels. Great. But now your query planner has to evaluate all those partitions to figure out which ones to scan. And that planning cost scales linearly with partition count. You're trading one bottleneck for another.&lt;/p&gt;

&lt;h2&gt;
  
  
  The bigger picture
&lt;/h2&gt;

&lt;p&gt;I wrote about this cycle more extensively in a piece about &lt;a href="https://www.tigerdata.com/blog/postgres-optimization-treadmill?utm_source=devto&amp;amp;utm_medium=da-activity&amp;amp;utm_campaign=matty-digital" rel="noopener noreferrer"&gt;the PostgreSQL optimization treadmill&lt;/a&gt;. The short version: there's a pretty predictable progression that teams go through. Optimize indexes. Partition tables. Tune autovacuum. Scale vertically. Add read replicas. Each phase buys you a few months.&lt;/p&gt;

&lt;p&gt;That's not a criticism of PostgreSQL. Postgres is an incredible database. But it's a &lt;em&gt;general-purpose&lt;/em&gt; relational database, and its architecture reflects that. The heap storage model, MVCC, the query planner, B-trees. They're all designed to handle a wide range of workloads really well. The tradeoff is that for very specific access patterns (like time-series data at scale), those general-purpose design choices start working against you instead of for you.&lt;/p&gt;

&lt;p&gt;Understanding &lt;em&gt;how&lt;/em&gt; your indexes work is the first step to understanding &lt;em&gt;when&lt;/em&gt; they stop being enough. And knowing when you're fighting the architecture instead of optimizing within it can save you months of whack-a-mole performance tuning.&lt;/p&gt;

&lt;p&gt;But that's a topic for another day. For now, go run these queries on your biggest table:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="c1"&gt;-- How big are your indexes, really?&lt;/span&gt;
&lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="n"&gt;indexrelid&lt;/span&gt;&lt;span class="p"&gt;::&lt;/span&gt;&lt;span class="n"&gt;regclass&lt;/span&gt; &lt;span class="k"&gt;AS&lt;/span&gt; &lt;span class="n"&gt;index_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
       &lt;span class="n"&gt;pg_size_pretty&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;pg_relation_size&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;indexrelid&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="k"&gt;AS&lt;/span&gt; &lt;span class="k"&gt;size&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
       &lt;span class="n"&gt;idx_scan&lt;/span&gt; &lt;span class="k"&gt;AS&lt;/span&gt; &lt;span class="n"&gt;scans&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt;   &lt;span class="n"&gt;pg_stat_user_indexes&lt;/span&gt;
&lt;span class="k"&gt;WHERE&lt;/span&gt;  &lt;span class="n"&gt;relname&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'your_table_here'&lt;/span&gt;
&lt;span class="k"&gt;ORDER&lt;/span&gt;  &lt;span class="k"&gt;BY&lt;/span&gt; &lt;span class="n"&gt;pg_relation_size&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;indexrelid&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;DESC&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;-- Are any of them unused?&lt;/span&gt;
&lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="n"&gt;indexrelid&lt;/span&gt;&lt;span class="p"&gt;::&lt;/span&gt;&lt;span class="n"&gt;regclass&lt;/span&gt; &lt;span class="k"&gt;AS&lt;/span&gt; &lt;span class="n"&gt;index_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
       &lt;span class="n"&gt;idx_scan&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt;   &lt;span class="n"&gt;pg_stat_user_indexes&lt;/span&gt;
&lt;span class="k"&gt;WHERE&lt;/span&gt;  &lt;span class="n"&gt;idx_scan&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
  &lt;span class="k"&gt;AND&lt;/span&gt;  &lt;span class="n"&gt;schemaname&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'public'&lt;/span&gt;
&lt;span class="k"&gt;ORDER&lt;/span&gt;  &lt;span class="k"&gt;BY&lt;/span&gt; &lt;span class="n"&gt;pg_relation_size&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;indexrelid&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;DESC&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You might be surprised.&lt;/p&gt;

</description>
      <category>postgres</category>
      <category>database</category>
      <category>performance</category>
      <category>sql</category>
    </item>
    <item>
      <title>Coding Agents Are Actually Good at This One Thing</title>
      <dc:creator>Matty Stratton</dc:creator>
      <pubDate>Sun, 01 Mar 2026 20:31:28 +0000</pubDate>
      <link>https://forem.com/mattstratton/coding-agents-are-actually-good-at-this-one-thing-5dej</link>
      <guid>https://forem.com/mattstratton/coding-agents-are-actually-good-at-this-one-thing-5dej</guid>
      <description>&lt;p&gt;The discourse around AI coding tools tends to collapse into two camps: people who think they're going to replace developers, and people dunking on "vibe coding" demos that fall apart the moment you look at them sideways.&lt;/p&gt;

&lt;p&gt;Both camps are mostly arguing about the wrong thing.&lt;/p&gt;

&lt;p&gt;I've been using coding agents heavily for the past few months, and the use case where they've actually changed how I work isn't production applications or greenfield SaaS ideas. It's internal tooling. And that distinction matters more than people are giving it credit for.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Airtable Problem
&lt;/h2&gt;

&lt;p&gt;For years, I built internal tools the way most of us did: I found something close enough and made it work. Airtable was great for this. I built conference talk trackers, content inventories, planning dashboards... all kinds of things. The spreadsheet-meets-database model was genuinely useful, and for a while, it was the right call.&lt;/p&gt;

&lt;p&gt;But you're always fighting two things with tools like Airtable or Notion or even Asana when you're bending them to a purpose they weren't built for. First, you fight the constraints of the tool itself: the data model it has, the views it supports, the automations it allows. Second, you fight the cost and friction of giving your whole team access to yet another SaaS platform.&lt;/p&gt;

&lt;p&gt;At some point the juice stops being worth the squeeze. You're not building what you actually need, you're building the closest approximation that fits inside someone else's product.&lt;/p&gt;

&lt;h2&gt;
  
  
  Just Build the Thing
&lt;/h2&gt;

&lt;p&gt;What coding agents have unlocked for me is the ability to &lt;em&gt;just build the thing&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;The project I've been heads-down on is called Tiger Den: an internal content management system for our Marketing team at Tiger Data. It's a Next.js app, Drizzle ORM, tRPC, Postgres (running on &lt;a href="https://tigerdata.com" rel="noopener noreferrer"&gt;Tiger Data&lt;/a&gt;, natch). A real web app with a real database, exactly structured for how we actually work.&lt;/p&gt;

&lt;p&gt;Tiger Den manages our content library, tracks blog posts and videos, stores voice profiles for different authors so we can make sure our content matches our voices, generates UTM links, and surfaces the right content for the right workflow. It's not a product. It's not trying to be. It's a tool that fits our team's exact needs because we built it for our team's exact needs.&lt;/p&gt;

&lt;p&gt;A few folks on the team are starting to use it. Workflows that used to involve a bunch of spreadsheet wrangling and web search gymnastics are getting simpler. It's not fully baked (it's somewhere between "mostly works for me" and "the team is starting to play with it") but it's already more useful than what it replaced (a combination of "nothing" plus "not very updated spreadsheet"), and I've been iterating on it continuously.&lt;/p&gt;

&lt;p&gt;That iteration speed is the point.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Internal Tooling Specifically
&lt;/h2&gt;

&lt;p&gt;The reason coding agents shine here, and why I keep coming back to this use case, is the risk profile.&lt;/p&gt;

&lt;p&gt;When you're building a public-facing application, you have to worry about edge cases at scale, security hardening, performance under load, what happens when a user does something unexpected, what happens when a thousand users do something unexpected. The cost of getting it wrong is high.&lt;/p&gt;

&lt;p&gt;Internal tools have a completely different calculus. The user population is small and known. The stakes for any individual bug are low. You can ship something that's 80% right and fix the other 20% next week. You can move fast and it's actually fine.&lt;/p&gt;

&lt;p&gt;This is the Microsoft Access model, honestly. In the 90s and early 2000s, people built remarkably functional internal tools in Access (forms, reports, relational data, real logic) because the barrier was low enough that you could actually do it. Then the web happened, the complexity went way up, and that era of "just build the thing" basically ended for most people.&lt;/p&gt;

&lt;p&gt;Coding agents are bringing it back. The barrier is low again. You can describe what you want, iterate in a tight loop, and end up with something that actually fits your use case instead of something that almost fits someone else's template.&lt;/p&gt;

&lt;h2&gt;
  
  
  What About Retool?
&lt;/h2&gt;

&lt;p&gt;When I posted about this, someone brought up Retool — fair question. Isn't that exactly what Retool is for?&lt;/p&gt;

&lt;p&gt;Maybe. But my reaction was: isn't that just trading one set of constraints for another? Now I'm stuck on how Retool thinks about the world instead of how Airtable thinks about the world. I haven't dug deep into Retool, so I'm not going to trash it, but the pattern is the same: you're building inside someone else's model of what your tool should be.&lt;/p&gt;

&lt;p&gt;The thing I actually want is to build the thing I want. That's what "just use Next.js and a database" gives me.&lt;/p&gt;

&lt;h2&gt;
  
  
  Some Honest Caveats
&lt;/h2&gt;

&lt;p&gt;I want to be careful not to oversell this, because the context matters a lot.&lt;/p&gt;

&lt;p&gt;I'm a systems guy. Infrastructure, security, DevOps, that's my background. I could build Tiger Den without a coding agent; it would just take a lot longer because I'm coming at software development somewhat sideways. The agent collapses that time gap significantly. But I'm still making real architectural decisions, reviewing what gets generated, and understanding the codebase well enough to maintain it. This isn't "describe what you want and walk away."&lt;/p&gt;

&lt;p&gt;Someone also asked about maintenance (a reasonable concern!). My answer: for Tiger Den specifically, I'm only writing to my own database. I'm not doing write operations against external systems, I'm not touching production data, and the blast radius of any given bug is small. That's a deliberate choice, and it's part of why internal tooling is the right framing. If I were building something that talked to our customers' data or integrated deeply with critical external systems, I'd be a lot more careful.&lt;/p&gt;

&lt;p&gt;The low-stakes calculus stops applying the moment you have real users, real consequences for downtime, or data you can't afford to mess up. Keep that boundary clear and this approach works really well. Blur it and you're asking for trouble.&lt;/p&gt;

&lt;p&gt;But for "my team needs a thing and the existing tools don't quite fit"? This is legitimately transformative. I've wanted to be able to build internal tools this easily for a long time. Now I can.&lt;/p&gt;

&lt;p&gt;Airtable, it's been real. Tiger Den is better.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>productivity</category>
      <category>ai</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Product 101: Your Secret Weapon for Understanding the Business</title>
      <dc:creator>Matty Stratton</dc:creator>
      <pubDate>Tue, 04 Nov 2025 14:58:55 +0000</pubDate>
      <link>https://forem.com/mattstratton/product-101-your-secret-weapon-for-understanding-the-business-2m6j</link>
      <guid>https://forem.com/mattstratton/product-101-your-secret-weapon-for-understanding-the-business-2m6j</guid>
      <description>&lt;p&gt;&lt;em&gt;This is Part 5 of my 7-part series on business literacy for DevRel. &lt;a href="https://dev.to/mattstratton/why-business-literacy-matters-for-devrel-and-why-you-cant-skip-this-step-30p1"&gt;Start with Part 1 if you missed it&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;We've covered sales, marketing, and finance. But there's one group we haven't talked about yet - and they might be your most valuable partnership in the entire company: &lt;strong&gt;Product&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Not because product managers are inherently better than anyone else (though the good ones are pretty great). But because strategic product leaders sit at the intersection of everything. They see the business from a unique vantage point that can be incredibly valuable to DevRel.&lt;/p&gt;

&lt;p&gt;A good product partner is worth their weight in gold. They're your early warning system, your business intelligence source, and your reality check all rolled into one.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Product Actually Does
&lt;/h2&gt;

&lt;p&gt;At the most basic level, product management is about figuring out what to build, why to build it, and making sure it actually gets built.&lt;/p&gt;

&lt;p&gt;But that simple description hides a ton of complexity:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Product managers (PMs) are responsible for:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Deciding what features/capabilities to prioritize&lt;/li&gt;
&lt;li&gt;Understanding user needs and market opportunities&lt;/li&gt;
&lt;li&gt;Working with engineering to build the right things&lt;/li&gt;
&lt;li&gt;Collaborating with go-to-market teams (sales, marketing) to position and launch features&lt;/li&gt;
&lt;li&gt;Measuring whether what they built is actually working&lt;/li&gt;
&lt;li&gt;Saying "no" to a lot of things (this is actually most of the job)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Product sits at the center of a bunch of competing pressures:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sales wants features that will close deals&lt;/li&gt;
&lt;li&gt;Marketing wants things that will generate buzz&lt;/li&gt;
&lt;li&gt;Engineering wants to build technically interesting things&lt;/li&gt;
&lt;li&gt;Finance wants efficient use of resources&lt;/li&gt;
&lt;li&gt;Customers want their specific problems solved&lt;/li&gt;
&lt;li&gt;Executives want the product to support business strategy&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The PM's job is to synthesize all of this and make decisions about what the product should become.&lt;/p&gt;

&lt;h2&gt;
  
  
  Meet the Product Team: Roles You Need to Know
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Chief Product Officer (CPO) / VP of Product&lt;/strong&gt;: Sets the overall product vision and strategy. They're thinking about where the product needs to be in 2-3 years, not just next quarter. They usually report directly to the CEO.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Director of Product / Senior PM&lt;/strong&gt;: Usually owns a major product area or domain. They're thinking strategically about their area while managing other PMs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Product Manager (PM)&lt;/strong&gt;: Owns a specific product or feature area. They work day-to-day with engineering teams to ship features. This is who you'll probably work with most.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Technical Product Manager (TPM)&lt;/strong&gt;: Like a PM but more technical. Often owns platform, API, or developer-facing products. If you work at a developer tools company, TPMs are your people.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Product Marketing Manager (PMM)&lt;/strong&gt;: We talked about these folks in the marketing post, but they sit between product and marketing. They take what product builds and figure out how to position and message it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Product Operations / Product Ops&lt;/strong&gt;: Help PMs be more effective by managing tools, processes, and data. They're the behind-the-scenes folks making product teams run smoothly.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Product Thinks About the World
&lt;/h2&gt;

&lt;p&gt;Product managers live in a few key frameworks. Understanding these helps you speak their language:&lt;/p&gt;

&lt;h3&gt;
  
  
  The Product Roadmap
&lt;/h3&gt;

&lt;p&gt;This is the plan for what gets built when. Roadmaps are usually organized by quarters or releases, and they're always wrong (because priorities change). &lt;/p&gt;

&lt;p&gt;Roadmaps are political documents as much as planning documents. What makes it onto the roadmap and what doesn't tells you a lot about what the business values.&lt;/p&gt;

&lt;h3&gt;
  
  
  User Stories and Jobs to Be Done
&lt;/h3&gt;

&lt;p&gt;PMs think about user needs in terms of "&lt;a href="https://www.atlassian.com/agile/project-management/user-stories" rel="noopener noreferrer"&gt;user stories&lt;/a&gt;" (as a [role], I want to [do something] so that [outcome]) or "&lt;a href="https://hbr.org/2016/09/know-your-customers-jobs-to-be-done" rel="noopener noreferrer"&gt;jobs to be done&lt;/a&gt;" (when [situation], I want to [motivation], so I can [expected outcome]).&lt;/p&gt;

&lt;p&gt;This is useful for DevRel because it's how you can frame developer feedback. Instead of "developers want feature X," try "when developers are trying to debug production issues, they want observability into what the system is doing, so they can identify root causes faster."&lt;/p&gt;

&lt;h3&gt;
  
  
  Prioritization Frameworks
&lt;/h3&gt;

&lt;p&gt;PMs are always prioritizing. Common frameworks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://www.intercom.com/blog/rice-simple-prioritization-for-product-managers/" rel="noopener noreferrer"&gt;RICE&lt;/a&gt;&lt;/strong&gt;: Reach, Impact, Confidence, Effort&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Value vs. Effort&lt;/strong&gt;: Classic 2x2 matrix&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://www.productplan.com/glossary/kano-model/" rel="noopener noreferrer"&gt;Kano Model&lt;/a&gt;&lt;/strong&gt;: Basic needs vs. performance needs vs. delighters&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Understanding how your product team prioritizes helps you frame feedback effectively.&lt;/p&gt;

&lt;h3&gt;
  
  
  Success Metrics
&lt;/h3&gt;

&lt;p&gt;Good PMs are all about metrics:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Activation&lt;/strong&gt;: Did users do the key action that shows they "get" the product?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Engagement&lt;/strong&gt;: Are users coming back? How often?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Retention&lt;/strong&gt;: Are users sticking around over time?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Feature adoption&lt;/strong&gt;: Are users actually using the new thing we built?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Time to value&lt;/strong&gt;: How quickly can users get value from the product?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Notice how some of these overlap with PLG metrics? That's not an accident.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Product Matters So Much to DevRel
&lt;/h2&gt;

&lt;p&gt;Here's where it gets interesting. Product is uniquely positioned to give you intelligence about the business that you can't get anywhere else.&lt;/p&gt;

&lt;h3&gt;
  
  
  They See Across Functions
&lt;/h3&gt;

&lt;p&gt;A strategic PM talks to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sales (what's blocking deals?)&lt;/li&gt;
&lt;li&gt;Marketing (what's resonating in the market?)&lt;/li&gt;
&lt;li&gt;Customer success (what are customers struggling with?)&lt;/li&gt;
&lt;li&gt;Engineering (what's technically feasible?)&lt;/li&gt;
&lt;li&gt;Finance (what can we afford?)&lt;/li&gt;
&lt;li&gt;Executives (what's the strategy?)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;They're synthesizing information from everywhere. If you have a good relationship with product leadership, they can give you context on what's really happening across the business that you'd never get from any single function.&lt;/p&gt;

&lt;h3&gt;
  
  
  They Know What's Coming
&lt;/h3&gt;

&lt;p&gt;Product knows what's on the roadmap before it's public. This is incredibly valuable for DevRel:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You can prep content in advance&lt;/li&gt;
&lt;li&gt;You can understand strategic direction&lt;/li&gt;
&lt;li&gt;You can give early feedback on how developers will react&lt;/li&gt;
&lt;li&gt;You can plan your activities around major releases&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  They Need What You Have
&lt;/h3&gt;

&lt;p&gt;As a devrel, you're sitting on a goldmine of information that product desperately needs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What developers are actually struggling with&lt;/li&gt;
&lt;li&gt;What features developers are asking for (and why)&lt;/li&gt;
&lt;li&gt;How developers talk about problems in their own language&lt;/li&gt;
&lt;li&gt;What the competition is doing (you see it at conferences and in communities)&lt;/li&gt;
&lt;li&gt;Which parts of your product confuse people&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This creates natural reciprocity. You help them, they help you.&lt;/p&gt;

&lt;h3&gt;
  
  
  They Fight Similar Battles
&lt;/h3&gt;

&lt;p&gt;Good PMs face the same challenge you do: they have to translate between technical reality and business objectives. They have to advocate for what's right while acknowledging business constraints.&lt;/p&gt;

&lt;p&gt;You're natural allies.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Product/DevRel Partnership
&lt;/h2&gt;

&lt;p&gt;When done right, the Product/DevRel partnership is incredibly powerful:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DevRel provides Product:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Raw, unfiltered user feedback from communities&lt;/li&gt;
&lt;li&gt;Market intelligence from conferences and events&lt;/li&gt;
&lt;li&gt;Early signals about what developers care about&lt;/li&gt;
&lt;li&gt;Reality checks on how features will be received&lt;/li&gt;
&lt;li&gt;Developer perspective on product decisions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Product provides DevRel:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Early access to roadmap and upcoming features&lt;/li&gt;
&lt;li&gt;Context on why decisions were made&lt;/li&gt;
&lt;li&gt;Understanding of strategic priorities&lt;/li&gt;
&lt;li&gt;Cross-functional intelligence&lt;/li&gt;
&lt;li&gt;Air cover when you need to push back on requests&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  The Feedback Loop
&lt;/h3&gt;

&lt;p&gt;One of DevRel's most valuable contributions is being a structured feedback channel from developers to product. But this only works if you do it right:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bad feedback:&lt;/strong&gt; "Developers want dark mode"&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Good feedback:&lt;/strong&gt; "I'm seeing consistent requests for dark mode from developers who code at night. The specific pain point is eye strain during long coding sessions. This came up in 15+ community conversations last month, and competitors X and Y both shipped this recently."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bad feedback:&lt;/strong&gt; "This new feature is confusing"&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Good feedback:&lt;/strong&gt; "In office hours, 3 out of 5 developers got stuck at the same step in the new onboarding flow. The confusion is around [specific thing]. Here's a recording of where they got stuck."&lt;/p&gt;

&lt;p&gt;Strategic product leaders eat this stuff up because it's specific, actionable, and helps them make better decisions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Not All PMs Are Created Equal
&lt;/h2&gt;

&lt;p&gt;That said, not every PM is strategic. Some are just feature factories, cranking out roadmap items without understanding the broader context.&lt;/p&gt;

&lt;p&gt;A comment that inspired this post mentioned this perfectly: not every product leader can "get their heads out of the sands of features/roadmap, nor are they all observant of business value themselves."&lt;/p&gt;

&lt;p&gt;Look for PMs who:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Understand the business model, not just the feature list&lt;/li&gt;
&lt;li&gt;Can articulate why something is being built, not just what&lt;/li&gt;
&lt;li&gt;Talk to customers and users regularly&lt;/li&gt;
&lt;li&gt;Have opinions about strategy, not just execution&lt;/li&gt;
&lt;li&gt;Are curious about the market and competition&lt;/li&gt;
&lt;li&gt;Actually understand the technical implications of their decisions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are the ones worth partnering closely with. The others... well, you can still work with them, but don't expect the strategic partnership.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Product Decisions Happen (And Where You Fit In)
&lt;/h2&gt;

&lt;p&gt;Understanding how product decisions get made helps you influence them:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Input gathering:&lt;/strong&gt; PMs collect input from sales, customers, community, market research, executives, etc.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Prioritization:&lt;/strong&gt; PMs use frameworks to decide what's most important&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Roadmap planning:&lt;/strong&gt; Decisions get formalized into "we're building X in Q2"&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Execution:&lt;/strong&gt; Engineering builds it&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Launch:&lt;/strong&gt; Product goes to market with help from marketing, sales, and (hopefully) DevRel&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Measurement:&lt;/strong&gt; Did it work?&lt;/p&gt;

&lt;p&gt;DevRel can influence at almost every stage:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Input:&lt;/strong&gt; Share developer feedback&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Prioritization:&lt;/strong&gt; Provide market context&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Roadmap:&lt;/strong&gt; React to plans, suggest adjustments&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Execution:&lt;/strong&gt; Give technical feedback during development&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Launch:&lt;/strong&gt; Create content, drive awareness&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Measurement:&lt;/strong&gt; Share qualitative feedback on how it's landing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But you have to be in the conversation to have influence. Which means building relationships.&lt;/p&gt;

&lt;h2&gt;
  
  
  The DevRel Seat at the Product Table
&lt;/h2&gt;

&lt;p&gt;Some DevRel teams are deeply integrated with product. Others are completely disconnected. If you're in the latter camp, here's how to change that:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Start small:&lt;/strong&gt; Ask to sit in on a product planning meeting as an observer&lt;br&gt;
&lt;strong&gt;Provide value first:&lt;/strong&gt; Share useful feedback before asking for anything&lt;br&gt;
&lt;strong&gt;Speak their language:&lt;/strong&gt; Frame things in terms of user problems and business impact&lt;br&gt;
&lt;strong&gt;Be consistent:&lt;/strong&gt; Show up regularly with valuable input&lt;br&gt;
&lt;strong&gt;Don't be precious:&lt;/strong&gt; Accept that you won't always get what you want&lt;br&gt;
&lt;strong&gt;Understand constraints:&lt;/strong&gt; Product is making trade-offs; understand what they are&lt;/p&gt;

&lt;h3&gt;
  
  
  Regular Touchpoints That Work
&lt;/h3&gt;

&lt;p&gt;Consider establishing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Monthly sync with product leadership:&lt;/strong&gt; Share what you're hearing, get context on roadmap&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Feedback review sessions:&lt;/strong&gt; Present synthesized developer feedback quarterly&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Early access to betas:&lt;/strong&gt; Get hands-on with features before launch&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Launch planning collaboration:&lt;/strong&gt; Work together on go-to-market for major features&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Roadmap input sessions:&lt;/strong&gt; Provide perspective on upcoming priorities&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Product Gives You Business Intelligence
&lt;/h2&gt;

&lt;p&gt;Here's something nobody talks about: a good product partner can be your best source of business intelligence.&lt;/p&gt;

&lt;p&gt;They'll tell you things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"Sales is really struggling in the enterprise segment right now"&lt;/li&gt;
&lt;li&gt;"We're shifting strategy toward [market] next year"&lt;/li&gt;
&lt;li&gt;"The exec team is worried about [competitive threat]"&lt;/li&gt;
&lt;li&gt;"Marketing's campaigns aren't converting well"&lt;/li&gt;
&lt;li&gt;"There might be budget cuts coming"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Why do they know this? Because they're in all the meetings. They see the cross-functional dynamics. They hear what's really going on.&lt;/p&gt;

&lt;p&gt;And if they trust you, they'll share it. This is incredibly valuable for planning your DevRel strategy and seeing what's coming.&lt;/p&gt;

&lt;h2&gt;
  
  
  Essential Product Terminology
&lt;/h2&gt;

&lt;p&gt;Let me give you the vocabulary:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.agilealliance.org/glossary/mvp/" rel="noopener noreferrer"&gt;MVP (Minimum Viable Product)&lt;/a&gt;&lt;/strong&gt;: The smallest version of something that delivers value. Often used as an excuse to ship incomplete things, but the concept is sound.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.lennysnewsletter.com/p/how-to-know-if-youve-got-productmarket" rel="noopener noreferrer"&gt;Product-Market Fit&lt;/a&gt;&lt;/strong&gt;: The magical moment when you've built something that a market actually wants. Most products never achieve this.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Feature parity&lt;/strong&gt;: Having the same features as competitors. Often overvalued by sales, undervalued by product.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Technical debt&lt;/strong&gt;: The accumulated cost of quick-and-dirty technical decisions. Always more than you think.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dogfooding&lt;/strong&gt;: Using your own product internally. Good PMs do this religiously.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Beta / Alpha&lt;/strong&gt;: Early versions for testing. Alpha is usually internal, beta is usually external but limited.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GA (General Availability)&lt;/strong&gt;: The feature is fully launched and available to everyone.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sunset / Deprecation&lt;/strong&gt;: Retiring a feature or product. Always painful, usually necessary.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.whatmatters.com/faqs/okr-meaning-definition-example/" rel="noopener noreferrer"&gt;OKRs (Objectives and Key Results)&lt;/a&gt;&lt;/strong&gt;: How many product teams set goals. Objectives are qualitative, key results are measurable.&lt;/p&gt;

&lt;h2&gt;
  
  
  What This Means For Your Work
&lt;/h2&gt;

&lt;p&gt;Understanding product doesn't mean becoming a PM. It means:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You can provide product with valuable, actionable feedback&lt;/li&gt;
&lt;li&gt;You can anticipate what's coming and plan accordingly&lt;/li&gt;
&lt;li&gt;You can understand why certain decisions are made (even when you disagree)&lt;/li&gt;
&lt;li&gt;You can be a strategic partner instead of just a feedback conduit&lt;/li&gt;
&lt;li&gt;You have access to cross-functional intelligence that helps you navigate the business&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Product is your window into how the whole business is working - the headwinds, the tailwinds, the tensions, the priorities. Use it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Finding Your Product Partner
&lt;/h2&gt;

&lt;p&gt;Not sure who to connect with in product? Start here:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Identify the PM who owns your developer-facing products&lt;/strong&gt; (API, SDK, CLI, etc.)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reach out with value:&lt;/strong&gt; "Hey, I'm hearing a lot of feedback about [thing]. Want to chat?"&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Be low-maintenance:&lt;/strong&gt; Respect their time, be organized, come prepared&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Look for strategic thinkers:&lt;/strong&gt; Find the PMs who see the bigger picture&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Build the relationship over time:&lt;/strong&gt; This is a long game&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;And if you find a great product partner? Hold onto them. They're rare and incredibly valuable.&lt;/p&gt;

&lt;p&gt;Next up: we'll talk about Product-Led Growth and how it changes everything about the relationship between product, DevRel, and go-to-market. Spoiler: in PLG companies, product and DevRel become deeply intertwined.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Questions about working with product? War stories about great (or terrible) product partnerships? Let's hear them in the comments!&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Previously:&lt;/strong&gt; &lt;a href="https://dev.to/mattstratton/finance-101-budgets-pls-and-the-language-of-money-3dp9"&gt;Part 4: Finance 101&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Next up:&lt;/strong&gt; &lt;a href="https://dev.to/mattstratton/product-led-growth-and-what-it-means-for-devrel-10mj"&gt;Product-Led Growth&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devrel</category>
    </item>
    <item>
      <title>Putting It All Together: Speaking Business as a DevRel Professional</title>
      <dc:creator>Matty Stratton</dc:creator>
      <pubDate>Tue, 28 Oct 2025 18:54:34 +0000</pubDate>
      <link>https://forem.com/mattstratton/putting-it-all-together-speaking-business-as-a-devrel-professional-2kfj</link>
      <guid>https://forem.com/mattstratton/putting-it-all-together-speaking-business-as-a-devrel-professional-2kfj</guid>
      <description>&lt;p&gt;&lt;em&gt;This is Part 7 of my 7-part series on business literacy for DevRel. &lt;a href="https://dev.to/mattstratton/why-business-literacy-matters-for-devrel-and-why-you-cant-skip-this-step-30p1"&gt;Start with Part 1 if you missed it&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;We've covered a lot of ground in this series. Sales pipelines and forecast accuracy. Marketing funnels and MQLs. P&amp;amp;Ls and CapEx vs OpEx. Product-Led Growth and how it changes the game for developer tools companies. If your brain feels a little full right now, that's normal. This is a lot of new vocabulary and new ways of thinking.&lt;/p&gt;

&lt;p&gt;But you now have the foundation. You understand the basics of how the key parts of your business operate, what they care about, and what language they speak. You understand how modern go-to-market models work and where DevRel fits in.&lt;/p&gt;

&lt;p&gt;Now let's talk about what you actually &lt;em&gt;do&lt;/em&gt; with all this knowledge.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where DevRel Sits in the Business Landscape
&lt;/h2&gt;

&lt;p&gt;If you think about your company as an ecosystem, DevRel occupies a unique position. You're not sales, but you influence deals. You're not marketing, but you create awareness and demand. You're not product, but you deeply understand user needs. You're not support, but you help developers be successful.&lt;/p&gt;

&lt;p&gt;I often say "DevRel rhymes with lots of different parts of the business"&lt;/p&gt;

&lt;p&gt;You're the bridge. You're the translator. You're uniquely positioned to connect the technical world of developers with the commercial world of business.&lt;/p&gt;

&lt;p&gt;And that's actually a superpower, not a weakness. The question is, &lt;strong&gt;are you using it?&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The DevRel Translation Guide
&lt;/h2&gt;

&lt;p&gt;Let's get practical. Here's how you translate common DevRel activities into language that resonates with different stakeholders:&lt;/p&gt;

&lt;h3&gt;
  
  
  Example 1: Conference Talks
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;What you do&lt;/strong&gt;: Give a technical talk at a conference about solving a real problem using your technology&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How different stakeholders hear it&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;To &lt;strong&gt;Sales&lt;/strong&gt;: "This is TOFU content that builds awareness and credibility in a target market. Prospects who attend or watch this talk are more likely to trust us when we're in their consideration set."&lt;/p&gt;

&lt;p&gt;To &lt;strong&gt;Marketing&lt;/strong&gt;: "This creates thought leadership content at the top of the funnel, reaching developers in our target persona. The recorded talk becomes an asset we can promote for months."&lt;/p&gt;

&lt;p&gt;To &lt;strong&gt;Finance&lt;/strong&gt;: "For a $5K investment (travel, event costs), we reach 200 in-person developers and potentially 10K+ via the recorded talk. Compared to paid advertising costs of $50-100 per qualified lead, this is highly efficient awareness generation."&lt;/p&gt;

&lt;p&gt;To &lt;strong&gt;Your CEO&lt;/strong&gt;: "This positions our company as a technical leader in [space], increases brand awareness with our target audience, and creates trust that accelerates the sales cycle."&lt;/p&gt;

&lt;h3&gt;
  
  
  Example 2: Office Hours Program
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;What you do&lt;/strong&gt;: Run weekly office hours where developers can get help with technical challenges&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How different stakeholders hear it&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;To &lt;strong&gt;Sales&lt;/strong&gt;: "This is MOFU activity that helps prospects overcome technical blockers that might prevent deals from closing. Sales can invite prospects to office hours as a value-add during the evaluation phase."&lt;/p&gt;

&lt;p&gt;To &lt;strong&gt;Marketing&lt;/strong&gt;: "This creates ongoing touchpoints with developers in the consideration phase, moving them down the funnel. It also generates insights about common pain points we can address in our content."&lt;/p&gt;

&lt;p&gt;To &lt;strong&gt;Finance&lt;/strong&gt;: "This program costs approximately $X per quarter (staff time) and supports Y developers, reducing the load on our paid support team (saving $Z) while accelerating deal velocity."&lt;/p&gt;

&lt;p&gt;To &lt;strong&gt;Product&lt;/strong&gt;: "This is a direct line to user feedback. We're hearing real problems from real users, which informs our product roadmap and helps prioritize features."&lt;/p&gt;

&lt;h3&gt;
  
  
  Example 3: Documentation Improvements
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;What you do&lt;/strong&gt;: Rewrite documentation to make it clearer and more accessible for developers&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How different stakeholders hear it&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;To &lt;strong&gt;Sales&lt;/strong&gt;: "Better docs reduce technical objections during the sales cycle. When prospects can self-serve and get quick answers, it reduces friction in the buying process."&lt;/p&gt;

&lt;p&gt;To &lt;strong&gt;Marketing&lt;/strong&gt;: "Great docs are a conversion tool. When someone is evaluating our product, comprehensive docs signal quality and reduce perceived risk."&lt;/p&gt;

&lt;p&gt;To &lt;strong&gt;Finance&lt;/strong&gt;: "Improved docs reduce support ticket volume by X%, which translates to $Y in reduced support costs. It also improves trial-to-paid conversion, impacting revenue."&lt;/p&gt;

&lt;p&gt;To &lt;strong&gt;Product&lt;/strong&gt;: "Quality documentation improves user experience and product adoption, which reduces churn and improves LTV."&lt;/p&gt;

&lt;h3&gt;
  
  
  Example 4: Community Building
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;What you do&lt;/strong&gt;: Build and nurture an active community where developers help each other&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How different stakeholders hear it&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;To &lt;strong&gt;Sales&lt;/strong&gt;: "An active community is social proof. When prospects see thousands of engaged developers, it reduces perceived risk and speeds up the sales cycle."&lt;/p&gt;

&lt;p&gt;To &lt;strong&gt;Marketing&lt;/strong&gt;: "Community creates network effects that reduce our CAC over time. Developers in the community become advocates who bring in new users organically."&lt;/p&gt;

&lt;p&gt;To &lt;strong&gt;Finance&lt;/strong&gt;: "The community provides peer-to-peer support that would otherwise require paid support resources. If 70% of questions are answered by community members, that's saving us $X in support costs annually."&lt;/p&gt;

&lt;p&gt;To &lt;strong&gt;Your CEO&lt;/strong&gt;: "Our community is a competitive moat. It's relationship capital that competitors can't easily replicate, and it creates switching costs that improve retention."&lt;/p&gt;

&lt;h2&gt;
  
  
  Having Better Conversations With Stakeholders
&lt;/h2&gt;

&lt;p&gt;The key to using your business literacy isn't just knowing the vocabulary. It's understanding what different stakeholders care about and framing your work in those terms.&lt;/p&gt;

&lt;h3&gt;
  
  
  With Sales
&lt;/h3&gt;

&lt;p&gt;Talk about: pipeline influence, deal velocity, technical credibility, competitive positioning, removing buying blockers&lt;/p&gt;

&lt;p&gt;Example: "I'd like to pilot a program where DevRel joins strategic deals for technical deep dives. Based on what I've seen, this could reduce time-to-close by 2-3 weeks by addressing technical concerns earlier in the cycle. Want to try this with three opportunities next quarter and measure the impact?"&lt;/p&gt;

&lt;h3&gt;
  
  
  With Marketing
&lt;/h3&gt;

&lt;p&gt;Talk about: funnel stages, campaign support, content performance, lead quality, brand awareness&lt;/p&gt;

&lt;p&gt;Example: "I noticed the marketing team is planning a campaign around [topic]. DevRel can support this by creating technical deep-dive content that serves the MOFU stage. We'll own the technical accuracy and authentic voice, which should improve conversion from awareness to consideration."&lt;/p&gt;

&lt;h3&gt;
  
  
  With Finance
&lt;/h3&gt;

&lt;p&gt;Talk about: budget allocation, ROI, cost efficiency, strategic investment, measurable outcomes&lt;/p&gt;

&lt;p&gt;Example: "I'm requesting $30K for three conference sponsorships next quarter. Based on last year's data, this typically generates 150 qualified conversations, with 10-15 entering our pipeline. At our average deal size, if just two deals close, that's $200K in revenue from a $30K investment."&lt;/p&gt;

&lt;h3&gt;
  
  
  With Executives
&lt;/h3&gt;

&lt;p&gt;Talk about: business objectives, market position, competitive advantage, growth levers, strategic priorities&lt;/p&gt;

&lt;p&gt;Example: "Our community strategy supports three key company objectives: it reduces CAC through organic growth, it creates customer stickiness that improves retention, and it provides product insights that help us build what developers actually need. This quarter we'll focus on [specific initiative] to accelerate growth in [target segment]."&lt;/p&gt;

&lt;h2&gt;
  
  
  Common Pitfalls to Avoid
&lt;/h2&gt;

&lt;p&gt;As you develop your business literacy and start speaking this language, watch out for these traps:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Over-rotating to business speak&lt;/strong&gt;: Don't become so focused on business outcomes that you lose sight of serving developers. If developers don't genuinely benefit from what you're doing, it's not sustainable DevRel work.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Claiming direct attribution when it's influence&lt;/strong&gt;: Be honest about what you can and can't directly attribute to DevRel. Influence is still valuable, but don't claim you "closed the deal" when you participated in one discovery call.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Using business literacy to justify work that doesn't serve developers&lt;/strong&gt;: Business literacy should help you advocate for developer-serving work, not rationalize doing things that only benefit the business.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Becoming a "mini-marketer"&lt;/strong&gt;: You're not marketing. You can use marketing language to communicate, but don't let that change what you actually do or how you do it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Overpromising to get budget&lt;/strong&gt;: It's tempting to make big claims to secure resources, but if you can't deliver, you damage your credibility for future asks.&lt;/p&gt;

&lt;h2&gt;
  
  
  Business Literacy ≠ Selling Out
&lt;/h2&gt;

&lt;p&gt;Let's address this head-on one more time: &lt;strong&gt;learning to speak business language doesn't mean you're selling out&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;You're still serving developers first. You're still advocating for their needs. You're still building authentic relationships and creating genuine value.&lt;/p&gt;

&lt;p&gt;What you're doing is making sure the people who control resources understand why that work matters to the business. You're ensuring that the work you believe in gets funded. You're protecting your team and your programs by being able to articulate their value.&lt;/p&gt;

&lt;p&gt;The alternative - being "too pure" to speak business language - often ends with your team getting cut and your programs getting defunded. And then who does that serve?&lt;/p&gt;

&lt;p&gt;Some of the most authentic, developer-focused DevRel professionals I know are also fluent in business language. They use that fluency to advocate more effectively for developers. They're bilingual, not sell-outs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Now You're Ready for the Next Level
&lt;/h2&gt;

&lt;p&gt;With the foundation of business literacy, you can now tackle the more advanced challenges:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Developing meaningful DevRel metrics that map to business objectives&lt;/li&gt;
&lt;li&gt;Building attribution models that give you credit for influence without overclaiming&lt;/li&gt;
&lt;li&gt;Creating business cases for new DevRel initiatives&lt;/li&gt;
&lt;li&gt;Demonstrating ROI in ways that are credible to finance teams&lt;/li&gt;
&lt;li&gt;Advocating for budget and headcount using compelling business logic&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These advanced topics deserve their own deep dives (and there are good resources out there on these topics). But without the foundation we've built in this series, those advanced topics don't make sense. You'd be trying to build a measurement framework without understanding what matters to the business. You'd be creating attribution models without understanding how marketing thinks about attribution. You'd be requesting budget without speaking the language of finance.&lt;/p&gt;

&lt;h2&gt;
  
  
  Work as Imagined vs Work as Done
&lt;/h2&gt;

&lt;p&gt;There's this concept from safety science: "work as imagined" vs "work as done." &lt;strong&gt;Work as imagined&lt;/strong&gt; is how things are supposed to work in theory. &lt;strong&gt;Work as done&lt;/strong&gt; is the messy reality of how things actually work.&lt;/p&gt;

&lt;p&gt;A lot of the DevRel discourse happens in "work as imagined" territory. In theory, we should just be able to show our impact through beautiful metrics. In theory, executives should just trust that DevRel is valuable. In theory, we shouldn't have to speak business language because our work should speak for itself.&lt;/p&gt;

&lt;p&gt;But that's not work as done. In reality, we operate in companies with finite resources, competing priorities, and stakeholders who think in different frameworks. In reality, business literacy is table stakes for being taken seriously.&lt;/p&gt;

&lt;p&gt;Focus on work as done. Learn the language. Have the conversations. Bridge the gaps.&lt;/p&gt;

&lt;h2&gt;
  
  
  Your Network Is Vast: DevRel as BizDev
&lt;/h2&gt;

&lt;p&gt;Here's one more thing to consider: your network is one of your most valuable assets, both personally and for your company.&lt;/p&gt;

&lt;p&gt;You know people at other companies. You have relationships in the developer community. You're connected to potential partners, customers, and advocates.&lt;/p&gt;

&lt;p&gt;This makes you valuable in ways that go beyond traditional DevRel metrics. Want to explore a partnership with another company? You probably know someone there. Need to get into a strategic account? Your network can probably help with an introduction.&lt;/p&gt;

&lt;p&gt;I'm not saying you should become a business development person. But I am saying that leveraging your network thoughtfully (and with appropriate boundaries) is another way DevRel creates business value.&lt;/p&gt;

&lt;h2&gt;
  
  
  Show Value But Set Boundaries
&lt;/h2&gt;

&lt;p&gt;As you become more business-literate and better at articulating your value, you'll likely get more requests. Sales will want you on more calls. Marketing will want you to support more campaigns. Executives will want you to do more things that "require less imagination to show value."&lt;/p&gt;

&lt;p&gt;This is where boundaries matter:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"I'll call in a favor from my network - once."&lt;/li&gt;
&lt;li&gt;"I'll share company news on social media, but in my own words and only if I genuinely think it's interesting."&lt;/li&gt;
&lt;li&gt;"I'll meet with prospects for technical discussions, but I won't do sales demos or pitch."&lt;/li&gt;
&lt;li&gt;"I'll write about new features after I've used them, and I'll share my honest impression."&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Your boundaries might be different. The key is being intentional about what you will and won't do. And remember: boundaries can be flexible and situational. But they should be conscious choices, not things that happen to you.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Business literacy is power. It's the power to advocate effectively. The power to protect your team. The power to fund the programs that serve developers. The power to have a seat at the strategic table.&lt;/p&gt;

&lt;p&gt;You don't need to become a finance expert or a sales leader or a marketing strategist. But you need to understand enough about how these functions work to translate between their world and yours.&lt;/p&gt;

&lt;p&gt;The cognitive dissonance a lot of DevRel folks feel - between "DevRel is good and pure and unsullied by capitalism" and "the company has to generate revenue and DevRel is part of that" - that dissonance is real. But it's also false tension.&lt;/p&gt;

&lt;p&gt;You can serve developers AND contribute to business success. You can be authentic AND speak business language. You can maintain your integrity AND work effectively with sales and marketing.&lt;/p&gt;

&lt;p&gt;In fact, you kind of have to. Because if you're not connected in a measurable way to either building the thing or selling the thing, it's going to be really hard to stick around for the encore.&lt;/p&gt;

&lt;p&gt;Get over yourself. Learn the language. Bridge the gap. And go be awesome...together with the rest of your company.&lt;/p&gt;

&lt;h2&gt;
  
  
  Resources for Continued Learning
&lt;/h2&gt;

&lt;p&gt;Want to deepen your business literacy? Here are some places to start:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Take a basic business finance course (lots of free options on Coursera, edX)&lt;/li&gt;
&lt;li&gt;Read your company's financial statements (if public) to understand how they talk about the business&lt;/li&gt;
&lt;li&gt;Ask to shadow someone in sales/marketing/finance for a day&lt;/li&gt;
&lt;li&gt;Read business books focused on SaaS/tech companies (I recommend "Crossing the Chasm" by Geoffrey Moore as a starting point)&lt;/li&gt;
&lt;li&gt;Follow finance and business leaders on social media to absorb how they think&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And most importantly: ask questions. The folks in sales, marketing, and finance usually love explaining their world to people who are genuinely curious.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://jmeiss.me/" rel="noopener noreferrer"&gt;Jeremy Meiss&lt;/a&gt; has written some great next step posts for you to consider:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://jmeiss.me/posts/devrel-and-the-customer-journey/" rel="noopener noreferrer"&gt;DevRel and the Customer Journey&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://jmeiss.me/posts/positioning-devrel-as-a-resource/" rel="noopener noreferrer"&gt;Positioning DevRel as a Resource&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://jmeiss.me/posts/measuring-devrel-impact-on-revenue/" rel="noopener noreferrer"&gt;Measuring the impact of Developer Relations on Revenue&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What's Next For You?
&lt;/h2&gt;

&lt;p&gt;So here's my question for you: what's one thing you're going to do differently based on this series?&lt;/p&gt;

&lt;p&gt;Maybe you're going to schedule coffee with someone from your sales team to understand their pipeline better. Maybe you're going to reframe how you talk about your work in your next stakeholder meeting. Maybe you're going to actually read through your company's budget process documentation (I know, thrilling stuff).&lt;/p&gt;

&lt;p&gt;Whatever it is, don't let this just be information you consumed. Make it actionable.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If you want to continue this conversation, I'm always available on &lt;a href="https://hachyderm.io/@mattstratton" rel="noopener noreferrer"&gt;Mastodon&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/mattstratton/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;, and &lt;a href="https://bsky.app/profile/matty.wtf" rel="noopener noreferrer"&gt;BlueSky&lt;/a&gt;. Share your experiences, your questions, your disagreements. This is work in progress for all of us.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Thanks for sticking with this series. Now go forth and speak business fluently while never forgetting who you're really here to serve: the developers.&lt;/p&gt;

&lt;p&gt;Build the thing. Sell the thing. But most importantly, make developers' lives better. That's the job.&lt;/p&gt;

</description>
      <category>devrel</category>
    </item>
    <item>
      <title>Product-Led Growth and What It Means for DevRel</title>
      <dc:creator>Matty Stratton</dc:creator>
      <pubDate>Tue, 28 Oct 2025 18:54:05 +0000</pubDate>
      <link>https://forem.com/mattstratton/product-led-growth-and-what-it-means-for-devrel-10mj</link>
      <guid>https://forem.com/mattstratton/product-led-growth-and-what-it-means-for-devrel-10mj</guid>
      <description>&lt;p&gt;&lt;em&gt;This is Part 5 of my 7-part series on business literacy for DevRel. &lt;a href="https://dev.to/mattstratton/why-business-literacy-matters-for-devrel-and-why-you-cant-skip-this-step-30p1"&gt;Start with Part 1 if you missed it&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;We've covered sales, marketing, and finance - the three core business functions you need to understand. But there's one more concept that ties everything together, and it's especially critical if you work at a developer tools company or any company with a self-serve product: &lt;strong&gt;Product-Led Growth&lt;/strong&gt; (PLG).&lt;/p&gt;

&lt;p&gt;If you've been around tech for the past five years, you've definitely heard this term thrown around. And if you're like most people, you might have a vague sense that it means "the product sells itself" but aren't totally clear on what that actually means or how DevRel fits in.&lt;/p&gt;

&lt;p&gt;This is the missing piece. Because understanding PLG fundamentally changes how you think about the relationship between DevRel, sales, marketing, and product.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Product-Led Growth Actually Means
&lt;/h2&gt;

&lt;p&gt;Product-Led Growth is a go-to-market strategy where the product itself is the primary driver of customer acquisition, expansion, and retention. Instead of relying heavily on sales teams to convince people to buy, the product experience convinces them.&lt;/p&gt;

&lt;p&gt;Think about how you adopted tools like Slack, Figma, or GitHub. You probably didn't talk to a sales rep first. You or someone on your team just started using it. The product was good enough that you kept using it. Eventually you needed more features or more seats, so you paid for it. Maybe your whole company ended up adopting it, even though it started with one team.&lt;/p&gt;

&lt;p&gt;That's PLG in action.&lt;/p&gt;

&lt;p&gt;In a traditional sales-led model, the sequence is: Sales → Trial → Adoption → Payment&lt;br&gt;&lt;br&gt;
In a product-led model, it's: Product → Adoption → Payment → Sales (maybe)&lt;/p&gt;

&lt;h2&gt;
  
  
  Why PLG Matters (Especially For Developer Tools)
&lt;/h2&gt;

&lt;p&gt;Developers hate being sold to. You know this. I know this. We all know this.&lt;/p&gt;

&lt;p&gt;Developers want to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Try things before buying&lt;/li&gt;
&lt;li&gt;Evaluate on their own terms, not on a sales rep's calendar&lt;/li&gt;
&lt;li&gt;Get hands-on experience without talking to anyone&lt;/li&gt;
&lt;li&gt;Make technical decisions based on actual experience, not marketing claims&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is why so many successful developer tools companies use PLG. It aligns with how developers actually want to evaluate and adopt tools.&lt;/p&gt;

&lt;p&gt;Companies like Stripe, Twilio, HashiCorp, MongoDB, and countless others have proven that PLG works incredibly well for developer products. And it's a model where DevRel can be absolutely critical to success.&lt;/p&gt;

&lt;h2&gt;
  
  
  The PLG Funnel (It's Different)
&lt;/h2&gt;

&lt;p&gt;In a traditional sales-led company, the funnel looks like:&lt;br&gt;&lt;br&gt;
Awareness → Lead → MQL → SQL → Opportunity → Customer&lt;/p&gt;

&lt;p&gt;In a PLG company, it's more like:&lt;br&gt;&lt;br&gt;
Awareness → Sign-up → Activation → Active Usage → Power User → Paying Customer → Expansion&lt;/p&gt;

&lt;p&gt;Let's break down these stages:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sign-up&lt;/strong&gt;: User creates an account. This is easy - usually just an email address. The barrier is intentionally low.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Activation&lt;/strong&gt;: User completes the critical actions that demonstrate they "get" the product. For GitHub, this might be creating their first repository. For Stripe, it's making a test API call. This is often called the "aha moment."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Active Usage&lt;/strong&gt;: User is regularly using the product and getting value from it. They've integrated it into their workflow.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Power User&lt;/strong&gt;: User is deeply engaged, using advanced features, bringing in teammates. They're getting significant value.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Paying Customer&lt;/strong&gt;: User hits some limit (features, usage, seats) and converts to paid. Critically, this often happens without ever talking to sales.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Expansion&lt;/strong&gt;: Customer uses more features, adds more users, upgrades tiers. Again, often self-serve.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where DevRel Fits in PLG
&lt;/h2&gt;

&lt;p&gt;Here's where it gets interesting for you: DevRel is absolutely critical at almost every stage of the PLG funnel.&lt;/p&gt;

&lt;h3&gt;
  
  
  Awareness Stage
&lt;/h3&gt;

&lt;p&gt;This is classic DevRel territory. Your conference talks, blog posts, podcasts, social media presence - all of this drives awareness. The difference in PLG is that you're not trying to generate leads for sales; you're trying to get people to sign up and try the product.&lt;/p&gt;

&lt;p&gt;Your call-to-action isn't "talk to sales" - it's "try it yourself right now."&lt;/p&gt;

&lt;h3&gt;
  
  
  Sign-up to Activation (The Critical Gap)
&lt;/h3&gt;

&lt;p&gt;This is where a LOT of PLG companies struggle. People sign up, poke around, don't understand the value, and leave. The activation rate might be 20-30%.&lt;/p&gt;

&lt;p&gt;DevRel can massively impact this through:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Great documentation that gets people to their "aha moment" fast&lt;/li&gt;
&lt;li&gt;Quick-start guides and tutorials&lt;/li&gt;
&lt;li&gt;Sample projects and templates&lt;/li&gt;
&lt;li&gt;Video walkthroughs&lt;/li&gt;
&lt;li&gt;Office hours where people can get unstuck&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You're essentially reducing time-to-value. The faster someone gets value, the more likely they activate.&lt;/p&gt;

&lt;h3&gt;
  
  
  Active Usage to Power User
&lt;/h3&gt;

&lt;p&gt;Once someone is using the product, DevRel keeps them engaged and helps them go deeper:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Advanced tutorials and use cases&lt;/li&gt;
&lt;li&gt;Community where they can learn from peers&lt;/li&gt;
&lt;li&gt;Content about best practices and patterns&lt;/li&gt;
&lt;li&gt;Events and workshops that teach advanced features&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You're helping users get more value from the product, which increases stickiness.&lt;/p&gt;

&lt;h3&gt;
  
  
  Power User to Paying Customer
&lt;/h3&gt;

&lt;p&gt;This conversion often happens naturally when users hit limits, but DevRel can influence it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Case studies showing how others use paid features&lt;/li&gt;
&lt;li&gt;Content that highlights the value of premium capabilities&lt;/li&gt;
&lt;li&gt;Community members sharing their experiences with paid tiers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You're not selling, but you're helping people understand when and why to upgrade.&lt;/p&gt;

&lt;h3&gt;
  
  
  Paying Customer to Expansion
&lt;/h3&gt;

&lt;p&gt;DevRel helps customers expand their usage:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Training on enterprise features&lt;/li&gt;
&lt;li&gt;Best practices for scaling&lt;/li&gt;
&lt;li&gt;Community connections that show what's possible&lt;/li&gt;
&lt;li&gt;Advocacy that keeps them engaged and excited&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  PLG Metrics That Matter to DevRel
&lt;/h2&gt;

&lt;p&gt;In a PLG company, the metrics you care about shift a bit:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sign-ups&lt;/strong&gt;: How many people are creating accounts? Your awareness activities drive this.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Activation Rate&lt;/strong&gt;: What percentage of sign-ups reach the "aha moment"? Your onboarding content affects this.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Time to Value&lt;/strong&gt;: How quickly do users get value? Your documentation and tutorials impact this.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Product Qualified Leads (PQLs)&lt;/strong&gt;: Users who have demonstrated high engagement and fit the profile for conversion to paid. This is PLG's version of an MQL.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Free-to-Paid Conversion Rate&lt;/strong&gt;: What percentage of free users convert to paid? Your content about premium features influences this.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Net Revenue Retention (NRR)&lt;/strong&gt;: Are existing customers expanding their usage? Your community and advanced content affect this.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Community Engagement&lt;/strong&gt;: Active community members are more likely to convert and expand. Your community building directly impacts this.&lt;/p&gt;

&lt;p&gt;The beautiful thing about PLG is that DevRel activities have clearer, more direct metrics. You can often see: this piece of content led to X sign-ups, Y of whom activated, and Z of whom converted to paid.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Sales-Assist Model (PLG + Sales)
&lt;/h2&gt;

&lt;p&gt;Here's where it gets nuanced: most PLG companies still have sales teams. They just work differently.&lt;/p&gt;

&lt;p&gt;In a PLG company, sales typically does one of two things:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Sales-Assist for Expansion&lt;/strong&gt;: Free users become paid users on their own, but when they want to expand significantly (more seats, enterprise features), sales gets involved to help close bigger deals.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Land-and-Expand&lt;/strong&gt;: Sales might not touch small deals at all, but once an account reaches a certain size or shows certain behaviors, sales reaches out to help them expand.&lt;/p&gt;

&lt;p&gt;This is sometimes called "Product-Led Sales" - sales that's triggered by product usage signals, not traditional lead gen.&lt;/p&gt;

&lt;h2&gt;
  
  
  What This Means for DevRel in a PLG Company
&lt;/h2&gt;

&lt;p&gt;If you work at a PLG company (or your company is moving toward PLG), your role is even more critical:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You're a growth driver, not just brand building&lt;/strong&gt;: In traditional sales-led companies, DevRel is often seen as brand/awareness. In PLG companies, DevRel directly impacts the metrics that matter - sign-ups, activation, and conversion.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Documentation and onboarding are strategic&lt;/strong&gt;: These aren't afterthoughts; they're core to the business model. Investing in great docs isn't nice-to-have; it's mission-critical.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Community is a growth engine&lt;/strong&gt;: Active community members are more likely to convert, expand, and bring in new users. Community building isn't just feel-good work; it's a competitive advantage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Your content directly impacts the funnel&lt;/strong&gt;: That tutorial you wrote? It's not just TOFU content - it might be what gets someone from sign-up to activation. That's directly impacting conversion.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You work more closely with product&lt;/strong&gt;: In PLG, the line between product and go-to-market blurs. You need to work closely with product teams to ensure the product experience supports the PLG motion.&lt;/p&gt;

&lt;h2&gt;
  
  
  PLG Changes the Business Literacy Conversation
&lt;/h2&gt;

&lt;p&gt;Remember all that stuff we talked about in earlier posts about explaining your value? In PLG companies, it's often easier because the connection is more direct:&lt;/p&gt;

&lt;p&gt;To &lt;strong&gt;Sales&lt;/strong&gt;: "DevRel is filling the top of the funnel and helping users get to PQL status faster, which gives you higher-quality accounts to work with."&lt;/p&gt;

&lt;p&gt;To &lt;strong&gt;Marketing&lt;/strong&gt;: "DevRel is driving sign-ups and activation, which are our primary growth metrics. We're also reducing time-to-value, which improves our conversion rates."&lt;/p&gt;

&lt;p&gt;To &lt;strong&gt;Finance&lt;/strong&gt;: "DevRel investments directly correlate with sign-up growth and activation improvements. Here's the data showing how tutorial usage maps to activation rate."&lt;/p&gt;

&lt;p&gt;To &lt;strong&gt;Product&lt;/strong&gt;: "DevRel is hearing user feedback at scale and seeing where people get stuck in the onboarding flow. This intelligence helps you improve the product experience."&lt;/p&gt;

&lt;h2&gt;
  
  
  The Dark Side of PLG (That Nobody Talks About)
&lt;/h2&gt;

&lt;p&gt;PLG isn't magic. It has challenges:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Free User Problem&lt;/strong&gt;: In PLG, you have tons of free users who may never convert. Supporting them costs money. DevRel needs to help free users get enough value to convert, without providing so much support that it's not sustainable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Activation is Hard&lt;/strong&gt;: Most people who sign up for a product never activate. This can be demoralizing if your sign-up numbers look great but activation is terrible. DevRel can help, but can't fix a fundamentally confusing product.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Self-Serve Isn't Always Better&lt;/strong&gt;: Some products are complex enough that they need human help. Forcing a pure PLG motion when the product isn't ready for it doesn't work.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Support Burden&lt;/strong&gt;: When you have thousands of free users, the support and community management burden can be enormous. DevRel often ends up carrying this, and it needs resources.&lt;/p&gt;

&lt;h2&gt;
  
  
  Traditional Sales-Led vs PLG: Not Either/Or
&lt;/h2&gt;

&lt;p&gt;Here's the thing: most companies aren't purely PLG or purely sales-led. They're hybrid.&lt;/p&gt;

&lt;p&gt;You might have a free tier and self-serve paid tier (PLG), but also have a sales team for enterprise deals (sales-led). This is really common.&lt;/p&gt;

&lt;p&gt;Or you might start PLG for small teams, but sales gets involved when an account grows to a certain size.&lt;/p&gt;

&lt;p&gt;Understanding both models - and how they work together - makes you more effective. You can support the PLG motion for individual developers and small teams while also supporting sales when they're working with larger accounts.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to Think About PLG as a DevRel Professional
&lt;/h2&gt;

&lt;p&gt;If your company is PLG or moving toward PLG:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Embrace it&lt;/strong&gt;: PLG aligns really well with DevRel values. Letting the product speak for itself, empowering users to evaluate on their own terms, removing barriers - this is all good stuff.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Get closer to product data&lt;/strong&gt;: Work with your product team to understand metrics like activation rate, time-to-value, and conversion funnel. Ask for access to dashboards. Understand what users are actually doing in the product.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Focus on onboarding&lt;/strong&gt;: The period between sign-up and activation is critical. Invest heavily in making this smooth.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Build feedback loops&lt;/strong&gt;: PLG gives you tons of data about what's working and what's not. Use it to improve docs, content, and even influence product decisions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Think about the full journey&lt;/strong&gt;: Don't just focus on awareness. Think about how your work impacts every stage from sign-up to expansion.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Bottom Line
&lt;/h2&gt;

&lt;p&gt;Product-Led Growth isn't a replacement for sales or marketing. It's a different go-to-market motion that changes how everything works, including DevRel.&lt;/p&gt;

&lt;p&gt;In PLG companies, DevRel isn't just "nice to have" - it's essential infrastructure. Great docs aren't a nice-to-have; they're what makes the PLG motion work. Active community isn't just engagement; it's what drives retention and expansion.&lt;/p&gt;

&lt;p&gt;Understanding PLG helps you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Position your work more strategically&lt;/li&gt;
&lt;li&gt;Focus on the right activities&lt;/li&gt;
&lt;li&gt;Measure impact more directly&lt;/li&gt;
&lt;li&gt;Collaborate better with product, marketing, and sales&lt;/li&gt;
&lt;li&gt;Advocate for resources more effectively&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you're at a PLG company and you haven't been thinking about your work through this lens, start now. And if you're at a traditional sales-led company but serve developers, consider whether some PLG principles could make your work more effective.&lt;/p&gt;

&lt;p&gt;Either way, understanding PLG is part of business literacy for modern DevRel. Add it to your toolkit.&lt;/p&gt;

&lt;h2&gt;
  
  
  Want to Go Deeper?
&lt;/h2&gt;

&lt;p&gt;Some resources on PLG:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;&lt;a href="https://www.amazon.com/Product-Led-Growth-Build-Product-Itself/dp/1798434520" rel="noopener noreferrer"&gt;Product-Led Growth&lt;/a&gt;&lt;/em&gt; by Wes Bush (book)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://openviewpartners.com/product-led-growth/" rel="noopener noreferrer"&gt;OpenView's PLG resources&lt;/a&gt; (they coined the term)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.youtube.com/watch?v=cJY1Pabz6q8" rel="noopener noreferrer"&gt;Is Product Led Growth the DevOps of DevRel?&lt;/a&gt; (Daniel Bryant's talk at DevRelCon 2022)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Next up, we're bringing it all together in the final post - how to actually use this business literacy in your day-to-day DevRel work. How to translate what you do into language that resonates with stakeholders. How to speak business without losing your soul.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;As always, comments are open below if you want to discuss, debate, or share your PLG experiences.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Previously:&lt;/strong&gt; &lt;a href="https://dev.to/mattstratton/product-101-your-secret-weapon-for-understanding-the-business-2m6j9"&gt;Part 5: Product 101&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Next up:&lt;/strong&gt; &lt;a href="https://dev.to/mattstratton/putting-it-all-together-speaking-business-as-a-devrel-professional-2kfj"&gt;Wrapping it all up&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devrel</category>
    </item>
    <item>
      <title>Finance 101: Budgets, P&amp;Ls, and the Language of Money</title>
      <dc:creator>Matty Stratton</dc:creator>
      <pubDate>Tue, 28 Oct 2025 18:53:35 +0000</pubDate>
      <link>https://forem.com/mattstratton/finance-101-budgets-pls-and-the-language-of-money-3dp9</link>
      <guid>https://forem.com/mattstratton/finance-101-budgets-pls-and-the-language-of-money-3dp9</guid>
      <description>&lt;p&gt;&lt;em&gt;This is Part 4 of my 7-part series on business literacy for DevRel. &lt;a href="https://dev.to/mattstratton/why-business-literacy-matters-for-devrel-and-why-you-cant-skip-this-step-30p1"&gt;Start with Part 1 if you missed it&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Time for everyone's favorite topic: money. Specifically, how companies think about money, track money, and make decisions about money.&lt;/p&gt;

&lt;p&gt;If your eyes are already glazing over, I get it. When I was first a sysadmin, I thought finance was just "the people who make it difficult to buy the things I need." As a DevRel professional, you might think finance is "the people who keep asking me to justify my conference budget."&lt;/p&gt;

&lt;p&gt;However, understanding finance might be the single most important business skill you develop. Because at the end of the day, no matter how amazing your DevRel work is, if you can't speak the language of money, you're going to struggle to advocate for your team, defend your budget, and demonstrate your value.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Finance Actually Does
&lt;/h2&gt;

&lt;p&gt;Finance manages the company's money. All of it. They track where money comes from (revenue) and where it goes (expenses). They plan for the future (budgeting). They make sure the company stays financially healthy. They report to investors or the board on the company's financial performance.&lt;/p&gt;

&lt;p&gt;But finance isn't just about counting beans (though there is some bean counting). Strategic finance helps the company make smart decisions about where to invest resources. They're asking questions like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"Should we hire more sales people or invest in marketing?"&lt;/li&gt;
&lt;li&gt;"Can we afford to expand to a new market?"&lt;/li&gt;
&lt;li&gt;"Which initiatives are giving us the best return on investment?"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For a company to survive, revenue needs to exceed expenses. Finance's job is to make sure that happens (or at least make sure the company is on a path to make it happen, because early-stage companies often operate at a loss while they're growing).&lt;/p&gt;

&lt;h2&gt;
  
  
  Meet the Finance Team
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;CFO (Chief Financial Officer)&lt;/strong&gt;: The top finance executive. They own the overall financial strategy and health of the company. They report to the CEO and often the board. When big financial decisions get made, the CFO is in the room.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;VP Finance / Controller&lt;/strong&gt;: Usually manages day-to-day finance operations. They might oversee accounting, financial planning, and the finance team members.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;FP&amp;amp;A (Financial Planning &amp;amp; Analysis)&lt;/strong&gt;: These folks do the budgeting, forecasting, and financial modeling. When you submit your budget request, FP&amp;amp;A is reviewing it. When the company is trying to figure out if they can afford something, FP&amp;amp;A is running the numbers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Accounting Team&lt;/strong&gt;: They track and record all financial transactions, make sure bills get paid, ensure compliance with financial regulations, and generally keep the books in order.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How DevRel Interacts With Finance&lt;/strong&gt;: Mostly through budget requests, expense management, and ROI discussions. Unless your company is really small, you probably won't interact with the CFO regularly, but you might work with FP&amp;amp;A on planning and budgets.&lt;/p&gt;

&lt;h2&gt;
  
  
  Understanding the P&amp;amp;L (Profit and Loss Statement)
&lt;/h2&gt;

&lt;p&gt;A P&amp;amp;L is basically a report card for how the company is doing financially. Here's the simple version:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Revenue&lt;/strong&gt; (money coming in)&lt;br&gt;&lt;br&gt;
minus &lt;strong&gt;Expenses&lt;/strong&gt; (money going out)&lt;br&gt;&lt;br&gt;
equals &lt;strong&gt;Profit or Loss&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If revenue is bigger than expenses, you have profit. If expenses are bigger than revenue, you have a loss.&lt;/p&gt;

&lt;p&gt;Now let's break down the expense side, because that's where you live:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cost of Goods Sold (COGS)&lt;/strong&gt;: The direct costs of delivering your product or service. For SaaS companies, this is things like cloud infrastructure, hosting costs, and support. Generally, you want this to be relatively low compared to revenue.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Operating Expenses (OpEx)&lt;/strong&gt;: Everything else it costs to run the business:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Sales &amp;amp; Marketing&lt;/strong&gt;: Sales team salaries, marketing programs, advertising, events, tools&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Research &amp;amp; Development (R&amp;amp;D)&lt;/strong&gt;: Engineering team, product team, technical infrastructure&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;General &amp;amp; Administrative (G&amp;amp;A)&lt;/strong&gt;: Finance, HR, legal, executive team, office costs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;DevRel usually shows up in Sales &amp;amp; Marketing or sometimes in R&amp;amp;D, depending on where you report. Either way, you're an operating expense.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cost Center vs Profit Center
&lt;/h3&gt;

&lt;p&gt;Most DevRel teams are cost centers - meaning you cost money but don't directly generate revenue. Sales is usually a profit center because they directly bring in revenue (though they also cost money in salaries and commissions).&lt;/p&gt;

&lt;p&gt;Being a cost center isn't bad! Most of the company is cost centers. But it does mean that during budget cuts, cost centers are scrutinized more heavily. This is why being able to articulate your value in business terms matters so much.&lt;/p&gt;

&lt;h2&gt;
  
  
  Budgeting: The Annual Stress Fest
&lt;/h2&gt;

&lt;p&gt;Budgeting is the process of planning how much money each part of the company gets to spend. Most companies do annual budgets, often with quarterly reviews and adjustments.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Budgeting Cycle&lt;/strong&gt; usually goes something like this:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Leadership sets revenue targets and high-level spending parameters&lt;/li&gt;
&lt;li&gt;Each department builds a budget showing what they need to spend to hit their goals&lt;/li&gt;
&lt;li&gt;Finance reviews all the requests (which always add up to more than the company can afford)&lt;/li&gt;
&lt;li&gt;Negotiation happens. Priorities get set. Cuts get made.&lt;/li&gt;
&lt;li&gt;Final budget gets approved&lt;/li&gt;
&lt;li&gt;Everyone complains it's not enough (it never is)&lt;/li&gt;
&lt;li&gt;Throughout the year, actual spending gets tracked against the budget&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Top-Down vs Bottom-Up Budgeting&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Top-down: Leadership says "Sales &amp;amp; Marketing gets $5M" and then that team figures out how to allocate it&lt;/li&gt;
&lt;li&gt;Bottom-up: Each team builds their ideal budget and submits it up the chain&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Most companies do some combination. You might be told "DevRel has a budget of $X" or you might be asked "What do you need for next year?"&lt;/p&gt;

&lt;h3&gt;
  
  
  Building a DevRel Budget
&lt;/h3&gt;

&lt;p&gt;Your budget probably includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Headcount&lt;/strong&gt;: Salaries and benefits for your team (usually your biggest expense by far)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Programs&lt;/strong&gt;: Events, sponsorships, community programs, swag&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tools&lt;/strong&gt;: Software subscriptions, community platforms, content creation tools&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Travel&lt;/strong&gt;: Flights, hotels, meals for conferences and events&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Content Production&lt;/strong&gt;: Video production, freelance writers, design services&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When you build a budget, you need to:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Tie it to goals&lt;/strong&gt;: "We need $X to do Y, which will result in Z outcome"&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Show your math&lt;/strong&gt;: "Three conferences at $10K each = $30K"&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Prioritize&lt;/strong&gt;: What's must-have vs nice-to-have&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Be realistic&lt;/strong&gt;: Under-budgeting doesn't help anyone&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;And here's what nobody tells you: &lt;strong&gt;always expect cuts&lt;/strong&gt;. Budget a little high if you can, knowing you'll probably need to trim. But don't budget ridiculous things you don't actually need, because that damages your credibility.&lt;/p&gt;

&lt;h3&gt;
  
  
  Managing Your Budget Throughout The Year
&lt;/h3&gt;

&lt;p&gt;Once you have a budget, you need to track it. Finance is definitely tracking it, and you should be too. Know at any given time:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How much you've spent&lt;/li&gt;
&lt;li&gt;How much you have left&lt;/li&gt;
&lt;li&gt;What big expenses are coming&lt;/li&gt;
&lt;li&gt;Whether you're on track or over/under budget&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you're going to go over budget, flag it early. Finance hates surprises. If you're going to be way under budget, that's also worth flagging - sometimes you can reallocate or carry forward savings.&lt;/p&gt;

&lt;h2&gt;
  
  
  Essential Finance Terminology
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;CapEx vs OpEx&lt;/strong&gt;: This is a big one.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;CapEx (Capital Expenditure)&lt;/strong&gt;: Large purchases that are assets - things like equipment, buildings, major infrastructure. These get depreciated over time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;OpEx (Operating Expenditure)&lt;/strong&gt;: Day-to-day operating costs like salaries, subscriptions, travel, programs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Most DevRel spending is OpEx. Why does this matter? Because CapEx and OpEx are treated differently for accounting and tax purposes, and companies often have different budgets for each.&lt;/p&gt;

&lt;p&gt;If you want to buy a $50K piece of video production equipment, that's CapEx and comes from a different bucket than your $50K event sponsorship (OpEx). Understanding this helps you navigate budget conversations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;EBITDA&lt;/strong&gt;: Earnings Before Interest, Taxes, Depreciation, and Amortization. This is a measure of operational profitability. Basically, it's trying to show how much cash the core business operations are generating.&lt;/p&gt;

&lt;p&gt;Why should you care? Because companies that aren't profitable yet but are showing strong EBITDA growth are demonstrating they're on a path to profitability. This affects investment decisions and budget allocations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Burn Rate&lt;/strong&gt;: How quickly a company is spending money. Especially relevant for startups. If you're spending $1M/month and bringing in $500K/month, your burn rate is $500K/month.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Runway&lt;/strong&gt;: How long the company can operate at current burn rate before running out of money. If you have $6M in the bank and a burn rate of $500K/month, you have 12 months of runway.&lt;/p&gt;

&lt;p&gt;Why this matters to you: when runway gets short, budget cuts happen. Understanding runway gives you early warning signals.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CAC (Customer Acquisition Cost)&lt;/strong&gt;: The total cost to acquire a new customer. Add up all your Sales &amp;amp; Marketing spend and divide by number of new customers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;LTV (Lifetime Value)&lt;/strong&gt;: The total revenue you expect from a customer over their entire relationship with you.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;LTV:CAC Ratio&lt;/strong&gt;: This is super important. If it costs you $10,000 to acquire a customer (CAC) and they generate $30,000 in revenue over their lifetime (LTV), your ratio is 3:1.&lt;/p&gt;

&lt;p&gt;Generally, you want this ratio to be 3:1 or better. Lower than 3:1 and you're spending too much on acquisition. Higher than 3:1 and you might not be spending enough (you could grow faster).&lt;/p&gt;

&lt;p&gt;Why DevRel should care: If you can show that DevRel activities reduce CAC or increase LTV, you're speaking directly to metrics that executives obsess about.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Gross Margin&lt;/strong&gt;: Revenue minus COGS, expressed as a percentage. If you have $100 in revenue and $30 in COGS, your gross margin is 70%. SaaS companies typically have gross margins of 70-80%+.&lt;/p&gt;

&lt;p&gt;Why this matters: High gross margin means you have more money available for operating expenses (like DevRel). If margins are shrinking, operating budgets get squeezed.&lt;/p&gt;

&lt;h2&gt;
  
  
  How DevRel Costs Are Viewed
&lt;/h2&gt;

&lt;p&gt;Let's be honest about how finance sees DevRel:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Headcount&lt;/strong&gt; is usually your biggest cost. For example, if you have a team of 5 people with an average total compensation (salary + benefits) of $150K, that's $750K/year just in people costs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Programs&lt;/strong&gt; are visible and often questioned. That $50K conference sponsorship? Finance is asking "What do we get for that?" The more clearly you can connect program spend to outcomes, the easier budget conversations get.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tools&lt;/strong&gt; are usually easier to justify, especially if you can show ROI. A $10K/year community platform that supports 10,000 active developers is pretty easy math.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Travel&lt;/strong&gt; is often the first thing to get cut in tough times. It's visible, feels expensive, and is easy to reduce. This is why many DevRel budgets got decimated during COVID.&lt;/p&gt;

&lt;p&gt;Finance asks questions like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"What's the return on this investment?"&lt;/li&gt;
&lt;li&gt;"Could we get similar outcomes spending less?"&lt;/li&gt;
&lt;li&gt;"Is this must-have or nice-to-have?"&lt;/li&gt;
&lt;li&gt;"Can we measure the impact?"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The better you can answer these questions, the easier your budget conversations.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Hard Truth About Budget Cuts
&lt;/h2&gt;

&lt;p&gt;When companies need to reduce costs, they look at what they can cut with the least immediate impact on revenue. Unfortunately, DevRel often falls into this category because:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The connection to revenue isn't always direct or immediate&lt;/li&gt;
&lt;li&gt;The impact of cutting DevRel isn't felt right away&lt;/li&gt;
&lt;li&gt;It's easy to say "we'll just stop doing conferences for a year"&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This is why business literacy matters. If you can articulate DevRel's impact in financial terms - "DevRel activities influenced $2M in pipeline" or "Our community reduces support costs by $X" - you're much better positioned to defend your budget.&lt;/p&gt;

&lt;h2&gt;
  
  
  Making The Business Case
&lt;/h2&gt;

&lt;p&gt;When you need to advocate for budget, you need to speak finance's language:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Connect to revenue&lt;/strong&gt;: "This program helps accelerate deals by X days, which means we close Y more deals per quarter"&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Show efficiency&lt;/strong&gt;: "This investment of $X reduces costs in other areas by $Y"&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Demonstrate ROI&lt;/strong&gt;: "Last year we spent $X on this and it resulted in Y measurable outcome worth $Z"&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Frame in terms of risk&lt;/strong&gt;: "Not investing in this creates risk of A, B, C"&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use benchmarks&lt;/strong&gt;: "Industry standard for companies our size is X, we're at Y"&lt;/p&gt;

&lt;p&gt;You don't have to have perfect data for all of this. But you need to be able to tell a credible story using numbers and business logic.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Finance Wants From You
&lt;/h2&gt;

&lt;p&gt;Honestly? Finance wants you to:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Stay on budget&lt;/strong&gt; - Don't surprise them&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Track your spending&lt;/strong&gt; - Know your numbers&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Justify requests&lt;/strong&gt; - Explain the why&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Show impact&lt;/strong&gt; - Connect to business outcomes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Be realistic&lt;/strong&gt; - Don't ask for things you can't defend&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Finance people aren't the enemy. They're trying to make sure the company doesn't run out of money. Help them understand why DevRel is a good investment, and they'll often advocate for you.&lt;/p&gt;

&lt;h2&gt;
  
  
  What This Means For Your Work
&lt;/h2&gt;

&lt;p&gt;Understanding finance doesn't mean becoming an accountant. It means:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You can build and defend a budget&lt;/li&gt;
&lt;li&gt;You can have informed conversations with finance leadership&lt;/li&gt;
&lt;li&gt;You can speak credibly about financial trade-offs&lt;/li&gt;
&lt;li&gt;You can frame DevRel's value in financial terms&lt;/li&gt;
&lt;li&gt;You can see early warning signals when budget cuts might be coming&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Look, finance isn't the hippest part of business literacy. But it might be the most important. Because at the end of the day, companies are resource-constrained, and the teams that can effectively advocate for resources in financial terms are the ones that thrive.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Questions about budgets? Confused about the difference between CapEx and OpEx? Want to share your budget horror stories? Comments are open.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Previously:&lt;/strong&gt; &lt;a href="https://dev.to/mattstratton/marketing-101-funnels-campaigns-and-what-marketing-actually-means-4j81"&gt;Part 3: Marketing 101&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Next up:&lt;/strong&gt; &lt;a href="https://dev.to/mattstratton/product-101-your-secret-weapon-for-understanding-the-business-2m6j"&gt;Product 101&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devrel</category>
    </item>
    <item>
      <title>Marketing 101: Funnels, Campaigns, and What Marketing Actually Means</title>
      <dc:creator>Matty Stratton</dc:creator>
      <pubDate>Tue, 28 Oct 2025 16:09:00 +0000</pubDate>
      <link>https://forem.com/mattstratton/marketing-101-funnels-campaigns-and-what-marketing-actually-means-4j81</link>
      <guid>https://forem.com/mattstratton/marketing-101-funnels-campaigns-and-what-marketing-actually-means-4j81</guid>
      <description>&lt;p&gt;&lt;em&gt;This is Part 3 of my 7-part series on business literacy for DevRel. &lt;a href="https://dev.to/mattstratton/why-business-literacy-matters-for-devrel-and-why-you-cant-skip-this-step-30p1"&gt;Start with Part 1 if you missed it&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Let's talk about the relationship between DevRel and marketing. And if you just shuddered uncontrollably, you're exactly who I'm writing this for.&lt;/p&gt;

&lt;p&gt;A lot of people believe &lt;em&gt;really hard&lt;/em&gt; that DevRel is &lt;em&gt;not&lt;/em&gt; developer marketing, because somehow a lot of folks decided that sales and marketing are icky. But I think that in a lot of ways, DevRel IS developer marketing (or at least a lot of it), and that is NOT BAD.&lt;/p&gt;

&lt;p&gt;Before the pitchforks come out, let me state clearly that &lt;strong&gt;DevRel serves developers first&lt;/strong&gt;. That's non-negotiable. But DevRel &lt;em&gt;also&lt;/em&gt; exists within companies that need to generate awareness, create demand, and ultimately get developers to evaluate and adopt their products. That's ... marketing. And pretending otherwise doesn't make us more authentic; it just makes us harder to work with.&lt;/p&gt;

&lt;h2&gt;
  
  
  DevRel Is Not Marketing (But You Still Need To Understand It)
&lt;/h2&gt;

&lt;p&gt;Okay, so maybe you're at a company where DevRel definitely isn't marketing. Maybe you report up through engineering, or you're your own thing, or you roll up to the CEO. That's cool. Lots of different org structures can work.&lt;/p&gt;

&lt;p&gt;But regardless of where you sit on the org chart, you work at a company that has a marketing function. And that marketing function has goals, processes, and metrics that affect you whether you like it or not.&lt;/p&gt;

&lt;p&gt;Understanding how marketing works doesn't mean you become a marketer. It means you can collaborate effectively, communicate your value in terms they understand, and (critically) advocate for why DevRel's approach is different and valuable.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Marketing Actually Does
&lt;/h2&gt;

&lt;p&gt;At the highest level, marketing's job is to &lt;strong&gt;create awareness&lt;/strong&gt; of your product, &lt;strong&gt;generate demand&lt;/strong&gt; for it, and &lt;strong&gt;nurture prospects&lt;/strong&gt; until they're ready to talk to sales.&lt;/p&gt;

&lt;p&gt;But within that simple description, there's a ton of nuance:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Brand Marketing&lt;/strong&gt; focuses on building awareness and perception of your company and product. They care about things like "do people know who we are?" and "do they associate us with quality/innovation/trust?"&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Demand Generation&lt;/strong&gt; (or demand gen) is about creating interest in your product and generating leads that sales can work with. They're running campaigns, creating content, managing paid ads, and generally trying to fill the top of the funnel.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Product Marketing&lt;/strong&gt; sits between product and go-to-market teams. They're figuring out positioning, messaging, competitive analysis, and creating the narrative around your product. They're the ones writing the website copy and creating the slide decks that sales uses.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Content Marketing&lt;/strong&gt; creates educational content (blogs, guides, videos) to attract and engage potential customers. This is where things get really overlappy with DevRel, and we'll dig into that.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Field Marketing&lt;/strong&gt; handles events, sponsorships, and local/regional marketing activities. If you've ever coordinated with someone about booth staffing or event sponsorships, you've worked with field marketing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Meet the Marketing Team: Roles You Need to Know
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;CMO (Chief Marketing Officer)&lt;/strong&gt;: The top marketing executive. They own the overall marketing strategy and are usually accountable for things like lead generation and pipeline contribution.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;VP/Director of Demand Generation&lt;/strong&gt;: Focused specifically on creating and nurturing leads. They often own the lead generation targets and are judged on how much pipeline they help create.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Product Marketing Manager (PMM)&lt;/strong&gt;: These folks are the bridge between product and go-to-market. They craft positioning, create sales enablement materials, and often lead product launches. If you're launching a new feature, you're probably working with a PMM.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Content Marketing Manager&lt;/strong&gt;: Owns the content strategy and often manages writers/creators. If DevRel is creating content, you're probably coordinating with this person to avoid duplication and ensure alignment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Marketing Operations (MOps)&lt;/strong&gt;: The behind-the-scenes folks who manage the marketing tech stack, set up campaigns, and make sure data flows between systems correctly. You might not work with them directly, but they're critical to how marketing measures success.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Where DevRel Sits&lt;/strong&gt;: This varies wildly by company. Sometimes DevRel reports into marketing. Sometimes engineering. Sometimes it's its own thing. Sometimes it doesn't exist at all and marketing just has "developer marketers." None of these are inherently right or wrong, but each has implications for how you operate.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Marketing Funnel: How Marketing Thinks About the World
&lt;/h2&gt;

&lt;p&gt;If you've spent any time near marketing, you've heard about "the funnel." And if you're like most DevRel folks, you've probably rolled your eyes at it because it feels overly simplistic and doesn't capture the messy reality of how developers actually discover and adopt tools.&lt;/p&gt;

&lt;p&gt;You're not wrong. But the funnel is still a useful mental model for understanding how marketing thinks about the buyer's journey. So let's decode it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;TOFU (Top of Funnel)&lt;/strong&gt;: This is the awareness stage. People don't know about your product, or they're just starting to become aware they have a problem. Content at this stage is broad, educational, and not product-specific. Think: blog posts about industry trends, conference talks about best practices, social media content. &lt;/p&gt;

&lt;p&gt;Sound familiar? Yeah. A lot of DevRel activities live here.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;MOFU (Middle of Funnel)&lt;/strong&gt;: This is the consideration stage. People know they have a problem and they're evaluating potential solutions. Content here is more specific - webinars, comparison guides, technical deep dives, case studies. &lt;/p&gt;

&lt;p&gt;DevRel definitely plays here too, although marketing might own it more directly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;BOFU (Bottom of Funnel)&lt;/strong&gt;: This is the decision stage. People are ready to buy; they just need the final push. Content here includes things like product demos, free trials, detailed pricing information, customer references.&lt;/p&gt;

&lt;p&gt;This is mostly sales and marketing territory, but DevRel can still have influence here.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why The Funnel Matters To You
&lt;/h3&gt;

&lt;p&gt;Even if you think the funnel is reductive (and it kind of is), understanding it helps you:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Communicate with marketing in their language&lt;/li&gt;
&lt;li&gt;Explain where your DevRel activities fit in their mental model&lt;/li&gt;
&lt;li&gt;Understand why they care about certain metrics at different stages&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;When marketing says they need "more TOFU content," they're saying they need content that builds awareness. When they talk about "MOFU conversion rates," they're talking about how effectively they're moving people from awareness to consideration.&lt;/p&gt;

&lt;p&gt;You don't have to love the funnel. You just need to understand it well enough to translate.&lt;/p&gt;

&lt;h2&gt;
  
  
  Campaigns: More Than Just "That Thing Marketing Does"
&lt;/h2&gt;

&lt;p&gt;In marketing speak, a campaign is a coordinated set of activities designed to achieve a specific goal. It might be promoting a new product feature, driving registrations for an event, or generating leads in a specific market segment.&lt;/p&gt;

&lt;p&gt;A campaign usually includes multiple touchpoints: maybe a blog post, some social media content, a webinar, some paid ads, and an email sequence. All of these pieces work together toward the campaign goal.&lt;/p&gt;

&lt;p&gt;Why does this matter to DevRel? Because your content and activities might feed into campaigns, and understanding this helps you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Coordinate timing (so your blog post goes live when the campaign launches, not two weeks later)&lt;/li&gt;
&lt;li&gt;Understand why marketing wants you to promote certain things at certain times&lt;/li&gt;
&lt;li&gt;Negotiate for resources ("if this blog post is part of a campaign, can we get some paid promotion behind it?")&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Attribution: The Thing Marketing Obsesses Over
&lt;/h3&gt;

&lt;p&gt;Marketing really cares about attribution - basically, which activities led to which outcomes. They want to know: did that blog post result in signups? Did the webinar generate qualified leads? Did the conference sponsorship create pipeline?&lt;/p&gt;

&lt;p&gt;There are different attribution models:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;First-touch attribution&lt;/strong&gt;: Credits the first thing that touched a lead (like if they first found you via a blog post)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Last-touch attribution&lt;/strong&gt;: Credits the last thing before they converted (like filling out a demo request)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-touch attribution&lt;/strong&gt;: Tries to credit everything that touched them along the way&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;DevRel activities often show up in attribution models, which is great! But also tricky, because we might be influencing things without directly converting them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Essential Marketing Terminology
&lt;/h2&gt;

&lt;p&gt;Let me give you the vocabulary you need for marketing conversations:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;MQL (Marketing Qualified Lead)&lt;/strong&gt;: A lead that marketing has determined meets certain criteria indicating they might be ready to talk to sales. Usually based on factors like company size, job title, engagement level, and specific actions taken (like requesting a demo).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SQL (Sales Qualified Lead)&lt;/strong&gt;: A lead that sales has accepted and is actively working. Not every MQL becomes an SQL - sales might reject leads that aren't actually a good fit.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lead Scoring&lt;/strong&gt;: The system for determining when a lead is "qualified." Might be based on demographics (right company size, right role) and behavior (visited pricing page, downloaded a whitepaper, attended a webinar).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Marketing-Sourced Pipeline&lt;/strong&gt;: Opportunities where marketing was the first touch. If someone found you via a blog post, then eventually became a customer, that's marketing-sourced.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Marketing-Influenced Pipeline&lt;/strong&gt;: Opportunities where marketing touched the lead at any point in the journey, even if they weren't the first touch. This number is always bigger than marketing-sourced, and there's often debate about how much credit marketing should get.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cost Per Lead (CPL)&lt;/strong&gt;: How much it costs to acquire a lead. If you spent $10,000 on a campaign and got 100 leads, your CPL is $100. Marketing uses this to figure out which channels are most efficient.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conversion Rate&lt;/strong&gt;: The percentage of people who take a desired action. If 1,000 people visit a landing page and 50 fill out the form, that's a 5% conversion rate.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Marketing KPIs (And Why They Matter)
&lt;/h2&gt;

&lt;p&gt;Marketing gets measured on things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Lead volume and quality&lt;/strong&gt;: How many leads are we generating, and are they actually good fits?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MQL to SQL conversion&lt;/strong&gt;: Are the leads we're calling "qualified" actually accepted by sales?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pipeline contribution&lt;/strong&gt;: How much revenue opportunity has marketing created?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Website traffic and engagement&lt;/strong&gt;: Are people finding and consuming our content?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Content performance&lt;/strong&gt;: Which pieces of content are actually driving outcomes?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When you understand what marketing is measured on, you can better position DevRel's value. If marketing is struggling to hit lead gen targets, and you can show that DevRel activities drive leads, that's valuable. If marketing is worried about content performance, and your technical content is crushing it, that's worth highlighting.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where DevRel Overlaps With Marketing (And Where It Doesn't)
&lt;/h2&gt;

&lt;p&gt;Let's address the tension directly: DevRel and marketing both create content, both engage with communities, both attend events. So what's the difference?&lt;/p&gt;

&lt;h3&gt;
  
  
  The Core Difference: Who You Serve First
&lt;/h3&gt;

&lt;p&gt;DevRel serves developers first, business second. You're creating content because it helps developers, not because it generates leads. You're building community because developers need support, not because you need a lead gen channel.&lt;/p&gt;

&lt;p&gt;Marketing serves the business first. They're creating content to generate awareness and demand. They're engaging with communities to create business opportunities.&lt;/p&gt;

&lt;p&gt;This doesn't make marketing evil or inauthentic. It just means they have a different primary goal.&lt;/p&gt;

&lt;h3&gt;
  
  
  Where The Overlap Happens
&lt;/h3&gt;

&lt;p&gt;Both DevRel and marketing might:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Write blog posts (but DevRel's are deeply technical and educational; marketing's might be more promotional)&lt;/li&gt;
&lt;li&gt;Run events (but DevRel's are focused on learning and community; marketing's are focused on pipeline generation)&lt;/li&gt;
&lt;li&gt;Manage social media (but DevRel is having authentic conversations; marketing is running campaigns)&lt;/li&gt;
&lt;li&gt;Create videos (but DevRel's are tutorials and deep dives; marketing's are product demos and testimonials)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can see how these overlap but aren't the same thing. The key is being clear about your different goals and respecting those differences.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Tension Is Real (And That's Okay)
&lt;/h3&gt;

&lt;p&gt;Here's where it gets tricky: even though DevRel serves developers first, you still exist within a company that needs business outcomes. So sometimes you'll be asked to do things that feel more marketing-y than you'd like.&lt;/p&gt;

&lt;p&gt;My take? "One for them, one for you." Sometimes you might need to create some TOFU content that supports a marketing campaign. I mean, even Iggy Pop had a song in a cruise ship commercial. You can participate in business-focused activities without losing your integrity, as long as you maintain boundaries and keep the majority of your work focused on genuinely serving developers.&lt;/p&gt;

&lt;h2&gt;
  
  
  How To Collaborate Effectively With Marketing
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Be clear about what DevRel is and isn't.&lt;/strong&gt; Don't let marketing assume DevRel is just "developer marketing." Explain how you're different, why that matters, and how you can complement what they do.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Coordinate on content.&lt;/strong&gt; Marketing is probably creating content about similar topics. Coordinate so you're not duplicating effort or worse, creating conflicting messages.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Share insights about developers.&lt;/strong&gt; You're closer to your developer audience than anyone else at the company. That intelligence is gold for marketing - what developers care about, what resonates, what doesn't.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Help them understand developer audiences.&lt;/strong&gt; Developers don't respond to typical marketing tactics. Help marketing understand this so they can be more effective.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Set boundaries, but be collaborative.&lt;/strong&gt; You can support marketing goals without becoming a marketing resource. Be clear about what you will and won't do.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Thing Nobody Wants To Admit
&lt;/h2&gt;

&lt;p&gt;Here's my controversial take that I mentioned at the beginning: a lot of DevRel work IS marketing, and that's not a bad thing.&lt;/p&gt;

&lt;p&gt;Creating content that helps developers discover and understand your product? That's marketing.&lt;br&gt;&lt;br&gt;
Building a community that helps developers be successful with your technology? That's marketing.&lt;br&gt;&lt;br&gt;
Speaking at conferences to raise awareness of your company and product? That's marketing.&lt;br&gt;&lt;/p&gt;

&lt;p&gt;The difference is in the approach and the authenticity. You're not creating fake urgency or using manipulative tactics. You're genuinely helping developers. But the outcome - increased awareness, consideration, and adoption of your product - that's what marketing is supposed to do too.&lt;/p&gt;

&lt;p&gt;The best marketing doesn't feel like marketing. It feels like genuine help. And that's what great DevRel should be.&lt;/p&gt;

&lt;h2&gt;
  
  
  What This Means For Your Work
&lt;/h2&gt;

&lt;p&gt;Understanding marketing doesn't mean becoming a marketer. It means:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You can communicate with marketing in terms they understand&lt;/li&gt;
&lt;li&gt;You can explain where DevRel fits in their mental model (even if it doesn't fit perfectly)&lt;/li&gt;
&lt;li&gt;You can collaborate more effectively on shared goals&lt;/li&gt;
&lt;li&gt;You can articulate DevRel's unique value proposition vs. traditional marketing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Next up: Finance 101. Because understanding budgets, P&amp;amp;Ls, and why your CFO cares about CapEx vs OpEx might be the most important thing you learn in this series. See you there.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Got thoughts on the DevRel/marketing relationship? Think I'm totally wrong about something? Let's talk about it in the comments.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Previously:&lt;/strong&gt; &lt;a href="https://dev.to/mattstratton/sales-101-what-your-sales-team-does-and-how-devrel-fits-in-29d8"&gt;Part 2: Sales 101&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Next up:&lt;/strong&gt; &lt;a href="https://dev.to/mattstratton/finance-101-budgets-pls-and-the-language-of-money-3dp9"&gt;Finance 101&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devrel</category>
    </item>
    <item>
      <title>Sales 101: What Your Sales Team Does (And How DevRel Fits In)</title>
      <dc:creator>Matty Stratton</dc:creator>
      <pubDate>Tue, 28 Oct 2025 13:41:03 +0000</pubDate>
      <link>https://forem.com/mattstratton/sales-101-what-your-sales-team-does-and-how-devrel-fits-in-29d8</link>
      <guid>https://forem.com/mattstratton/sales-101-what-your-sales-team-does-and-how-devrel-fits-in-29d8</guid>
      <description>&lt;p&gt;&lt;em&gt;This is Part 2 of my 7-part series on business literacy for DevRel. &lt;a href="https://dev.to/mattstratton/why-business-literacy-matters-for-devrel-and-why-you-cant-skip-this-step-30p1"&gt;Start with Part 1 if you missed it&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Let's talk about sales folks. And I need you to stick with me here, because I know what you're thinking.&lt;/p&gt;

&lt;p&gt;You've got a mental image, don't you? The stereotypical sales rep ... smooth-talking, coin-operated, willing to promise anything to close a deal. Someone who doesn't understand the product and just wants to hit their quota so they can get their commission check.&lt;/p&gt;

&lt;p&gt;Yeah, that person exists. I've met them. You've probably met them too.&lt;/p&gt;

&lt;p&gt;But here's the thing: that's not most salespeople. And holding onto that stereotype is hurting you, your DevRel work, and honestly, the developers you're trying to serve.&lt;/p&gt;

&lt;h2&gt;
  
  
  Get Over Yourself
&lt;/h2&gt;

&lt;p&gt;I'm going to say something that might ruffle some feathers: if you're the kind of DevRel person who gets mad when people say "devrels are people who can't code and just travel around to conferences," but you also make snarky comments about sales reps or marketing professionals, you're kind of a hypocrite.&lt;/p&gt;

&lt;p&gt;You can't demand respect for your discipline while simultaneously disrespecting others. Sales and marketing aren't bad people. They're professionals doing a different job than you, with different objectives and different measures of success.&lt;/p&gt;

&lt;p&gt;And guess what? The best account executives and sales engineers I've ever worked with knew &lt;em&gt;way&lt;/em&gt; more about how our technology products and organizations worked than a lot of the people looking down their noses at them.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Sales Actually Does
&lt;/h2&gt;

&lt;p&gt;At its core, sales exists to convert prospects into paying customers. That's it. That's the tweet.&lt;/p&gt;

&lt;p&gt;But how that happens varies wildly depending on your company's business model, your product, and your market. The person selling enterprise software to Fortune 500 companies has a completely different job than the person selling SMB deals on a self-service platform.&lt;/p&gt;

&lt;p&gt;In most B2B tech companies (which is probably where you work if you're reading this), sales tends to be consultative. The best sales reps aren't just trying to push a product; they're trying to understand a prospect's pain and figure out if your product can actually solve it. There's a name for this - it's called &lt;a href="https://www.outreach.io/resources/blog/challenger-sales-methodology" rel="noopener noreferrer"&gt;The Challenger Sale&lt;/a&gt;. And guess what - it is a lot like DevRel.&lt;/p&gt;

&lt;p&gt;When done well, sales is helping people. It's connecting a real problem with a real solution. And if you've ever spent time in a painful, legacy system wondering why your company doesn't adopt better tooling, you've experienced the flip side. That's what happens when sales doesn't reach people who need your product.&lt;/p&gt;

&lt;h2&gt;
  
  
  Meet the Sales Team: Roles and Titles
&lt;/h2&gt;

&lt;p&gt;Let's deconstruct the org chart, because understanding &lt;em&gt;who&lt;/em&gt; does &lt;em&gt;what&lt;/em&gt; will help you figure out how to work with them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SDR/BDR (Sales Development Rep / Business Development Rep)&lt;/strong&gt;: These are usually the folks making cold calls and cold emails. They're looking for prospects who might have a need for your product. Their job is to qualify leads and book meetings for the Account Executives. If you're at a conference and someone from your sales team wants to book meetings with prospects while you're in town, they're probably working with an SDR/BDR to set those up.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AE (Account Executive)&lt;/strong&gt;: These are the folks actually running the sales cycle and closing deals. They take the meetings that SDRs book, run demos, handle negotiations, and ultimately get the contract signed. When people say "sales rep," they usually mean the AE.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SA or SE (Solutions Architect / Sales Engineer)&lt;/strong&gt;: This is the technical person on the sales team. They can do deep technical demos, answer the hard technical questions, and generally provide credibility that yes, the product actually does what the AE says it does. Fun fact: I spent two years in this role at Chef, and it's where I learned that I could translate between technical and business folks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CSM (Customer Success Manager)&lt;/strong&gt;: Technically post-sales, but important to understand. Once a deal closes, the CSM is responsible for making sure the customer is successful with the product. They're trying to prevent churn and identify opportunities for expansion/upsell. If you're doing DevRel activities with existing customers, you're probably working closely with CSMs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sales Leadership&lt;/strong&gt;: Your VP of Sales, Chief Revenue Officer (CRO), or other sales leaders are the folks setting strategy, managing the team, and (critically) forecasting revenue. They're the ones in the room with the CEO and CFO explaining whether the company is going to hit its numbers.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Sales Pipeline: What It Is and Why It Matters
&lt;/h2&gt;

&lt;p&gt;Here's where things get interesting for DevRel. The sales pipeline is basically a visual representation of all the deals that are currently in progress, organized by what stage they're in.&lt;/p&gt;

&lt;p&gt;A typical pipeline looks something like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxzxchaya9pb4ag6tkpqo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxzxchaya9pb4ag6tkpqo.png" alt="Diagram of a sales pipeline" width="800" height="134"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Prospecting/Lead&lt;/strong&gt; - Identified a potential customer&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Qualified&lt;/strong&gt; - Confirmed they have budget, authority, need, and timeline (sometimes called BANT)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Demo/Discovery&lt;/strong&gt; - Showing them the product, understanding their needs&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Proposal&lt;/strong&gt; - Sent them a formal proposal with pricing&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Negotiation&lt;/strong&gt; - Working through the contract details&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Closed-Won or Closed-Lost&lt;/strong&gt; - They either became a customer or they didn't&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Each opportunity (or "opp") in the pipeline has a value attached to it - how much revenue this deal would bring in if it closes. Sales leaders use this to forecast revenue and figure out if they're going to hit their targets.&lt;/p&gt;

&lt;p&gt;Here's the important distinction: &lt;strong&gt;the pipeline includes every opportunity a sales rep is working on&lt;/strong&gt;, regardless of how likely it is to close. The &lt;strong&gt;forecast&lt;/strong&gt; is a subset of the pipeline - it's the opportunities that are likely to close within a specific timeframe (usually a quarter).&lt;/p&gt;

&lt;h3&gt;
  
  
  New Logo vs. Expansion
&lt;/h3&gt;

&lt;p&gt;You'll hear salespeople talk about "new logo" versus expansion deals. A new logo is a brand new customer - a company that's never given you money before. An expansion (or upsell) is selling more to an existing customer.&lt;/p&gt;

&lt;p&gt;Why does this matter to you? Because the marketing and DevRel activities that influence a new logo deal are different from what influences an expansion. A new customer needs to be educated about what you do. An existing customer needs to see new value or new capabilities.&lt;/p&gt;

&lt;h2&gt;
  
  
  Essential Sales Terminology (That You'll Hear All The Time)
&lt;/h2&gt;

&lt;p&gt;Let me give you the vocabulary you need to not look confused in meetings:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ARR (Annual Recurring Revenue)&lt;/strong&gt;: The yearly value of all your subscription contracts. If you have 100 customers each paying $10,000/year, your ARR is $1 million. This is the number SaaS companies obsess about.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ACV (Annual Contract Value)&lt;/strong&gt;: The average annual value of a customer contract. If your contracts are all different sizes, ACV helps you understand your typical deal size.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;TCV (Total Contract Value)&lt;/strong&gt;: The full value of a contract over its entire term. If someone signs a 3-year deal worth $30,000/year, the TCV is $90,000.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Opportunity&lt;/strong&gt;: A potential deal in the pipeline. When someone says "we have a $250K opp in negotiation," they mean a potential sale worth $250,000 that's currently in the negotiation stage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deal Velocity&lt;/strong&gt;: How quickly deals move through your pipeline. If it takes 90 days on average from first contact to closed deal, that's your deal velocity. Faster is generally better.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Win Rate&lt;/strong&gt;: The percentage of opportunities that actually close. If your AEs win 25% of the deals they work on, that's a 25% win rate.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where DevRel Impacts Sales (Whether You Realize It Or Not)
&lt;/h2&gt;

&lt;p&gt;Here's the part where I tell you that you're probably already impacting sales, you just might not know it. And more importantly, you might not be communicating it effectively.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Technical Content Builds Credibility&lt;/strong&gt;: That blog post you wrote explaining how to solve a tough technical problem? A prospect found it, realized your team knows what they're doing, and it gave them confidence that your product is built by people who understand the problem space. That's pipeline influence.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Community Creates Trust&lt;/strong&gt;: When a prospect sees that you have an active, helpful community, it reduces perceived risk. "If I get stuck, there are people who can help me" is a powerful buying motivator. That's helping close deals.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Developer Advocates Provide Technical Validation&lt;/strong&gt;: When you jump on a call with a prospect to answer technical questions (not to sell, just to educate), you're de-risking the purchase. You're helping deals move faster through the pipeline.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Events Accelerate Deals&lt;/strong&gt;: That workshop you ran where customers and prospects attended? Those conversations and connections can absolutely accelerate deals that are currently in the pipeline. Sales teams love this.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Product Feedback Influences Sales Conversations&lt;/strong&gt;: When you channel developer feedback back to the product team and features get built, that gives sales new things to talk about. "Based on feedback from our community, we built X" is a powerful sales narrative.&lt;/p&gt;

&lt;h2&gt;
  
  
  How To Work With Sales (Without Losing Your Soul)
&lt;/h2&gt;

&lt;p&gt;I know some of you are getting nervous right now. "Wait, are you saying DevRel should do sales?"&lt;/p&gt;

&lt;p&gt;No. That's not what I'm saying.&lt;/p&gt;

&lt;p&gt;What I'm saying is that DevRel and sales can have a mutually beneficial relationship that serves developers and supports the business. Here's how:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Meet with customers and prospects, but not to demo the product.&lt;/strong&gt; You're offering something special to them - technical deep dives, architecture discussions, real talk about challenges. This is valuable time that you're offering, not a sales pitch. The SA or AE can follow up later about how that conversation connects to using your product. You stay authentic, they get to do their job.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Share competitive intelligence (gently).&lt;/strong&gt; When you hear at a conference that developers are struggling with Competitor X's approach to something, that's useful for sales to know. You're not being a spy; you're sharing market intelligence.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Help create technical content that educates.&lt;/strong&gt; Sales is always looking for content to share with prospects. If you've got killer technical content, that's gold for them. Just make sure it's educational, not a thinly veiled sales pitch.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Facilitate connections.&lt;/strong&gt; Your network is vast. If a sales rep is trying to get into an account and you know someone there, making an introduction can be hugely valuable. But set boundaries - you'll do it once, and they need to respect the relationship.&lt;/p&gt;

&lt;h2&gt;
  
  
  The One Quote That Changed How I Think About This
&lt;/h2&gt;

&lt;p&gt;When I was at Chef, I always used to say: "The most effective salesperson at Chef was Nathen Harvey (VP of Community)."&lt;/p&gt;

&lt;p&gt;Nathen wasn't doing sales. He wasn't on sales calls pitching the product. But through his community work, his advocacy for developers, and his authentic engagement, he built trust and credibility that absolutely influenced people's decisions to adopt Chef.&lt;/p&gt;

&lt;p&gt;That's the power of DevRel done well. You're not selling. But your work sells.&lt;/p&gt;

&lt;h2&gt;
  
  
  Set Boundaries (But Be Flexible)
&lt;/h2&gt;

&lt;p&gt;One more thing: just because you understand sales and can work effectively with sales doesn't mean you become a tool for sales. You need boundaries.&lt;/p&gt;

&lt;p&gt;Some examples of boundaries I've set:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"I'll call in a favor from someone in my network - ONCE."&lt;/li&gt;
&lt;li&gt;"I will talk about new features on my social media, but I'll use my own words and my honest take."&lt;/li&gt;
&lt;li&gt;"I will meet with prospects to discuss technical challenges, but I won't be on sales calls or do product demos."&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Your boundaries might be different. That's fine. The key is to be intentional about what you will and won't do, and communicate that clearly.&lt;/p&gt;

&lt;p&gt;And here's the thing about boundaries - they can be flexible and situational. Maybe you generally don't want to be pulled into sales calls, but there's a strategic deal with a company that could really benefit from your product, and you genuinely want to help. You can make exceptions. Just make them intentionally, not because you couldn't say no.&lt;/p&gt;

&lt;h2&gt;
  
  
  Do Things That Require Less Imagination to Show Value
&lt;/h2&gt;

&lt;p&gt;I'm going to level with you here. Some DevRel activities require stakeholders to have a lot of imagination to connect them to business value. A blog post about a cool technical topic? A conference talk about a new framework? These things have value, but the connection to business outcomes requires some imagination and trust.&lt;/p&gt;

&lt;p&gt;Other things require a lot less imagination. Meeting with a prospect who's evaluating your product to discuss their technical challenges? That's directly connected to a deal. Creating content that sales can use in their conversations with prospects? That's clearly valuable to the business.&lt;/p&gt;

&lt;p&gt;I'm not saying you should only do the things that are obvious wins. But I am saying that in uncertain times, having a portfolio of work that includes some "obviously valuable to the business" activities gives you more stability.&lt;/p&gt;

&lt;h2&gt;
  
  
  What This Means For Your Work
&lt;/h2&gt;

&lt;p&gt;Understanding sales doesn't mean &lt;em&gt;becoming&lt;/em&gt; sales. It means:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You can have informed conversations with sales leaders about how DevRel supports their goals&lt;/li&gt;
&lt;li&gt;You can identify opportunities to collaborate in ways that serve developers and support the business&lt;/li&gt;
&lt;li&gt;You can articulate the value of your work in terms that sales leadership understands and cares about&lt;/li&gt;
&lt;li&gt;You can spot when your DevRel activities are actually influencing pipeline, and communicate that&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Next up, we're tackling marketing. Because if you thought sales was misunderstood, wait until we dig into what marketing actually does (and why DevRel is definitely not &lt;em&gt;just&lt;/em&gt; "developer marketing").&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Questions? Confused about pipeline? Want to argue with me about whether DevRel should ever talk to sales? Drop a comment!&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Previously:&lt;/strong&gt; &lt;a href="https://dev.to/mattstratton/why-business-literacy-matters-for-devrel-and-why-you-cant-skip-this-step-30p1"&gt;Part 1: Why Business Literacy Matters&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Next up:&lt;/strong&gt; &lt;a href="https://dev.to/mattstratton/marketing-101-funnels-campaigns-and-what-marketing-actually-means-4j81"&gt;Marketing 101&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devrel</category>
    </item>
    <item>
      <title>Why Business Literacy Matters for DevRel (And Why You Can't Skip This Step)</title>
      <dc:creator>Matty Stratton</dc:creator>
      <pubDate>Mon, 27 Oct 2025 18:51:10 +0000</pubDate>
      <link>https://forem.com/mattstratton/why-business-literacy-matters-for-devrel-and-why-you-cant-skip-this-step-30p1</link>
      <guid>https://forem.com/mattstratton/why-business-literacy-matters-for-devrel-and-why-you-cant-skip-this-step-30p1</guid>
      <description>&lt;p&gt;I hear over and over again, "the business doesn't understand DevRel." I'm here to tell you that is backwards - the problem is that DevRel doesn't understand business.&lt;/p&gt;

&lt;p&gt;Look, I get it. You didn't get into DevRel to spend your days talking about pipeline contribution and EBITDA. You got into this because you genuinely care about developers, you love building communities, and somewhere deep in your soul, you believe that if you make developers' lives better, good things will happen for everyone.&lt;/p&gt;

&lt;p&gt;And you're not wrong. Well, mostly not wrong.&lt;/p&gt;

&lt;p&gt;But here's some tough love for you, from me: if you can't translate that work into language that resonates with the folks who control the budget, you're going to have a really hard time getting to do that work at all.&lt;/p&gt;

&lt;blockquote&gt;
&lt;h2&gt;
  
  
  This Series
&lt;/h2&gt;

&lt;p&gt;This is Part 1 of a 6-part series on business literacy for DevRel:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Why Business Literacy Matters&lt;/strong&gt; (you are here)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/mattstratton/sales-101-what-your-sales-team-does-and-how-devrel-fits-in-29d8"&gt;Sales 101&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/mattstratton/marketing-101-funnels-campaigns-and-what-marketing-actually-means-4j81"&gt;Marketing 101&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/mattstratton/finance-101-budgets-pls-and-the-language-of-money-3dp9"&gt;Finance 101&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/mattstratton/product-led-growth-and-what-it-means-for-devrel-10mj"&gt;Product-Led Growth&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/mattstratton/product-101-your-secret-weapon-for-understanding-the-business-2m6j"&gt;Product 101&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/mattstratton/putting-it-all-together-speaking-business-as-a-devrel-professional-2kfj"&gt;Putting It All Together&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  The Uncomfortable Truth About DevRel Right Now
&lt;/h2&gt;

&lt;p&gt;It's rough out there for DevRel teams. I've watched talented people get laid off. I've seen entire DevRel orgs dismantled. I've had conversations with DevRel leaders who are fighting for their team's survival. What's the common thread that I see again and again? They couldn't effectively communicate their value to the business.&lt;/p&gt;

&lt;p&gt;And I want to be really clear about something before we go any further. This isn't about "selling out." This isn't about abandoning your principles or becoming a shill for marketing. This is about learning to speak a second language so you can advocate more effectively for the work you believe in.&lt;/p&gt;

&lt;p&gt;I mean, if you're a Developer Advocate who only speaks English, and your CFO only speaks French, you're not going to get very far by just speaking English louder. You need to learn some French. Or at least enough French to explain why your conference budget isn't a waste of money.&lt;/p&gt;

&lt;h2&gt;
  
  
  You're Playing a Different Game Than Everyone Else
&lt;/h2&gt;

&lt;p&gt;All the time, I see DevRel teams out there doing amazing work. They're building thriving communities, creating killer content, supporting developers through real problems. They're measuring engagement, tracking sentiment, monitoring their community health.&lt;/p&gt;

&lt;p&gt;And then budget season comes around and people start asking questions like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"How does this impact our ARR?"&lt;/li&gt;
&lt;li&gt;"What's the cost per lead for these activities?"&lt;/li&gt;
&lt;li&gt;"How much pipeline did DevRel source last quarter?"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And the DevRel team responds with things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"Well, we had 50,000 impressions on that blog post..."&lt;/li&gt;
&lt;li&gt;"Our Discord community grew by 30%..."&lt;/li&gt;
&lt;li&gt;"Developers really love when we do office hours..."&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You know what happens next? Crickets. Blank stares. Nothing gets approved.&lt;/p&gt;

&lt;p&gt;This is the disconnect. You're speaking different languages. And the frustrating part is that your work DOES have business impact. You're just not articulating it in terms that land with the people making decisions. You don't understand the APIs of the rest of your company.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why "Just Prove Your Value" Isn't Helpful Advice
&lt;/h2&gt;

&lt;p&gt;If you've been in this space for more than five minutes, you've probably heard some variation of "DevRel needs to prove its value." And there are approximately one million blog posts out there about metrics and attribution and ROI frameworks for DevRel.&lt;/p&gt;

&lt;p&gt;None of this is helpful for you without tattooing this on your eyeballs: you can't effectively measure and demonstrate your value if you don't understand the fundamentals of how the business actually works.&lt;/p&gt;

&lt;p&gt;All those fancy attribution models and measurement frameworks are less than useless if you don't know what ARR means, why finance cares about the difference between CapEx and OpEx, or how marketing thinks about funnel stages.&lt;/p&gt;

&lt;p&gt;It's like trying to optimize your database queries before you understand how indexes work. Sure, you can learn about advanced caching strategies all day long, but if you don't understand the fundamentals, you're just guessing.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Real Goal: Becoming Bilingual
&lt;/h2&gt;

&lt;p&gt;I'm not saying you should become a mini-marketer or a sales shadow. You're still a DevRel professional. Your primary job is still to serve and advocate for developers.&lt;/p&gt;

&lt;p&gt;For a second though, think about how amazing it would be if you could:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Walk into a meeting with your VP of Sales and have a meaningful conversation about how DevRel activities are accelerating deals in the pipeline&lt;/li&gt;
&lt;li&gt;Sit down with your CFO and explain your budget in terms that make sense to them, using language they actually use&lt;/li&gt;
&lt;li&gt;Talk to your CMO about how DevRel's activities map to different funnel stages and why that matters&lt;/li&gt;
&lt;li&gt;Advocate for your team's budget and headcount in terms that resonate with executives&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That's what business literacy gets you. It's a translation layer that lets you bridge the gap between the technical community work you do and the commercial realities of the company you work for.&lt;/p&gt;

&lt;p&gt;And yes, I said "commercial realities." Because unless you work at a non-profit (and even then, maybe), your company exists to make money. DevRel is part of that. You can have feelings about capitalism all you want, but if you want to keep doing DevRel work, you need to understand this.&lt;/p&gt;

&lt;h2&gt;
  
  
  What This Series Will (And Won't) Cover
&lt;/h2&gt;

&lt;p&gt;Over the next few posts, I'm going to walk you through the fundamentals of three key business functions:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Sales&lt;/strong&gt; - What your sales team actually does, how they measure success, and where DevRel fits in&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Marketing&lt;/strong&gt; - How marketing thinks about the world, what they care about, and why DevRel isn't the same thing (but needs to speak their language)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Finance&lt;/strong&gt; - The basics of budgets, P&amp;amp;Ls, and why your CFO cares about things you've never thought about&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;And then we'll also dig into what Product-Led Growth is, and why it is such a nice complement to DevRel.&lt;/p&gt;

&lt;p&gt;What I'm NOT going to cover in this series:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Specific DevRel metrics or KPIs&lt;/li&gt;
&lt;li&gt;Attribution models&lt;/li&gt;
&lt;li&gt;ROI calculation frameworks&lt;/li&gt;
&lt;li&gt;How to build a business case for DevRel&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Why? Because those things are the next level. You need the foundation first. And that foundation is understanding how the core functions of your business work. Get smart about that, and then get into the implementation details.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Payoff
&lt;/h2&gt;

&lt;p&gt;Here's what you can do once you develop this business literacy:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You can advocate more effectively.&lt;/strong&gt; When you understand what matters to your stakeholders, you can frame your work in ways that resonate with them. You're not compromising your values; you're translating them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You can align better.&lt;/strong&gt; When you understand the company's business objectives, you can intentionally align your DevRel strategy and activities to support them. This makes you more strategic, not less authentic.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You can fight for your team.&lt;/strong&gt; When budget cuts are coming, the teams that can articulate their value in business terms are the ones that survive. Full stop.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You can build better partnerships.&lt;/strong&gt; Understanding how sales and marketing work means you can collaborate with them more effectively, which amplifies your impact.&lt;/p&gt;

&lt;p&gt;Look, I spent years as a sales engineer before I moved into DevRel and community work. I've sat in sales pipeline reviews. I've defended budgets to finance teams. I've worked with marketing on campaigns. And I'm here to tell you that learning to speak the language of business didn't make me a worse developer advocate. It made me a more effective one.&lt;/p&gt;

&lt;h2&gt;
  
  
  One More Thing
&lt;/h2&gt;

&lt;p&gt;Before we dive into the specifics in the next posts, I want to get this out of the way. Some of you are probably thinking "but DevRel isn't sales" or "we're not marketing" or "we serve developers, not the business."&lt;/p&gt;

&lt;p&gt;And you're right. DevRel is its own discipline. But DevRel exists within companies that have to generate revenue to survive. And unless you're independently wealthy and running a DevRel program as a hobby, you need to understand how your company makes money and how your work connects to that.&lt;/p&gt;

&lt;p&gt;The best part about "selling out"? You get paid. And you get to keep doing the work you love.&lt;/p&gt;

&lt;p&gt;So let's get started. In the next post (coming soon! Give me a minute!), we'll tackle Sales 101 - what your sales team actually does all day, and why understanding their world will make you better at yours.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Your Take?
&lt;/h2&gt;

&lt;p&gt;Have you struggled to communicate DevRel value to non-technical stakeholders? What's been your biggest challenge? Drop a comment - I'd love to hear your stories.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Next in this series:&lt;/strong&gt; &lt;a href="https://dev.to/mattstratton/sales-101-what-your-sales-team-does-and-how-devrel-fits-in-29d8"&gt;Sales 101&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devrel</category>
    </item>
    <item>
      <title>From Bureaucracy to Brilliance: How DevOps Culture Can Transform Cloud Governance</title>
      <dc:creator>Matty Stratton</dc:creator>
      <pubDate>Tue, 05 Aug 2025 16:28:13 +0000</pubDate>
      <link>https://forem.com/mattstratton/from-bureaucracy-to-brilliance-how-devops-culture-can-transform-cloud-governance-3plj</link>
      <guid>https://forem.com/mattstratton/from-bureaucracy-to-brilliance-how-devops-culture-can-transform-cloud-governance-3plj</guid>
      <description>&lt;h2&gt;
  
  
  The Governance Theater Problem
&lt;/h2&gt;

&lt;p&gt;Imagine this - your CTO announces a major cloud governance initiative. Super critical to the business, all hands on deck, yada yada yada.&lt;/p&gt;

&lt;p&gt;Six months later, you have a 60-page policy document, monitoring dashboards generating 1,000+ alerts per week, and a SharePoint site full of standards that developers have bookmarked but never actually read.&lt;/p&gt;

&lt;p&gt;Sound familiar? &lt;/p&gt;

&lt;p&gt;This is governance theater - a classic example of "work as imagined vs. work as done". It looks impressive from the executive level, but teams on the ground know it's completely disconnected from how they actually work. The real kick in the teeth? Most of these governance programs fail because they're built with a bureaucratic mindset trying to control a generative technology.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Traditional Governance Breaks in the Cloud
&lt;/h2&gt;

&lt;p&gt;Traditional IT governance worked (for some value of "worked") when deploying a server took three weeks and changing a firewall rule required approval from the bi-weekly CCRB. The slow pace meant cumbersome and heavy processes could keep up. Rules, approvals, and documentation made sense. Or at least they didn't get in the way too much.&lt;/p&gt;

&lt;p&gt;The cloud flipped this model upside down - the &lt;a href="https://en.wikipedia.org/wiki/Jevons_paradox" rel="noopener noreferrer"&gt;Jevons paradox&lt;/a&gt; in full effect. Developers can now spin up entire environments in minutes, auto-scale based on demand, and deploy code dozens of times per day. The old governance playbook doesn't just slow things down anymore. It breaks them completely.&lt;/p&gt;

&lt;h3&gt;
  
  
  Here's what happens when bureaucratic governance meets cloud velocity
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Information Flow Problems:&lt;/strong&gt; Critical security findings get buried in noise because there's no way to distinguish between "fix this now" and "fix this eventually." Teams ignore most alerts because the signal-to-noise ratio is terrible. Our old friend &lt;a href="https://en.wikipedia.org/wiki/Normalization_of_deviance" rel="noopener noreferrer"&gt;normalization of deviance&lt;/a&gt; rears its familiar head.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ownership Confusion:&lt;/strong&gt; When something breaks, nobody knows whose responsibility it is to fix it. The cloud's shared responsibility model collides with traditional departmental silos.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Process Overhead:&lt;/strong&gt; By the time a security exception gets approved through the proper channels, the project has already shipped to production three times.&lt;/p&gt;

&lt;p&gt;This is where &lt;a href="https://en.wikipedia.org/wiki/Ron_Westrum" rel="noopener noreferrer"&gt;Ron Westrum's&lt;/a&gt; research becomes incredibly relevant. Westrum studied organizational culture in high-risk, high-tempo environments like aviation and healthcare. He found that organizations fall into three cultural types, and the type directly predicts how well information flows through the organization.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cloud Governance meets the Westrum Model
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Pathological (Power-Oriented):&lt;/strong&gt; Fear dominates decision-making. Teams hoard information, cover up problems, and focus on self-preservation. Cloud governance becomes about blame assignment and political maneuvering.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bureaucratic (Rule-Oriented):&lt;/strong&gt; Following the process matters more than achieving the outcome. Each department protects its turf and insists on its own rules. Cloud governance becomes a collection of disconnected policies that teams work around rather than with.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Generative (Performance-Oriented):&lt;/strong&gt; The mission comes first. Teams collaborate across boundaries, share risks, and treat failures as learning opportunities. Cloud governance becomes an enabler that helps teams move faster while staying secure and compliant.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://cloud.google.com/devops/state-of-devops" rel="noopener noreferrer"&gt;research is clear&lt;/a&gt;: generative cultures don't just feel better to work in; they deliver better business outcomes. And business outcomes are why we are here, right? Companies with generative cultures have higher software delivery performance, better organizational performance, and more satisfied employees. And research shows they are funnier and more popular with their friends (research may not actually show this last part).&lt;/p&gt;

&lt;h2&gt;
  
  
  CALMS: The Cultural Operating System for Cloud Governance
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://dev.to/mattstratton/the-five-love-languages-of-devops-a78"&gt;CALMS model&lt;/a&gt; gives us the foundation for building generative governance. CALMS represents the key tenets and foundational principles of DevOps (if you prefer, you can use the acronym CLAMS; I'm not here to judge you).&lt;/p&gt;

&lt;p&gt;If these principles can transform how development and operations teams work together, they can also transform how governance works. Roll out!&lt;/p&gt;

&lt;h3&gt;
  
  
  Culture: Shared Responsibility Over Departmental Silos
&lt;/h3&gt;

&lt;p&gt;Instead of the governance team owning all policies while engineering teams follow them, create cross-functional teams responsible for each of the &lt;a href="https://cloudgovernance.org/library/what-we-govern?utm_source=matty-devto&amp;amp;utm_campaign=cloud-governance" rel="noopener noreferrer"&gt;5 Pillars&lt;/a&gt;. Your security pillar team should include security professionals, platform engineers, and application developers. Your cost pillar team should include FinOps practitioners, engineering managers, and product owners.&lt;/p&gt;

&lt;p&gt;This breaks down the "us versus them" dynamic that kills most governance programs. When the people who have to live with the policies help create them, you get policies that actually work in practice. It's like magic (with fewer sparkly vests).&lt;/p&gt;

&lt;h3&gt;
  
  
  Automation: Policy as Code Over Process Documents
&lt;/h3&gt;

&lt;p&gt;Documentation-heavy governance fails because it can't keep up with cloud velocity. Teams need governance decisions at code-commit time, not committee-meeting time.&lt;/p&gt;

&lt;p&gt;Move your governance policies into code. Security baselines become Terraform modules. Cost controls become automated budget alerts and resource right-sizing. Compliance requirements become pipeline gates that provide immediate feedback.&lt;/p&gt;

&lt;p&gt;When governance is automated, it becomes invisible to teams when they're doing the right thing and immediately visible when they're not. The mantra for success here is "make the right way the easy way".&lt;/p&gt;

&lt;h3&gt;
  
  
  Lean: Value Stream Thinking Over Approval Chains
&lt;/h3&gt;

&lt;p&gt;Traditional governance optimizes for risk avoidance. Generative governance optimizes for value &lt;em&gt;delivery&lt;/em&gt; while managing risk intelligently.&lt;/p&gt;

&lt;p&gt;Apply &lt;a href="https://en.wikipedia.org/wiki/Lean_thinking" rel="noopener noreferrer"&gt;lean thinking&lt;/a&gt; to your governance processes. &lt;a href="https://www.agilealliance.org/wp-content/uploads/2020/07/S.Pereira.Value-Stream-Mapping-How-to-See-Where-Youre-Going-By-Seeing-Where-You-Are-updated.pdf" rel="noopener noreferrer"&gt;Map the value stream&lt;/a&gt; from "developer wants to deploy something" to "secure, compliant workload running in production." Identify waste, eliminate unnecessary handoffs, and remove approval steps that don't actually reduce risk.&lt;/p&gt;

&lt;p&gt;The goal isn't to remove all controls. It's to remove controls that create friction without creating safety, and to implement controls that create safety without creating friction. Often times, we are focused on our small slice of the flow, and it's always beneficial to zoom out to the entire stream.&lt;/p&gt;

&lt;h3&gt;
  
  
  Measurement: Leading Indicators Over Compliance Theater
&lt;/h3&gt;

&lt;p&gt;Most governance programs measure lagging indicators like "number of policy violations found during audit." By the time you measure these, the damage is already done.&lt;/p&gt;

&lt;p&gt;Generative governance focuses on leading indicators that predict problems before they happen. How long does it take teams to get security exceptions? How often do cost alerts lead to actual cost reduction? How many governance policies have teams automated away versus worked around?&lt;/p&gt;

&lt;p&gt;Measure governance effectiveness by measuring whether it helps teams move faster or just creates more overhead. And make sure you don't have bloat on "feel good" metrics that don't drive any improvement or change.&lt;/p&gt;

&lt;h3&gt;
  
  
  Sharing: Transparent Information Over Information Hoarding
&lt;/h3&gt;

&lt;p&gt;Bureaucratic governance treats governance information as something to be controlled and dispensed carefully. Generative governance makes governance information radically transparent.&lt;/p&gt;

&lt;p&gt;Create public dashboards showing security posture, cost trends, and operational health across all teams. When everyone can see the same data, you eliminate the political games and focus on solving actual problems.&lt;/p&gt;

&lt;p&gt;Share governance successes and failures openly. When the platform team figures out how to automate compliance for PCI workloads, that knowledge should spread to every team, not stay locked in one department. Success breeds success - teams will see others having improvements and want that for themselves.&lt;/p&gt;

&lt;h2&gt;
  
  
  What This Looks Like in Practice
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Before:&lt;/strong&gt; A security team creates a 40-page cloud security policy. Teams ignore it. Security violations accumulate. Quarterly audit finds hundreds of issues. Finger-pointing ensues. Nothing improves. There is much wailing and gnashing of teeth.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;After:&lt;/strong&gt; Security and DevOps teams collaborate to embed security policies directly into infrastructure templates. Teams get immediate feedback when they violate policies. Most violations get auto-remediated. Manual violations trigger helpful guidance, not punishment. Security posture improves continuously. Teeth-gnashing is reduced by 96%.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Before:&lt;/strong&gt; Finance gets a shocking cloud bill. They demand cost controls. IT implements manual approval processes. Innovation slows to a crawl. Shadow IT proliferates. Costs actually increase. The CFO's corporate card gets declined and the entire AWS infrastructure shuts off.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;After:&lt;/strong&gt; Cost policies are embedded in infrastructure automation. Teams get real-time feedback on spending. Optimization recommendations appear automatically. Cost accountability is clear and immediate. Teams self-optimize because they can see the impact. CFO treats the cloud team to a pizza party.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Transformation Playbook
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Start with Culture Assessment:&lt;/strong&gt; Where is your organization today? Use Westrum's model to honestly assess whether your governance culture is pathological, bureaucratic, or generative. Most organizations discover they're more bureaucratic than they thought.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pick One Pillar:&lt;/strong&gt; Don't try to transform everything at once. Pick the pillar where you have the most pain and the most organizational support for change. Security and cost are often good starting points.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Apply CALMS Principles:&lt;/strong&gt; For your chosen pillar, deliberately apply each CALMS principle. How can you make the culture more collaborative? What manual processes can you automate? How can you eliminate waste? What should you measure? How can you share information better?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Build Feedback Loops:&lt;/strong&gt; Implement mechanisms to measure whether your governance changes are actually helping teams move faster while staying secure and compliant. If governance changes don't improve both velocity and control, they're not working.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scale What Works:&lt;/strong&gt; Once you've proven the approach on one pillar, expand to others. The cultural changes you make will compound across all areas of governance.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Bottom Line
&lt;/h2&gt;

&lt;p&gt;Cloud governance isn't failing because teams don't want to follow rules. It's failing because we're applying bureaucratic solutions to generative problems.&lt;/p&gt;

&lt;p&gt;When you build cloud governance using the same cultural principles that make DevOps successful, something interesting happens. Governance stops being something teams work around and becomes something they work with. Security improves, because controls are consistent and automated. Costs become predictable, because spending is visible and controlled. Compliance shifts from quarterly fire drills to continuous confidence (wait, did I just coin a new industry buzzword?).&lt;/p&gt;

&lt;p&gt;The cloud demands governance that moves at cloud speed (vroom vroom). That means governance built on generative culture, collaborative ownership, intelligent automation, and continuous improvement.&lt;/p&gt;

&lt;p&gt;Your governance framework should enable teams to move fast &lt;em&gt;and&lt;/em&gt; stay safe. Not force them to choose between the two.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;The &lt;a href="https://cloudgovernance.org?utm_source=matty-devto&amp;amp;utm_campaign=cloud-governance" rel="noopener noreferrer"&gt;CloudGovernance.org&lt;/a&gt; framework gives you the 5 Pillars to define what you govern. DevOps culture gives you the principles to govern it effectively. When you combine them, you get governance that actually works.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What's your governance horror story?&lt;/strong&gt; Drop a comment about the most bureaucratic, useless, or downright bizarre governance process you've encountered in the cloud. Bonus points if you've successfully transformed it into something that actually helps teams move faster.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>cloudgovernance</category>
      <category>culture</category>
      <category>automation</category>
    </item>
    <item>
      <title>Check if you are breaking your admin rules in your GitHub repos</title>
      <dc:creator>Matty Stratton</dc:creator>
      <pubDate>Mon, 24 Mar 2025 14:03:01 +0000</pubDate>
      <link>https://forem.com/mattstratton/check-if-you-are-breaking-your-admin-rules-in-your-github-repos-467b</link>
      <guid>https://forem.com/mattstratton/check-if-you-are-breaking-your-admin-rules-in-your-github-repos-467b</guid>
      <description>&lt;p&gt;&lt;a href="https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches" rel="noopener noreferrer"&gt;Branch protection rules&lt;/a&gt; in GitHub are powerful! We can set rules that don't allow folks to commit directly to &lt;code&gt;main&lt;/code&gt;, as well as enforce that PRs need to be reviewed and approved, and have required checks before merging.&lt;/p&gt;

&lt;p&gt;However, often we allow admin folks on the repo to be able to bypass these restrictions (the infamous "Merge without waiting for requirements to be met (bypass rules)" checkbox), which can be useful - checks can get stuck, sometimes we do need to do an emergency fix, etc. &lt;/p&gt;

&lt;p&gt;It can be really helpful to easily track and report on when these protections are bypassed. I'll show you here how to use Tailpipe in combination with your &lt;a href="https://docs.github.com/en/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization#exporting-the-audit-log" rel="noopener noreferrer"&gt;GitHub Audit Logs&lt;/a&gt; to find out who has been sneaking past the rules!&lt;/p&gt;

&lt;p&gt;In my example, I'll be querying from the audit logs for the &lt;a href="https://github.com/devopsdays" rel="noopener noreferrer"&gt;DevOpsDays GitHub org&lt;/a&gt;, since I'm an admin there and...maybe have broken my own rules a few times :)&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting started with Tailpipe
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://tailpipe.io" rel="noopener noreferrer"&gt;Tailpipe&lt;/a&gt; is a lightweight and open source tool which you can use to analyze all kinds of logs directly in your terminal, using familar SQL syntax. &lt;/p&gt;

&lt;p&gt;Here's how to install Tailpipe and the &lt;a href="https://hub.tailpipe.io/plugins/turbot/github" rel="noopener noreferrer"&gt;GitHub plugin&lt;/a&gt;:&lt;/p&gt;

&lt;h3&gt;
  
  
  Install and Configure Tailpipe
&lt;/h3&gt;

&lt;p&gt;If you use Homebrew, it's as simple as&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;brew &lt;span class="nb"&gt;install &lt;/span&gt;turbot/tap/tailpipe
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;otherwise, use the install script&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo&lt;/span&gt; /bin/sh &lt;span class="nt"&gt;-c&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;$(&lt;/span&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://tailpipe.io/install/tailpipe.sh&lt;span class="si"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Install the GitHub Tailpipe plugin&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;tailpipe plugin &lt;span class="nb"&gt;install &lt;/span&gt;github
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Download your GitHub Audit Logs and save them to a directory, perhaps &lt;code&gt;/Users/USERNAME/github_audit_logs&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Once you've done this, we need to configure Tailpipe's table partition and data source. Create a file at &lt;code&gt;~/.tailpipe/config/github.tpc&lt;/code&gt; with the following config (replace the path in the third line with the directory you saved the logs to)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;partition "github_audit_log" "my_logs" {
  source "file"  {
    paths       = ["/Users/myuser/github_audit_logs"]
    file_layout = "%{DATA}.json.gz"
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Finally, let's collect the logs. One simple Tailpipe command slurps all the log data into our table:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;tailpipe collect github_audit_log
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Run some queries
&lt;/h2&gt;

&lt;p&gt;The awesome thing about Tailpipe is that it lets us search and filter our log data using SQL queries (another awesome thing is that this all happens locally, so you don't have to pay for some cloud service to analyze it, or ship your sensitive logs somewhere else). &lt;/p&gt;

&lt;p&gt;We can run our queries in a few ways - either run &lt;code&gt;tailpipe query&lt;/code&gt; (for the interactive query shell) or you can save them as &lt;code&gt;.sql&lt;/code&gt; files and run them using &lt;code&gt;tailpipe query &amp;lt;filename.sql&amp;gt;&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  What options do we have?
&lt;/h3&gt;

&lt;p&gt;If I want to see the columns available to me for my queries, when I'm in the query shell, I can use the &lt;code&gt;inspect&lt;/code&gt; command, like so:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;tailpipe query
&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; .inspect github_audit_log
Column                     Type
action                     varchar
actor                      varchar
actor_id                   bigint
actor_ip                   varchar
actor_location             json
additional_fields          json
business                   varchar
business_id                bigint
created_at                 timestamp
document_id                varchar
external_identity_name_id  varchar
external_identity_username varchar
hashed_token               varchar
operation_type             varchar
org                        varchar
org_id                     varchar
repo                       varchar
              timestamp
token_id                   bigint
token_scopes               varchar
tp_akas                    varchar[]
tp_date                    &lt;span class="nb"&gt;date
&lt;/span&gt;tp_destination_ip          varchar
tp_domains                 varchar[]
tp_emails                  varchar[]
tp_id                      varchar
tp_index                   varchar
tp_ingest_timestamp        timestamp
tp_ips                     varchar[]
tp_partition               varchar
tp_source_ip               varchar
tp_source_location         varchar
tp_source_name             varchar
tp_source_type             varchar
tp_table                   varchar
tp_tags                    varchar[]
tp_timestamp               timestamp
tp_usernames               varchar[]
user                       varchar
user_id                    bigint
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Simple query
&lt;/h2&gt;

&lt;p&gt;For starters, let's find out all the times someone bypassed branch rules protection in general. If we run &lt;code&gt;tailpipe query&lt;/code&gt; without arguments, it opens the interactive query shell:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;tailpipe query
&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="k"&gt;select &lt;/span&gt;created_at, actor, repo, action from github_audit_log where &lt;span class="nv"&gt;action&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'protected_branch.policy_override'&lt;/span&gt; order by created_at desc
+---------------------+--------------+--------------------------------+----------------------------------+
| created_at          | actor        | repo                           | action                           |
+---------------------+--------------+--------------------------------+----------------------------------+
| 2025-03-20 19:59:15 | mattstratton | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-03-20 13:44:00 | mattstratton | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-03-20 13:14:51 | mattstratton | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-03-19 19:41:08 | mattstratton | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-03-19 19:37:01 | mattstratton | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-03-18 18:22:41 | mattstratton | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-03-18 17:23:08 | mattstratton | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-03-17 22:44:35 | mattstratton | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-03-13 15:31:54 | mattstratton | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-03-10 14:54:54 | yvovandoorn  | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-03-05 18:54:00 | mattstratton | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-03-05 17:25:21 | mattstratton | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-03-04 17:16:41 | mattstratton | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-03-03 23:37:29 | mattstratton | devopsdays/devopsdays-assets   | protected_branch.policy_override |
| 2025-03-02 23:13:30 | mattstratton | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-02-27 15:45:55 | mattstratton | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-02-25 23:27:24 | mattstratton | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-02-22 02:47:13 | mattstratton | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-02-17 11:20:34 | mattstratton | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-02-14 23:09:25 | mattstratton | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-02-12 09:10:46 | yvovandoorn  | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-02-11 19:26:17 | mattstratton | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-02-10 16:59:19 | mattstratton | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-02-10 16:08:52 | phrawzty     | devopsdays/devopsdays-web      | protected_branch.policy_override |
&lt;span class="o"&gt;(&lt;/span&gt;output truncated&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is a good start; we can see that the most egregious abuser of the admin privilege is, well, me.&lt;/p&gt;

&lt;h2&gt;
  
  
  Add another column to the query
&lt;/h2&gt;

&lt;p&gt;Now let's find out where it happened. For this, we can add the &lt;code&gt;referrer&lt;/code&gt; column to our query.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;tailpipe query
&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="k"&gt;select &lt;/span&gt;created_at, additional_fields.referrer, actor, repo, action from github_audit_log where &lt;span class="nv"&gt;action&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'protected_branch.policy_override'&lt;/span&gt; order by created_at desc 
+---------------------+-------------------------------------------------------------------------------------------------+--------------+--------------------------------+----------------------------------+
| created_at          | referrer                                                                                        | actor        | repo                           | action                           |
+---------------------+-------------------------------------------------------------------------------------------------+--------------+--------------------------------+----------------------------------+
| 2025-03-20 19:59:15 | &lt;span class="s2"&gt;"https://github.com/devopsdays/devopsdays-web/pull/15001"&lt;/span&gt;                                       | mattstratton | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-03-20 13:44:00 | &lt;span class="s2"&gt;"https://github.com/devopsdays/devopsdays-web/edit/main/content/events/2025-chicago/program.md"&lt;/span&gt; | mattstratton | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-03-20 13:14:51 | &lt;span class="s2"&gt;"https://github.com/devopsdays/devopsdays-web/pull/14998"&lt;/span&gt;                                       | mattstratton | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-03-19 19:41:08 | &lt;span class="s2"&gt;"https://github.com/devopsdays/devopsdays-web/pull/14997"&lt;/span&gt;                                       | mattstratton | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-03-19 19:37:01 | &lt;span class="s2"&gt;"https://github.com/devopsdays/devopsdays-web/pull/14996"&lt;/span&gt;                                       | mattstratton | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-03-18 18:22:41 | &amp;lt;null&amp;gt;                                                                                          | mattstratton | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-03-18 17:23:08 | &amp;lt;null&amp;gt;                                                                                          | mattstratton | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-03-17 22:44:35 | &lt;span class="s2"&gt;"https://github.com/devopsdays/devopsdays-web/pull/14988"&lt;/span&gt;                                       | mattstratton | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-03-13 15:31:54 | &lt;span class="s2"&gt;"https://github.com/devopsdays/devopsdays-web/pull/14974"&lt;/span&gt;                                       | mattstratton | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-03-10 14:54:54 | &lt;span class="s2"&gt;"https://github.com/devopsdays/devopsdays-web/pull/14955"&lt;/span&gt;                                       | yvovandoorn  | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-03-05 18:54:00 | &lt;span class="s2"&gt;"https://github.com/devopsdays/devopsdays-web/edit/main/data/events/2025/chicago/main.yml"&lt;/span&gt;      | mattstratton | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-03-05 17:25:21 | &amp;lt;null&amp;gt;                                                                                          | mattstratton | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-03-04 17:16:41 | &lt;span class="s2"&gt;"https://github.com/devopsdays/devopsdays-web/pull/14939"&lt;/span&gt;                                       | mattstratton | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-03-03 23:37:29 | &lt;span class="s2"&gt;"https://github.com/devopsdays/devopsdays-assets/pull/226"&lt;/span&gt;                                      | mattstratton | devopsdays/devopsdays-assets   | protected_branch.policy_override |
| 2025-03-02 23:13:30 | &lt;span class="s2"&gt;"https://github.com/devopsdays/devopsdays-web/pull/14933"&lt;/span&gt;                                       | mattstratton | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-02-27 15:45:55 | &amp;lt;null&amp;gt;                                                                                          | mattstratton | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-02-25 23:27:24 | &amp;lt;null&amp;gt;                                                                                          | mattstratton | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-02-22 02:47:13 | &amp;lt;null&amp;gt;                                                                                          | mattstratton | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-02-17 11:20:34 | &amp;lt;null&amp;gt;                                                                                          | mattstratton | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-02-14 23:09:25 | &lt;span class="s2"&gt;"https://github.com/devopsdays/devopsdays-web/pull/14883"&lt;/span&gt;                                       | mattstratton | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-02-12 09:10:46 | &amp;lt;null&amp;gt;                                                                                          | yvovandoorn  | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-02-11 19:26:17 | &lt;span class="s2"&gt;"https://github.com/devopsdays/devopsdays-web/pull/14870"&lt;/span&gt;                                       | mattstratton | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-02-10 16:59:19 | &amp;lt;null&amp;gt;                                                                                          | mattstratton | devopsdays/devopsdays-web      | protected_branch.policy_override |
| 2025-02-10 16:08:52 | &lt;span class="s2"&gt;"https://github.com/devopsdays/devopsdays-web/pull/14858"&lt;/span&gt;                                       | phrawzty     | devopsdays/devopsdays-web      | protected_branch.policy_override |


&lt;span class="o"&gt;(&lt;/span&gt;output truncated&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This shows us the pull requests that were overridden, but also if you look at the second record, it refers to a single file, which means it wasn't a PR...that was a yolo commit to main (made via the GitHub web interface)&lt;/p&gt;

&lt;h2&gt;
  
  
  A more complicated query
&lt;/h2&gt;

&lt;p&gt;Speaking of that... if we want to just filter based on yolo commit to main? This query works for that, but also uses some more complicated SQL in order to make the output more readable:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;select&lt;/span&gt; 
  &lt;span class="n"&gt;created_at&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
  &lt;span class="n"&gt;actor&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
  &lt;span class="n"&gt;repo&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="n"&gt;referrer&lt;/span&gt; 
&lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="k"&gt;select&lt;/span&gt; 
    &lt;span class="n"&gt;created_at&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
    &lt;span class="n"&gt;action&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
    &lt;span class="n"&gt;additional_fields&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;overridden_codes&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
    &lt;span class="n"&gt;additional_fields&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;referrer&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;referrer&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
    &lt;span class="n"&gt;additional_fields&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;reasons&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
    &lt;span class="n"&gt;action&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;repo&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;actor&lt;/span&gt; 
  &lt;span class="k"&gt;from&lt;/span&gt; 
    &lt;span class="n"&gt;github_audit_log&lt;/span&gt; 
  &lt;span class="k"&gt;where&lt;/span&gt; 
    &lt;span class="n"&gt;action&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'protected_branch.policy_override'&lt;/span&gt; 
    &lt;span class="k"&gt;and&lt;/span&gt; &lt;span class="k"&gt;CONTAINS&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;additional_fields&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;reasons&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;'Changes must be made through a pull request'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="k"&gt;order&lt;/span&gt; &lt;span class="k"&gt;by&lt;/span&gt; 
    &lt;span class="n"&gt;created_at&lt;/span&gt; &lt;span class="k"&gt;desc&lt;/span&gt;
  &lt;span class="p"&gt;)&lt;/span&gt; 
&lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If we take that query and save it as &lt;code&gt;query.sql&lt;/code&gt;, we can run &lt;code&gt;tailpipe&lt;/code&gt; at the command line and use that file for the query:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;tailpipe query query.sql
+---------------------+--------------+---------------------------+-------------------------------------------------------------------------------------------------+
| created_at          | actor        | repo                      | referrer                                                                                        |
+---------------------+--------------+---------------------------+-------------------------------------------------------------------------------------------------+
| 2025-03-20 13:44:00 | mattstratton | devopsdays/devopsdays-web | &lt;span class="s2"&gt;"https://github.com/devopsdays/devopsdays-web/edit/main/content/events/2025-chicago/program.md"&lt;/span&gt; |
| 2025-03-18 18:22:41 | mattstratton | devopsdays/devopsdays-web | &amp;lt;null&amp;gt;                                                                                          |
| 2025-03-05 18:54:00 | mattstratton | devopsdays/devopsdays-web | &lt;span class="s2"&gt;"https://github.com/devopsdays/devopsdays-web/edit/main/data/events/2025/chicago/main.yml"&lt;/span&gt;      |
| 2025-02-27 15:45:55 | mattstratton | devopsdays/devopsdays-web | &amp;lt;null&amp;gt;                                                                                          |
| 2025-02-10 16:59:19 | mattstratton | devopsdays/devopsdays-web | &amp;lt;null&amp;gt;                                                                                          |
| 2025-01-24 15:36:02 | mattstratton | devopsdays/devopsdays-cli | &amp;lt;null&amp;gt;                                                                                          |
| 2024-09-13 20:46:02 | mattstratton | devopsdays/devopsdays-web | &amp;lt;null&amp;gt;                                                                                          |
| 2024-08-29 11:33:06 | mattstratton | devopsdays/devopsdays-web | &lt;span class="s2"&gt;"https://github.com/devopsdays/devopsdays-web/delete/main/mattytest.txt"&lt;/span&gt;                        |
| 2024-08-28 13:59:20 | mattstratton | devopsdays/devopsdays-web | &amp;lt;null&amp;gt;                                                                                          |
+---------------------+--------------+---------------------------+-------------------------------------------------------------------------------------------------+
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;(The entries with "null" for the referrer mean that the commits were made directly to &lt;code&gt;main&lt;/code&gt; outside of the web interface, i.e., I did a &lt;code&gt;git push origin main&lt;/code&gt;)&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Being able to query and report on GitHub audit actions in a local, fast way (without having to upload our sensitive logs to another service) gives us a lot of flexibility to dig into actions take on our repos!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Verifying identity</title>
      <dc:creator>Matty Stratton</dc:creator>
      <pubDate>Fri, 11 Nov 2022 14:34:52 +0000</pubDate>
      <link>https://forem.com/mattstratton/verifying-identity-2b0b</link>
      <guid>https://forem.com/mattstratton/verifying-identity-2b0b</guid>
      <description>&lt;p&gt;&lt;a href="https://keyoxide.org/6529B08F20194D84FFAC7C5850F46247289D3110" rel="noopener noreferrer"&gt;https://keyoxide.org/6529B08F20194D84FFAC7C5850F46247289D3110&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(please feel free to ignore this!)&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
