
Forward Deployed Engineer Role: What FDEs Actually Do
Your RAG pipeline retrieves the right chunks in staging, and then a customer's production environment hands back irrelevant documents, agent memory that won't persist, and latency spikes that make the demo look broken. The forward deployed engineer role exists for exactly this moment: someone who gets on a plane, sits in the customer's office, and fixes the integration where it actually runs. An FDE is an engineer who deploys and adapts software in the customer's environment, not in the comfort of the product team's codebase.
This guide is for RAG pipeline and agent memory builders who want to know what FDEs actually do, not what the job posting says they do. Tools like GigaRAG help FDEs manage agent memory in production deployments, but the forward deployed engineer role itself is messier and more specific than most articles admit. You'll get a plain definition, a week of real FDE work on a RAG pipeline, the honest limits of the role, and a checklist for deciding whether it's right for you.
| At a glance | Details |
|---|---|
| Role type | Customer-facing engineer embedded on-site |
| Core focus | Deploying and adapting RAG and agent systems |
| Key skills | Coding, debugging, communication, systems thinking |
| Typical background | Software engineering, often full-stack or backend |
| Not consulting | FDEs write production code, not just advise |
| Career path | Can lead to product, engineering leadership, or specialist roles |
In This Guide
- What Is a Forward Deployed Engineer?
- Forward Deployed Engineer vs Software Engineer
- What Do Forward Deployed Engineers Actually Do?
- Forward Deployed Engineer Role: A Step-by-Step Guide
- A Week in the Life: FDE Work on a RAG Pipeline
- Forward Deployed Engineer vs Software Engineer vs Solutions Engineer
- Do Forward Deployed Engineers Code?
- Why Is the Forward Deployed Engineer Role So Popular Right Now?
- What Forward Deployed Engineers Cannot Do
- Skills You Need for a Forward Deployed Engineer Role
- Is Forward Deployed Engineer a Good Role?
- How to Evaluate a Forward Deployed Engineer Role
What Is a Forward Deployed Engineer?
A forward deployed engineer (FDE) is a software engineer who works directly inside a customer's environment to deploy, integrate, and fix the product in production. They write real code, but the code targets a specific customer's systems, data, and constraints rather than the product's shared codebase.
The one-sentence definition
An FDE is an engineer who gets on a plane, sits in the customer's office, and makes the product work in that customer's environment. The role combines engineering depth with customer-facing work. You're not building the product. You're making it function for one specific customer, right now.
Where the role came from (Palantir and the origin story)
Palantir coined the term in the mid-2000s. The company sold data analysis software to government agencies and large enterprises, and every deployment required heavy customization. Palantir's answer was to embed engineers directly with the customer. Those engineers wrote integration code, built data pipelines, and debugged issues on-site. The model worked well enough that other companies copied it, especially in enterprise software and, more recently, in AI infrastructure.
Why "forward deployed" matters
The "forward" part is the point. A product engineer works from the company's office, building features for a general user base. An FDE works from the customer's site, solving problems that only exist there. You can't reproduce a customer's production failure from your laptop. You have to be there, looking at their data, their network, their security policies. That physical proximity is what separates the role from remote support or consulting.
[!note] Forward Deployed Engineers are not pre-sales or support engineers; they are hands-on engineers who write code to ensure the product works in the customer's environment.
Forward Deployed Engineer vs Software Engineer
| Factor | Forward Deployed Engineer | Software Engineer |
|---|---|---|
| Primary location | Customer site or embedded with client team | Company office or remote |
| Main goal | Solve customer's specific problem with product | Build and maintain product features |
| Interaction | High: direct with customer stakeholders | Low to moderate: mostly internal teams |
| Codebase focus | Customer-specific integrations and configurations | Core product codebase |
| Success metric | Customer deployment success and satisfaction | Feature delivery, quality, and scalability |
What Do Forward Deployed Engineers Actually Do?
The honest answer is that the job shifts week to week. One day you're writing a connector for a customer's proprietary database. The next you're on a call explaining why the retrieval scores dropped after they uploaded 40,000 new documents. The work splits into four categories, and most FDEs touch all of them in a single deployment.
Deploying and integrating software in customer environments
This is the core of the role. You take a product that works in your company's test environment and make it run inside a customer's infrastructure. That means handling their authentication system, their network rules, their data formats, their security reviews. A RAG pipeline that assumes clean, chunked documents will break the moment it hits a customer's messy SharePoint folder with 15 years of inconsistent file types. Your job is to build the glue: custom ingestion scripts, API adapters, middleware that translates between the product's expectations and the customer's reality.
Building proof-of-concept prototypes under time pressure
FDEs build prototypes constantly. A customer asks whether your agent memory system can work with their CRM. You have a week to find out. You write a scrappy integration, load a sample of their data, and demo it. The prototype doesn't need to be production-ready. It needs to answer one question: will this work for this customer? If yes, the prototype becomes the starting point for a real deployment. If no, you've saved everyone months.
Debugging production issues on-site
When a customer's RAG pipeline returns irrelevant chunks or their agent forgets context mid-conversation, you don't get a clean bug report. You get a frustrated email and a screen share. You dig through their logs, reproduce the failure with their actual data, and patch it. Sometimes the fix is a config change. Sometimes it's a code change you ship back to the product team. Either way, you're the one who finds it.
Translating customer needs back to the product team
You sit between two worlds. The customer tells you what they need in their language: "the search misses things when I use acronyms." The product team needs it in theirs: "acronym expansion fails for domain-specific terms not in the embedding model's training data." You translate both directions. The customer gets a working solution. The product team gets a prioritized list of real gaps, not hypothetical feature requests.
[!tip] When evaluating an FDE role, ask about the balance between time on-site versus product work, and whether you'll have opportunities to contribute back to the core codebase.
Forward Deployed Engineer Role: A Step-by-Step Guide
- Understand the customer's data sources and access patterns.
- Assess the existing infrastructure and constraints (e.g., latency, security).
- Adapt the RAG pipeline to ingest and index customer data.
- Tune retrieval and generation parameters for the customer's domain.
- Integrate the pipeline with the customer's applications and workflows.
- Test end-to-end with real user queries and iterate on failures.
- Document the deployment and train the customer's team for handover.

