Skip to main content
Back to jobs

Developer Relations

External
bem logoBem · San Francisco
Full-timeRemote3w ago
DocumentationLLMsRails
Cover LetterConnect

Prepare for this interview

Elite

AI-generated questions, company research, and talking points tailored to this role


Responsibilities

  • You will own bem's developer-facing presence. This means content, community, and distribution. Specifically:
  • You will own our GEO (generative engine optimization) strategy. We already get inbound from LLMs referencing bem. You will figure out how to amplify that signal systematically so that when developers ask AI tools about document processing infrastructure, bem shows up.
  • You will work with our DevRel-oriented content to create distribution that actually converts. Not vanity metrics. We care about developers who sign up, build a workflow, and start making API calls.
  • You will build the DevRel function at bem from scratch. What the right channels are, what the right cadence is, what content formats convert. You will define it, own it, and scale it.

Requirements

  • You know what it takes to get a blog post from 0 reads to 5,000. You've built community presence that turned into pipeline.
  • You are technical enough to read our API docs and understand what we do. You can write a tutorial. You can speak at a meetup. You can have a real conversation with an engineer who is trying to decide between building their own document extraction pipeline and using ours.
  • You are opinionated. You have your own take on the state of AI infrastructure. You have thoughts about why most AI products fail in production. You are comfortable saying things publicly that not everyone will agree with, because you've thought them through and you believe them.
  • You are a do-er. You don't need a content calendar handed to you. You don't need a Slack channel to get permission to publish. You see an opportunity, you write the thing, you ship it. You measure what happened. You do it again.
  • You use the latest

Benefits

Health insurance

Additional Information

We are building the most important category in AI infrastructure: Verified AI, deterministic and auditable rails for the critical workflows that agents can't survive in production. Zero churn over 12 months. 250% net dollar retention. Revenue doubled in just the last few weeks. Fortune 100 customers. And we are just getting started. Here is the opportunity. We have built something genuinely new, written about it with conviction, and the market is catching up to our position. We wrote about seven major infrastructure security failures in seven days. We wrote about why code never mattered and software companies are just companies. We wrote about why we are not an agent and why an executive at a major logistics company said "thank God" when he found out. Our content is real. Our positions are real. Our product is real. What we need now is reach. We are hiring our first Developer Relations hire to turn our content engine into a distribution engine. You will own this from day one. That's how we build everything at bem: with conviction, speed, and honesty. What bem is bem is pioneering Verified AI, the production infrastructure for unstructured data where every decision is auditable, every output is traceable, and every error is caught and permanently eliminated. We transform documents, images, audio, and video into schema-enforced structured JSON through composable AI primitives. Not prompts. Not agents. Controlled, deterministic functions that chain together into workflows enterprises trust with their most sensitive operations. # Initialize the SDK client client = Bem(api_key=os.environ.get("BEM_API_KEY")) # Step 1: Create an Extract function extract_fn = client.functions.create( function_name="receipt-extract", type="extract", output_schema_name="Receipt", output_schema={CUSTOM_RECEIPT_SCHEMA}, ) # Step 2: Create a workflow workflow = client.workflows.create( name="receipt-workflow", main_node_name="extract", nodes=[{"name": "extract", "function": {"name": "receipt-extract"}}], ) # Step 3: Invoke the workflow. Get structured data back call = client.workflows.call("receipt-workflow", input={"single_file": {"input_content": encoded, "input_type": input_type}}, wait=True, ) Why this role exists Once developers integrate bem, they stay and they grow. Zero churn over 12 months. Function-call volume grew 1,009% year over year in Q1 2026. This role exists to make sure more developers get their hands on it. We don't do forward-deployed engineering. We don't send five engineers to figure out what to build you. We built a platform. You deploy it. We have a blog that takes real positions, a podcast (Hard Software) where we talk to infrastructure founders about what actually breaks in production, and a developer community waiting to be built. We need someone who can evangelize bem as the infrastructure layer that AI at scale runs on.


Your Match

How well this role fits your profile.

Company Intel

What employees say

Worked at bem? Share your experience

Interested in this role?

Apply on the company's website.

Cover LetterConnect