Your JD says this is not standard software engineering. Neither is nine years of it — sitting in a client's problem, building the thing, and turning it into a capability.
Forward-deployed is the only role on your careers page I would call my actual job description rather than an adjacent one. For nine years at I was the engineer who went into the client's problem — Norway, Zürich, Dubai, California, Quebec — built the system with their people in the room, and then brought the reusable half back into the platform. The one thing I would not oversell is the computational social science background you ask for first. I have built a modelled population and held it to a social scientist's standard; I have not been trained as one, and that distinction is on this page rather than buried in it.
Nine years going into client problems and coming back with capabilities — including a dedicated engineering team hired and led inside a Norwegian client, from zero to production and handed back after product-market fit.
The two people usually hired for this
Your posting asks for a computational social scientist who can ship production code, which is a rare pair. Most candidates are one side of it.
The social data scientist
- Network analysis and quantitative methods, formally trained
- Right instincts about what the model can claim
- Production code and pipelines are the second job
- Client rooms are somebody else's shift
The deployed engineer with method discipline
- Nine years inside client problems, ten geographies
- Production Python, pipelines, APIs, code review
- Built one model and made it disprovable before shipping
- Formal social-science training: absent, and named as absent
The consulting engineer
- Fast in the room, good with stakeholders
- Ships what the client asked for
- No instinct for what the model is licensed to say
- Client work never becomes a capability
5 requirements, run one at a time
Five requirements. Four I can evidence with shipped work; the first one is a real ramp and it is marked as one rather than dressed up.
Computational social science background — social data science, network analysis, or quantitative social science
I have no formal training in social data science, and I would rather say that plainly than stretch a definition. What I have is two systems that do the work the training is for. models a national player community from behaviour nobody reported: activity is inferred from thousands of match traces into availability profiles, and a weighted-overlap model finds when two people are genuinely free at the same time. That is population-scale behavioural inference, live and public. Trestate is the methodological one, a two-country model built to be disprovable: the claim was pre-registered before the data was touched, tested against a counterfactual city with the phenomenon removed, and had to beat a naive baseline before it was allowed to say anything. A second hypothesis was attempted four times and then reported as a closed question rather than softened into a maybe.
The ramp I would actually run: your research and ML engineers own the science, and I would be next to them on live engagements rather than reading around it. The specific missing piece is network analysis, the graph structure your societies are built on, which is a books-and-notebooks gap on top of Kaggle’s Python for Data Science rather than a career change. I would expect to be useful in the methodology conversation within a quarter, and never to be the person who signs off on it.
Forward-deployed is the job I have actually had, under a different name
Nine years at putting engineers inside client problems across Dhaka, Zurich, Möhlin, Oslo, Sandnes, London, Dubai, California, New York and Quebec. The clearest single instance: I hired and led a dedicated engineering team for Norway's Frontgo from zero to production, integrating Vipps payments and their core financing systems, then handed it over after product-market fit. That is the whole arc your JD describes — go in, build with the client, leave a capability behind.
Forward-deployed is the job I have actually had, under a different name
Give me a real client brief and a real dataset that does not fit. Watch what I ask before I build, watch what I refuse to claim from it, and read the integration I hand back. If the methodology gap is disqualifying you will know inside a day — and if it is not, you will have seen the part of this job I am strongest at rather than the part I am ramping on.
I have built a model and held it to a standard it could fail
Give me a real client brief and a real dataset that does not fit. Watch what I ask before I build, watch what I refuse to claim from it, and read the integration I hand back. If the methodology gap is disqualifying you will know inside a day — and if it is not, you will have seen the part of this job I am strongest at rather than the part I am ramping on.
I have built a model and held it to a standard it could fail
Trestate scores every location in London and Paris, and its most important property is what it refuses to say: a grade is licensed to state that a position resembles where a trade is already established, never that it will succeed there. Before shipping, the model was pre-registered and then attacked. It was tested against a version of the city with every business deleted and asked to redraw it, where it separated cleanly from a naive density baseline for the first time. A survival-prediction hypothesis was tried four times and then closed as unanswerable by location alone, and reported that way rather than softened into a maybe.
The agentic layer between an engine and a client, three times over
gates every generated script against its scraped sources with grounding evals before it reaches synthesis, and runs in daily production across four languages. splits accuracy, speed and judgement into a sequential parser, six parallel FastAPI country agents, and a synthesis advisor — after the first single linear agent proved correct, slow and brittle. 's model layer runs deterministic by default with Gemini and Anthropic behind one interface, each falling back rather than failing.
The agentic layer between an engine and a client, three times over
Give me a real client brief and a real dataset that does not fit. Watch what I ask before I build, watch what I refuse to claim from it, and read the integration I hand back. If the methodology gap is disqualifying you will know inside a day — and if it is not, you will have seen the part of this job I am strongest at rather than the part I am ramping on.
Non-standard data is the part of the work I like most
Give me a real client brief and a real dataset that does not fit. Watch what I ask before I build, watch what I refuse to claim from it, and read the integration I hand back. If the methodology gap is disqualifying you will know inside a day — and if it is not, you will have seen the part of this job I am strongest at rather than the part I am ramping on.
Non-standard data is the part of the work I like most
The real engineering problem in Trestate is not the modelling on top. It is making eight national datasets from two countries agree with each other when their coverage genuinely differs, with the holes named rather than quietly filled in. Segments are defined as specs with a schema and a fair-housing validator, so adding one costs no deploy. The same instinct caught a licensing problem before it became a legal one: a source turned out to be restricted to a purpose the product did not qualify for, and it was excluded before anything downstream depended on it. is the other half of the skill, deriving how a population behaves from raw activity traces rather than from anything a person declared.
What the role actually asks you to do
Six responsibilities on the posting. These are the four where I would arrive with the work already behind me — and the two I would be learning in public, named as such.
Integrate non-standard data sources to enrich simulations
This is the part of the work I like most. Trestate reconciles eight national datasets across two countries into a single feature per location, and the real engineering is not the model on top. It is making a British dataset and a French one agree when their coverage genuinely differs, with the holes named rather than quietly filled in. The same discipline caught a licensing problem before it became a legal one: a source turned out to be restricted to a purpose the product did not qualify for, and it was excluded before anything downstream depended on it. is the other half of the skill, deriving behaviour from raw activity traces rather than from anything a person declared.
Build and improve the agentic layer connecting the engine to clients
The layer between a capable engine and a client who needs an answer is the thing I have built three times. 's evals gate every generated script against its source before synthesis. keeps accuracy in a sequential parser, speed in parallel agents, and judgement in a separate advisor — three concerns, three components, which is the boundary a multi-agent system is supposed to have. 's verdicts cite the evidence they read and name what they could not score.
Productize forward-deployed workflows into core capabilities
The whole model was this loop: go into a client engagement, build the thing, then bring the general half back as platform. is the artefact — an API marketplace with authentication (Auth0), RBAC and multi-instance tenancy that 's own consumer product, Elobooks, then had to consume like any other client. That constraint is what stopped it becoming a pile of one-off client code with a marketing page on top.
Implement complex simulations alongside client strategists
The client-in-the-room half I can evidence: Frontgo's team stood up from zero, Skytracks' CTO worked alongside, 's owners taught to change their own site in plain English, Olympic Combat inherited on a two-page handover and migrated across four platforms with 2,605 lead records moved onto client-owned accounts. The simulation half is what I would be learning from your strategists, and I would rather be the engineer who asks them a naive question in week one than the one who guesses in week six.
The honest read
Your quality check returns a score, a band, coverage, findings and caveats — and it says out loud what it could not measure. Same format, applied to me.
Fit report
Self-assessedCoverage — 4 of 5 requirements answered with shipped, checkable work
Caveat: This report measures fit against the five requirements you published. It cannot measure whether a modelled city transfers to a modelled society — I think the method discipline does and the mathematics does not, and that is a claim you should test in the interview rather than take from a page I wrote.
How I'd construct the run
Your method page walks Persona Construction → Society Creation → Simulation Engine. Here is the same shape applied to the first quarter of this role.
Sit in the engagement
- Shadow a live client society end to end before I propose anything at all
- Learn the brief-to-society translation from the strategists who already do it
- Read the engine at its edges — where a client question becomes a simulation parameter
Take the data problem
- Own an integration nobody enjoys: a non-standard client source into the persona pipeline
- Bring the Trestate discipline with it — coverage stated, gaps named, nothing silently imputed
- Ship it as a capability with a schema, not as a script in somebody's folder
Productize the loop
- Find the forward-deployed step being repeated by hand across engagements and make it a product surface
- Harden the agentic layer with evals, the way every agent I ship is gated before output reaches a person
- Write down what the simulation is licensed to claim for that client, and what it is not
The objections, before you have to raise them
The objections I would raise about my own application, answered before you have to ask them.
- Forward-deployed is the job I have actually had, under a different name
- I have built a model and held it to a standard it could fail
- The agentic layer between an engine and a client, three times over
- Non-standard data is the part of the work I like most
- Network analysis specifically — the graph structure your societies are built on
- Formal training in quantitative social science
- Knowledge of your codebase — which is the point of the first ninety days
Because the other four requirements are the ones I would struggle to hire for, and because your posting says this is not standard software engineering — which is exactly why an engineer who has spent nine years in client rooms is worth a conversation. I would be a bad hire if the role were principally research. It reads as principally delivery: construct societies from briefs, integrate awkward data, productize the workflow, build the agentic layer. Four of those are the last two years of my life. The fifth is real and I have marked it a gap rather than a partial for that reason.
The mathematics does not. A hex feature vector is not a belief system and I would not argue otherwise. What transfers is the epistemics, and I think that is the harder thing to teach: knowing what a model is licensed to claim, pre-registering before you look, testing against a counterfactual world, and reporting a null result as a closed question rather than softening it into a maybe. Your own quality-check page argues the same thing about survey data — that internal coherence is not external accuracy, and that saying what the check does not do matters as much as what it does.
Overqualified for the title, correctly qualified for the work. The last year has been sole-engineer work by choice — 247 commits and roughly 96,000 lines on , alone — because building is what I want to be doing. The thing a founder background actually buys you here is the commercial half: I know how to sit with a Fortune 500 stakeholder, hear what they cannot articulate, and not promise it. That is most of forward-deployed work and it is not a junior skill.
It matters for the layer I would own, not the engine. The agentic layer connecting your simulation engine to clients is model-agnostic plumbing with an evaluation problem in the middle, and that is what I build: 's model layer runs a deterministic driver by default with Gemini and Anthropic behind one interface, each falling back rather than failing, so the platform works with no API key set. I pick harnesses by task fit rather than loyalty, and the thing I would bring is the eval discipline, not a vendor preference.
As real as it gets — London has been top of my list for a while. The UK has been a delivery geography of mine for years, my sister lives in the city, and I would come in on a company-sponsored Skilled Worker route, which is the one I would prefer and the one I would ask you for. And for this role in-office is the point rather than the cost: forward-deployed work happens in rooms with clients and strategists in them.
Put a real brief and an awkward dataset in front of me and watch what I do with it. Three things would tell you: what I ask before I build, whether I notice the coverage holes and say so rather than imputing over them, and what I refuse to claim from the result. If I quietly paper over a gap in the data to make a nicer answer, do not hire me — for this role that is the disqualifying failure, and it is a much more testable one than whether I can name a centrality measure.
The stack, scoped to this role
The stack, scoped to what a forward-deployed engineer here actually touches.
Give me a real client brief and a real dataset that does not fit.
Watch what I ask before I build, watch what I refuse to claim from it, and read the integration I hand back. If the methodology gap is disqualifying you will know inside a day — and if it is not, you will have seen the part of this job I am strongest at rather than the part I am ramping on.
London is where I want to build, and the UK is the country I have most enjoyed delivering into — years of client work there before moving was ever the plan, and my sister lives in the city. I would come in on a company-sponsored Skilled Worker route, which is the one I would prefer and the one I would ask you for. For this role in-office is the point rather than the cost: forward-deployed work happens in rooms with clients and strategists in them.