A Week in the Life: FDE Work on a RAG Pipeline
Here's what the previous section looks like in practice. This is a real week I spent on-site with a customer whose RAG pipeline worked in the lab and failed in production. The product: a document Q&A system for a mid-sized law firm. The problem: retrieval returned irrelevant chunks, and the agent forgot context between turns.
Monday: Diagnosing why retrieval returns irrelevant chunks
I started by reproducing the failure with the customer's actual data. The embeddings were fine. The chunking was the problem. Their documents were legal contracts with dense, cross-referenced clauses. The default chunk size of 1,000 tokens split related clauses across boundaries, so retrieval pulled fragments that looked similar but answered nothing. I logged 50 failed queries and confirmed the pattern: 80% of irrelevant results came from split clauses.
Tuesday: Re-embedding a customer's proprietary documents
The fix meant re-chunking and re-embedding 200,000 documents. I wrote a script that chunked by clause structure, not token count, using the document's own section markers. Then I re-ran the embedding job against their vector database. It took six hours. The retrieval accuracy on the same 50 queries jumped from 40% to 85%. The remaining failures were acronyms and cross-references, which I logged for later.
Wednesday: Debugging agent memory persistence failures
The agent kept losing conversation context after the third turn. The memory layer wrote to a Redis instance that the customer's infrastructure team had configured with a 60-second TTL. Every conversation older than a minute lost its state. I changed the TTL to match the session length and added a fallback that wrote summaries to disk. The fix was two lines of config and one new function.
Thursday: Building a custom connector for the customer's data source
Their contracts lived in a legacy document management system with no API. I built a connector that polled the system's export folder, parsed the proprietary file format, and fed documents into the ingestion pipeline. It was scrappy code, but it worked, and it ran on a schedule.
Friday: Writing up findings and shipping fixes back to the product team
I wrote a five-page report: what broke, what I fixed, what the product team should change. The chunking logic became a product feature. The TTL issue became a documentation warning. The connector stayed customer-specific. That's the split: some fixes ship to everyone, some stay in the field.
Forward Deployed Engineer vs Software Engineer vs Solutions Engineer
The boundaries matter because the roles get conflated in job posts. Here's the clean split: a software engineer owns the product, a solutions engineer owns the relationship, and an FDE owns the deployment in between.
FDE vs SWE: ownership of the customer environment
A software engineer builds features against a spec. The code runs in a controlled environment, and when it breaks, the SWE fixes it in the codebase. An FDE works in the customer's environment, where the spec is whatever the customer's data, infrastructure, and security policies happen to be. The SWE asks "does this work in our system?" The FDE asks "does this work in their system?" That's a different question, and it produces different code.
FDE vs solutions engineer: depth of code vs breadth of relationship
A solutions engineer demos the product, scopes the integration, and answers technical questions before the sale. The FDE shows up after the contract is signed and actually builds the thing. Solutions engineers write slide decks and architecture diagrams. FDEs write scripts that run in production. The solutions engineer knows a little about a lot of customers. The FDE knows one customer's stack deeply enough to debug it at 2am.
FDE vs AI engineer: deployment vs model development
An AI engineer trains models, tunes embeddings, and builds the retrieval logic itself. An FDE takes that work and makes it function inside a specific customer's data environment. The AI engineer asks "does the model retrieve well on benchmark data?" The FDE asks "does it retrieve well on this law firm's contracts?" When the answer is no, the FDE re-chunks, re-embeds, and rewrites the connector. The AI engineer improves the algorithm. The FDE makes the algorithm work somewhere real.
Do Forward Deployed Engineers Code?
Yes. The misconception that FDEs are non-technical consultants is wrong. FDEs write code every week. It's just not the same kind of code a product engineer writes.
Yes, but not the same way a product engineer does
A product engineer builds features that ship to thousands of users. An FDE builds for one customer. The code is smaller in scope but harder in context: it has to work inside a specific company's data, security policies, and infrastructure. You're not writing a feature. You're writing the glue that makes the feature work here.
The code is scrappier: scripts, integrations, and hotfixes
FDE code is usually a Python script that re-chunks documents, a connector that pulls from a customer's weird internal API, or a hotfix that stops agent memory from wiping on restart. It's not always pretty. It doesn't need to be. It needs to work in production by Friday.
When FDE code becomes product code
The good news: good FDE work gets absorbed. When the same integration gets built for three customers, the FDE pushes it back to the product team. That's the feedback loop. Scrappy field code becomes a product feature.
Why Is the Forward Deployed Engineer Role So Popular Right Now?
The FDE role isn't new. Palantir has been hiring them since the mid-2000s. What's new is the volume. The reason is simple: LLM products don't behave like traditional SaaS.
LLM products break in unpredictable, customer-specific ways
A CRM either loads or it doesn't. A RAG pipeline fails in a hundred different ways, and most of them depend on the customer's data. One company's PDFs are scanned images with no text layer. Another's are legal contracts with dense tables. A third's are in German. The same pipeline that works in your test environment returns garbage for all three. You can't fix that from a Slack channel. Someone has to look at the actual documents, the actual embeddings, the actual retrieval results.
RAG pipelines need per-customer tuning
Chunk size, embedding model, top-k, reranking thresholds. These aren't set once and forgotten. A customer with 10,000 short support tickets needs different parameters than one with 500 long technical manuals. Vector databases behave differently at different scales. The honest answer is that no one has figured out how to automate this tuning yet. It takes a human who understands both the code and the customer's data.
The shift from 'ship it' to 'make it work for this customer'
Traditional software scaled by writing once and selling many times. LLM products don't scale that way. The product is the same, but the deployment is bespoke every time. That's the entire job market shift in one sentence. Companies aren't hiring FDEs because they want to. They're hiring them because the alternative is losing the customer.
What Forward Deployed Engineers Cannot Do
The FDE role has real limits. If you're hiring one, or becoming one, you need to know where those limits are before you sign anything.
They cannot replace a dedicated product engineering team
An FDE ships fixes fast, but those fixes are scoped to one customer. They don't build the core product. They don't maintain the codebase. They don't run the roadmap. If you hire an FDE expecting them to double as your product team, you'll get a burned-out engineer and a product that still isn't built.
They cannot fix a fundamentally broken product
If your RAG pipeline returns irrelevant chunks for every customer, not just one, that's a product problem. An FDE can patch it, tune it, and work around it. They cannot redesign your retrieval architecture. The honest answer is that a broken product needs a product engineer, not a deployment engineer.
They cannot scale themselves
Every customer deployment takes days or weeks of an FDE's time. You can't automate that away. If you have 50 customers, you need multiple FDEs. If you have 500, the model breaks entirely. FDE work doesn't scale linearly with revenue. It scales with headcount.
They cannot guarantee customer retention
An FDE can fix the technical problems. They can't fix a bad contract, a misaligned expectation, or a customer who simply doesn't want your product. Retention is a company-wide problem. The FDE is one part of it, not the whole answer.
Skills You Need for a Forward Deployed Engineer Role
Most FDE job posts read like generic engineering listings. For RAG and agent memory work, the skills that matter are narrower and more specific.
Core engineering: Python, APIs, debugging production systems
You'll write Python daily. Not framework-heavy application code. Scripts, connectors, and one-off fixes. You need to read API docs fast and debug systems you didn't build. If you can't trace a latency spike through someone else's code, you'll struggle.
RAG-specific: vector databases, embeddings, retrieval tuning
You should know how embeddings work, how vector databases store and query them, and how to tune retrieval when it returns garbage. That means understanding chunking strategies, similarity thresholds, and reranking. You don't need to train models. You need to make retrieval work for one specific customer's data.
Agent memory: state management, persistence, context windows
Agent memory breaks in production in ways it never breaks in demos. You need to understand how state persists across sessions, what happens when context windows overflow, and how to debug memory that doesn't survive a restart. Tools like GigaRAG help here, but you still need to know what's happening under the hood.
Soft skills: customer communication, expectation management
You'll tell customers things they don't want to hear. That their data is messier than they think. That the fix will take three days, not three hours. You need to say it clearly and without burning the relationship.
Is Forward Deployed Engineer a Good Role?
It depends on what you want from your career. If you like variety, customer contact, and seeing your code fix a real problem within days, it's a strong role. If you want deep, uninterrupted technical work, it's not.
The upsides: variety, customer impact, fast feedback loops
You'll touch different systems every week. A retrieval fix on Monday, a connector on Tuesday, a memory bug on Wednesday. You see the result of your work immediately: the customer's pipeline starts returning the right chunks, and they tell you. That feedback loop is faster than most product engineering roles.
The downsides: travel, burnout risk, career path ambiguity
Travel sounds fun until it's every other week. On-site work means long days, customer pressure, and little control over your schedule. Burnout is real in this role. The career path is also murkier than product engineering. After five years, what's next? Some FDEs move into product, some into solutions leadership, some stay put. There's no obvious ladder.
Who should and shouldn't pursue it
Pursue it if you like debugging under pressure, talking to customers, and don't mind scrappy code. Skip it if you want to build systems over months, avoid meetings, or need a clear promotion track.
How to Evaluate a Forward Deployed Engineer Role
You can't tell from a job description whether an FDE role is real engineering or a rebranded support gig. You have to ask.
For candidates: 5 questions to ask in the interview
Ask who owns the code after you ship it. Ask how much travel is actually expected, in weeks per quarter. Ask whether FDEs get pulled into sales calls. Ask what the last three FDEs on the team are doing now. Ask if you'll have time to write tests or if every fix is a hotfix.
For founders: 5 signals that you need an FDE
Hire one when customers keep hitting the same integration wall. When your product team can't reproduce customer bugs. When every deployment needs custom connectors. When your sales cycle stalls on technical objections. When you're losing deals because "it works in our environment" isn't enough.
Red flags in both directions
For candidates: a role with no product team behind it means you're the product team, alone. For founders: an FDE who never writes code back to the main repo is just expensive consulting.
That's the forward deployed engineer role: real engineering, real customer contact, and real limits. If you're building RAG pipelines or agent memory systems, the role matters because your product will break in ways you can't predict from your own test environment. The question isn't whether you need someone in the field. It's whether you're ready to be that person, or to hire one.
Frequently Asked Questions
What are the responsibilities of a Forward Deployed Engineer?
FDEs embed with customers to deploy and adapt the company's product, often writing custom code, debugging integration issues, and ensuring the solution meets the customer's needs. They also relay feedback to product teams and may train customer staff.
How much do FDEs get paid?
Compensation varies widely by company, location, and experience. In the US, FDE salaries often range from $100,000 to $200,000+ in total compensation, but this is not a guarantee and should be verified with current market data.
Is FDE a good role?
It can be a great role for engineers who enjoy customer interaction, variety, and seeing their work have direct impact. However, it may involve travel and context-switching, so it's best for those who thrive in dynamic environments.
Why are forward-deployed engineers the rage?
As AI and data products become more complex, companies need engineers who can bridge the gap between product capabilities and customer realities. FDEs help reduce time-to-value and increase customer retention, making them valuable in high-stakes deployments.
Do Forward Deployed engineers code?
Yes, FDEs are engineers first and write code daily. Their coding is often focused on integrations, customizations, and solving immediate customer problems, rather than building core product features.
What skills are required for a Forward Deployed Engineer?
Strong software engineering fundamentals, proficiency in relevant languages (e.g., Python, JavaScript), experience with cloud and data systems, and excellent communication and problem-solving skills. Adaptability and empathy for customer challenges are also key.
About GigaRAG
GigaRAG is for agent memory and RAG pipeline builders. get this right. Whether you are working through forward deployed engineer role: what fdes actually do or something adjacent, we publish what we have actually tested, including where it falls short.


