Production Code in Customer Environments
A Forward Deployed Engineer is a software engineer who works at the customer's site to close the gap between what the product does and what the customer needs.
A Project That Stalls After the Sale
Imagine a company that has built a capable software product. The product works well in its own test environment and in demonstrations. Then a large customer buys it, and within a few weeks the project is stuck. The product does many things, but the customer's particular problem sits in a corner that nobody on the product team designed for. This article follows that stalled project step by step, because the way it gets unstuck is the subject of the whole article: the role of the Forward Deployed Engineer.
Tracing the Stalled Project
Before reading further, follow the state of the project as the source describes it. Each stage below adds one more reason the project cannot move forward on its own.
- 1State 1: The product works well in its own test environment and in demonstrations.
- 2State 2: A large customer buys the product, and the project begins.
- 3State 3: Within a few weeks the project is stuck, because the customer's problem sits in a corner the product team never designed for.
- 4State 4: The customer's data is messy and their internal systems do not match the documentation.
- 5State 5: The people who could explain what the customer needs are in a different building, a different time zone, or too busy to translate.
What do you think happens?
Given the stuck project in State 5, who is supposed to close that distance?
Reveal answer
The Forward Deployed Engineer.
The source states that the FDE is the role built to answer exactly this question. The rest of this article explains what that role consists of and why it is shaped the way it is.
What the Role Is
A Forward Deployed Engineer is a software engineer who works at the customer's site to close the gap between what the product does and what the customer needs.
Each piece of this sentence narrows the role. The word engineer rules out several neighboring jobs. The word site says where the work physically happens. The phrase gap between the product and the customer names the problem the role exists to solve. The FDE is not a salesperson, not a support desk, and not a researcher who hands results over a wall. The FDE is an engineer who goes to where the product is used and makes it work there.
Where the Gap Sits
Picture two things that should line up. On one side is the product, with its features and designed behavior. On the other is the customer, with a specific set of needs shaped by their own systems, workflows, and data. In an ideal world these overlap completely. In practice there is almost always a space between them, and that space is where projects succeed or fail. An FDE works inside that space, reshaping the product's behavior, connecting it to the customer's systems, and translating what the customer actually requires into something the software can do.
Notice that the FDE is not positioned at either end. The role is the connection itself. A product engineer tends to think from the product outward, and a customer's own engineers tend to think from their systems inward. The FDE holds both views at once and makes decisions that neither side could make alone.
Kinds of Work an FDE Owns
The day-to-day work of an FDE covers a wide span. The source lists core activities: writing production code, debugging integrations against the customer's real systems, designing data models, and making architectural decisions that the customer's own engineering team would otherwise have to make alone, and that the team is often not equipped to make. The phrase production code matters. The code is not a prototype for later hand-off; it is what the customer will depend on. Success, in the source's framing, is judged by working software running in the customer's environment, not by documents describing it.
The expectations also extend across the whole engagement rather than a single task. One job description cited in the source extends the scope to discovery, technical scoping, system design, build, and production rollout. Read that way, an FDE is involved from the first conversation about what the customer needs through to software running live. Recent listings for the role, as cited in the source, describe the same expectation in concrete terms: shipping components such as MCP servers, sub-agents, and agent skills, and being evaluated on advanced prompt engineering, agent development, evaluation frameworks, and deployment at scale.
Why the Work Happens On Site
The work environment is part of what defines this role. An FDE is not working remotely from a home office and sending updates. The engineer is on the customer's premises, in their meeting rooms, with access to their data, speaking directly with the people whose work the software is meant to change. Because the software will change how those people work, the engineer needs to see that work firsthand rather than infer it from a specification.
The physical demands are real. The source reports that some listings expect around twenty-five percent travel, and that OpenAI expects its FDEs to spend a few days a week at customer sites for the length of an engagement. Some Palantir engagements require much more time on site, sometimes in environments with no internet connection because of security requirements. The source gives examples ranging from working on a final assembly line at an aircraft manufacturer to working in air-gapped facilities serving the intelligence community. Not every FDE faces these settings, but the physical presence is a deliberate part of the job rather than an accident of it.
Why the Role Carries Real Authority
The word forward in the title borrows from military usage. A forward-deployed force operates ahead of the main body and is given enough authority to make decisions on the ground that headquarters cannot make in time. The source draws the same parallel for this role. An FDE works on the customer's premises and has authority to commit code, change the scope of a piece of work, and make trade-offs without waiting for product management at headquarters.
The reason for this authority is practical. Headquarters often has no time to weigh in on every customer situation, and there is frequently no clean path for information to travel from the customer back to the people who would decide. The FDE sits closest to the customer, so the FDE's judgment is the judgment that gets used. This autonomy is what allows the role to close the gap quickly, rather than letting problems wait in a queue.
| Aspect | Customer site | Vendor headquarters |
|---|---|---|
| Where the work happens | On the customer's premises, in their meeting rooms | In the vendor's own office |
| Access to information | Direct access to the customer's data and the people doing the work | Information must travel from the customer back to the decision makers |
| Speed of decisions | The FDE can commit code, change scope, and make trade-offs on the spot | Decisions can wait for product management to weigh in |
| Feedback on the software | Seen in the context where it is used | Inferred from specifications and reports |
How the FDE's context differs between the customer site and the vendor's office, as described in the source.
Following One Gap Through an Engagement
Tracing one customer problem through the FDE role
A customer's data is messy and their internal systems differ from the product documentation. The product does not yet handle this case. How does the FDE role move this project from stuck to working?
- 1Locate the gap
The FDE identifies where the customer's requirement sits outside the product's designed behavior, which is the space between the two sides.
- 2Work from the customer's systems
Because the FDE is on site with access to the customer's data, the engineer can debug the integration against the real systems rather than the documentation.
- 3Make the engineering decision
The FDE designs the data model or chooses the architecture needed to bridge the gap, and can commit that code without waiting for headquarters.
- 4Ship working software
The success criterion is software running in the customer's environment, so the result is production code the customer depends on.
The gap is closed by working code inside the customer's environment, produced by an engineer who held both the product view and the customer view at once.
Mistakes When Reading the FDE Role
Common mistake Treating the FDE as a salesperson or support desk
What it looks likeAssuming the FDE's main output is customer reassurance or ticket resolution.
Why it failsThe source says the FDE is not a salesperson or a support desk, and the central difference is what the person produces.
Do this insteadThe FDE's output is software that runs in the customer's environment.
Common mistake Thinking the FDE's code is a temporary prototype
What it looks likeAssuming the code will be handed off later and replaced by a finished version.
Why it failsThe phrase production code means the customer will depend on this code directly.
Do this insteadTreat FDE code as what the customer runs and relies on day to day.
Common mistake Assuming the FDE works remotely like most engineers
What it looks likeImagining the engineer sending updates from a home office.
Why it failsThe engineer is on the customer's premises with access to their data and people.
Do this insteadUnderstand the physical presence as a deliberate part of the role.
Common mistake Believing every major decision must go back to headquarters
What it looks likeExpecting the FDE to wait for product management before changing scope.
Why it failsThe source states the FDE can commit code, change scope, and make trade-offs without waiting for headquarters.
Do this insteadRecognize the authority as the mechanism that keeps problems from waiting in a queue.
Applying the Gap Model
A customer's internal system records dates in a format the product does not expect, so an integration fails. Using the gap model from this article, explain which side of the gap the problem belongs to, which kind of FDE work would fix it, and why the FDE's on-site position matters for solving it.
Hints
- Ask whether the problem comes from the product's designed behavior, the customer's systems, or the space between them.
- Think about which kind of work in the responsibilities diagram covers debugging integrations against real systems.
- Consider what the FDE can see on site that a headquarters engineer reading a specification cannot.
Key Takeaways From the Role
- 1A Forward Deployed Engineer is a software engineer who works at the customer's site to close the gap between what the product does and what the customer needs.
- 2The FDE's responsibilities include writing production code, debugging integrations against real systems, designing data models, and making architectural decisions.
- 3Success is judged by working software running in the customer's environment, not by documents describing it.
- 4The FDE works on the customer's premises and can commit code, change scope, and make trade-offs without waiting for headquarters, the way a forward-deployed force acts on its own authority in the field.
At a glance
- A Forward Deployed Engineer is a software engineer who works at the customer's site to close the gap between the product's behavior and the customer's needs.
- The role spans writing production code, debugging integrations, designing data models, and making architectural decisions, and the source frames it as spanning discovery through production rollout.
- The FDE works on the customer's premises with direct access to data and people, which makes the engineer's firsthand view of the work part of the job.
- The FDE has authority to commit code, change scope, and make trade-offs without waiting for headquarters, because the customer situation often cannot wait for that decision path.