Tue 21 Jul 2026 · 14:00–15:30 BSTOn-site · N5 2EFPanel: James Edwards + Nicola BarnettThe gate for the offer
PassedStage 1
Talent Screen
Fit, motivation, logistics. Won on clarity.
PassedStage 2
Hiring Manager
James Edwards. Capability + working style.
You are hereStage 3
Final + Skills Task
Live task, on-site, two-person panel.
The one reframe that matters
This stage verifies the claim you can't AI your way through. In Stages 1–2 you said "solid fundamentals, comfortable with SQL, I level up fast — including with AI." Tomorrow, in a room, probably with no AI, no Copilot, maybe no internet, they watch you do it. Tonight's job is not to learn SFMC cold — it's to be fluent enough to write a basic SQL audience, spot an Outlook HTML break, and reason through a broken journey unaided, out loud, calmly. The substance is already yours. This is reproducing it from memory and narrating.
1 The room — this is the big shift
James is a returning ally. Nicola is the person you need to win.
JE
Already in your corner
Technical CRM Manager · future boss
James Edwards
Interviewed you at Stage 2 and advanced you — he already believes you can do the work.
Don't re-pitch from scratch. Warm continuity: "Good to see you again, James."
With him: just do the task well and show you'll take load off his plate.
He reads: technical depth, how you work, calm under a live task.
NB
The one to win
CRM Director · senior stakeholder
Nicola Barnett
A level up, and wasn't in Stage 2 — this is her first impression of you. LinkedIn
She is not reading whether you can write a JOIN.
She reads: judgment, business impact, communication, "do I want this person on my team."
Aim your intro, first-90 thinking, and best questions at her.
2 Opening — Nicola wasn't there, so give her the 30 sec
"For context, since you and I haven't met — I'm an email/CRM technical specialist, ~10 years building personalised campaigns at scale for VW Group, O2, Virgin Media: multi-brand, multi-market, up to 3 million recipients. Most recently six years deep in Braze, which maps almost one-to-one onto SFMC, so I ramp fast. What I'm here to do is be the hands-on technical person who takes QA, troubleshooting, module-building and deliverability off the team's plate — and grows into the newer channels you're building, like SMS and WhatsApp."
Then to James, lighter: "And good to pick up where we left off."
3 Live-task playbook — how to perform it
They said it themselves: thinking > polished output. Make your reasoning audible.
The framework — say it, use itClarify → Reproduce → Isolate → Fix → Verify → Document.
Clarify first (never skip)."Before I start — can I confirm a couple of things?" Field names, what "active" means, the data model, edge cases. Signals seniority and stops you solving the wrong problem.
State assumptions out loud."I'll assume opt-in lives on the subscriber DE and opens are in the _Open data view — tell me if it's structured differently."
Narrate as you build. Say why, not just what. Trade-offs, not just answers.
Sanity-check at the end. Row counts, edge cases, "what I'd test before this went live."
If stuck: think aloud, don't freeze. "I'd normally confirm this syntax against the SFMC docs — my approach would be…" Honesty about method beats bluffing.
The 4 likely task types + your line of attack
Task
First move
Watch-outs to voice
Write a SQL audience
Confirm field names + what "active"/"opted-in" mean, then build
Apple MPP inflates opens → offer clicks as truer "active"; dedupe; sanity-check row count
Debug / build an HTML module
Ask target clients (Outlook?), isolate the broken block
Outlook = Word engine: tables not flex, inline CSS, VML backgrounds, bulletproof buttons, mso conditionals
Debug a broken journey
Clarify scope (who / since when), trace one failing contact end-to-end
Entry/re-entry rules · decision-split default path · suppression lists · status (unsub/bounce/held) · missing field
Data-quality scenario
Define what "good" looks like, then a repeatable check
Pre-send checklist, seed sends, validate dynamic fields + fallbacks, peer review for big sends
4 Practice drills — do these unaided tonight
Reading these teaches nothing. Attempt each out loud, narrating your reasoning — then reveal. This is the single highest-value hour of prep.
Drill 1 — SQL audience from a plain-English briefSQL
"Build an audience of email-opted-in UK subscribers who opened ≥1 email in the last 30 days but have not purchased in the last 90 days — a re-engagement audience of active-but-not-buying users."
Say your assumptions, write the query, then close with judgment. Attempt before revealing.
Worked solution
Narrate: "First I'd confirm field names and where opt-in lives. I'll assume a subscriber DE, the _Open data view, and a Purchases DE. 'Has not purchased in 90 days' is an anti-join — a LEFT JOIN with an IS NULL check."
SELECT s.SubscriberKey, s.EmailAddress
FROM Subscribers s
JOIN _Open o ON o.SubscriberKey = s.SubscriberKey
AND o.EventDate > DATEADD(day, -30, GETDATE())
LEFT JOIN Purchases p ON p.SubscriberKey = s.SubscriberKey
AND p.PurchaseDate > DATEADD(day, -90, GETDATE())
WHERE s.OptInStatus = 'true'AND s.Country = 'UK'AND p.SubscriberKey IS NULL-- the anti-join: no recent purchaseGROUP BY s.SubscriberKey, s.EmailAddress
Close with judgment: "I'd sanity-check the row count, and because Apple MPP auto-opens inflate open data, I'd sanity this against clicks before treating it as 'engaged.'" — the anti-join pattern + the MPP caveat are what impress here.
Drill 2 — "What breaks this in Outlook, and how do you fix it?"HTML
Read the snippet, list what breaks in Outlook desktop, and say how you'd fix each.
Name the failure, then the fix. Attempt before revealing.
Worked solution — Outlook renders with the MS Word engine
display:flex → unsupported. Layout collapses. Fix: rebuild with <table> rows/cells.
background-image on a div → ignored. Hero disappears. Fix: VML (<v:rect>/<v:fill>) fallback inside mso conditionals.
Padding on an <a> → unreliable; border-radius ignored (square button, usually fine). Fix: bulletproof button — padding on the <td>, VML roundrect for Outlook.
General: styles should be inline; add mso conditional ghost tables for width control.
Say: "I'd isolate the block, swap flex for a table, add a VML background + bulletproof button behind mso conditionals, then confirm in Litmus / Email on Acid across Outlook versions. This is ten years of my daily work."
Drill 3 — "A welcome journey fires on sign-up. Most get it, but ~15% never receive anything. Where do you look?"Journey
Walk the debug path out loud. Don't guess a cause — trace.
Attempt before revealing.
Worked solution — trace, don't guess
Clarify: "Which 15% — random, or a segment? Since when? Did anything change?" Then walk one failing contact's path:
Entry — are they actually entering? (landing in the source DE / firing the entry event, criteria met)
Data — valid email? null SubscriberKey? missing a required personalisation field → send error (very common cause of a silent slice failing)
Subscription status — unsubscribed / bounced / held / global suppression
Suppression / exclusion lists on the send
Decision split — a branch quietly routing them to a no-send / default path?
Send config — throttling, send window, publication status
Trace one known-failing contact end-to-end, fix, re-test, document so it can't recur
The £200 answer: the 15% is almost never random — it's a shared attribute (held/bounced, or a missing field breaking the send). Name that instinct out loud.
Drill 4 — "This DE of ~480k sends tomorrow. You didn't build it. What do you check first?"Data QA
Sample rows from the send DE — spot what you'd catch, and the repeatable check behind each:
SubscriberKey | EmailAddress | FirstName | OptIn | Country
1001 | jo@brand.com | Jo | true | UK
1002 | (null) | Sam | true | UK
1001 | jo@brand.com | Jo | true | UK
1003 | maria@@web | | false | UK
1004 | lars@web.de | Lars | true | DE
Name the catch, then the check. Attempt before revealing.
Worked solution — define "good", then a check that repeats
Frame it: "I never send from a DE I didn't build without my own QA pass — on 480k, one bad field isn't a typo, it's a deliverability and reputation hit." Then the catches:
1001 duplicated → dedupe on SubscriberKey (GROUP BY/DISTINCT) so no one's mailed twice.
1002 null email → filter nulls; a null send errors and can slice the batch.
1003 maria@@web → malformed (double @, no TLD) → format validation.
1003 OptIn = false → non-opted-in record slipped in → consent filter is non-negotiable (GDPR + reputation).
1003 no FirstName → personalisation needs a fallback, or it renders "Hi ,".
1004 is DE, not UK → wrong market in a UK send → confirm the audience / market filter.
The repeatable check: "Dedupe → null + format validation → opt-in/consent scrub → global unsub & suppression check → confirm personalisation fallbacks → seed/test send → and for this size, a second pair of eyes signs off. A checklist I'd want standardised, not done from memory." The £200 answer: the bigger the send, the more a process beats a spot-check — the QA-culture instinct Nicola is listening for.
Drill 5 — "Personalise the greeting by first name with a fallback, and show a VIP line only to gold-tier."AMPscript
The Braze-Liquid → AMPscript move — say that out loud, it is your transferability pitch.
Write the block, name the fallback. Attempt before revealing.
Worked solution — AMPscript, with the fallback that saves the send
Narrate: "In Braze this is {{first_name | default: 'there'}} with a Liquid conditional. In SFMC it's AMPscript — same muscle, different syntax. Declare vars, read the attributes, guard the empty case, then a conditional block on tier."
%%[VAR @name, @tier
SET @name = AttributeValue("FirstName")
SET @tier = AttributeValue("LoyaltyTier")
IF Empty(@name) THENSET @name = "there"ENDIF]%%
<p>Hi %%=v(@name)=%%,</p>
%%[IF @tier == "Gold"THEN]%%
<p>As one of our VIP players, here's an exclusive bonus for you.</p>
%%[ENDIF]%%
Close with judgment: "The bit that matters is the fallback — I'd test with a record that has no FirstName so I see the fallback actually render, and confirm nulls are caught by Empty(). Rendering 'Hi ,' to 480k is the classic embarrassing miss, and it's entirely preventable." Naming the Liquid→AMPscript equivalence + the fallback discipline are what land here.
Drill 6 — "From a Transactions DE with many rows per subscriber, build one row per subscriber = their most recent purchase."SQL+
A dedupe-to-latest problem — the second-most-common SFMC SQL task after a basic audience.
Say the pattern first, then write it. Attempt before revealing.
Worked solution — rank, then keep rn = 1
Narrate: "Latest row per key is a ranking problem — ROW_NUMBER() partitioned by SubscriberKey, ordered by date descending, then keep rank 1. SFMC Query Activities support window functions."
SELECT SubscriberKey, PurchaseDate, Amount
FROM (
SELECT SubscriberKey, PurchaseDate, Amount,
ROW_NUMBER() OVER (PARTITION BY SubscriberKey
ORDER BY PurchaseDate DESC) AS rn
FROM Transactions
) t
WHERE rn = 1
Close with judgment: "If two purchases share a timestamp I'd add a tiebreaker (e.g. , TransactionID DESC). This is the pattern that feeds 'your last order' personalisation."
Drill 7 — "Open rates halved this week and more mail is hitting spam. Diagnose it."Deliverability
A sudden cliff, not a slow decay — walk the diagnosis out loud. This is the ownership you most want.
Attempt before revealing.
Worked solution — start with "what changed?"
Recent changes first — new template / IP / sending domain / big volume jump / content shift. A cliff is almost always a change.
Authentication — do SPF / DKIM / DMARC still pass & align? A DNS edit can silently break DKIM.
Reputation & blocklists — check Google Postmaster + Microsoft SNDS; run the domain/IP against Spamhaus & co.
Volume spike — a sudden surge or a cold-list blast tanks reputation.
Content / spam traps — spammy copy, image-only, or an old list that hit a trap.
Say: "I'd lead with 'what changed this week', because a sudden drop is a change, not decay — then confirm auth and reputation. This is the deliverability piece I'm keenest to own."
Drill 8 — "Render the customer's 3 most recent transactions in the email from a related DE."AMPscript+
The pattern behind order confirmations & recommendations — a lookup, a loop, and an empty-state.
Attempt before revealing.
Worked solution — LookupOrderedRows → guard → loop
Narrate: "LookupOrderedRows to pull the top 3 by date, RowCount to guard the empty case, a FOR loop over Row/Field. Always an ELSE for the no-data path."
Close with judgment: "The discipline is the empty-state fallback — never render an empty table. In Braze this was Connected Content + a Liquid for loop; same shape."
Drill 9 — "Design a win-back journey for customers who haven't purchased in 90 days."Journey design
A build-from-scratch case — structure > detail. Sketch entry, splits, exits, and how you'd measure it.
Attempt before revealing.
Worked solution — entry → escalate → exit-on-convert → measure
Entry — a scheduled SQL/automation populates a "lapsed" DE (no purchase 90d, still opted-in, not already in-journey); re-evaluate on a cadence.
Message 1 — soft "we miss you", no discount yet.
Wait ~5–7 days → decision split — purchased/engaged? If converted → exit.
Message 2 — a real incentive (offer / code).
Wait → decision split again → converted → exit.
Message 3 — last chance + a preference/downgrade option; then suppress if still silent, to protect deliverability.
Global — suppression lists, frequency caps, respect unsub/held.
The senior move: "I'd hold out a control group so we prove incremental revenue, not revenue we'd have won anyway." — that's the line that impresses Nicola.
Drill 10 — "Recipients report the email shows literal %%[ … ]%% code instead of their name. What happened?"Debug
Raw code in the inbox is the parser giving up — reason to the cause.
Attempt before revealing.
Worked solution — the AMPscript isn't being interpreted
Syntax error, most likely — an unbalanced delimiter (an unclosed %%[ / ]%% or %%=…=%%) makes the parser bail and print raw.
Wrong context — the code sits in a content area / version that isn't evaluated (e.g. a plain-text part, or pasted where AMPscript isn't processed).
No send context — a raw preview without the subscriber context that resolves attributes.
Debug: "Isolate the block, check the delimiters balance, test with one record in an interpreted content area, re-send. I'd hunt the unbalanced delimiter first — that's 90% of these."
5 Logic & problem-solving — reason out loud
Not SFMC recall — these test how you think under a curveball. The panel said thinking > output; this is where you show it. Answer with a structure, not a single fact.
Q1 — "A campaign to 300k went out an hour ago with a broken promo code. What do you do, and in what order?"Triage
Give an ordered answer. Attempt before revealing.
Contain → Assess → Communicate → Fix → Prevent
Contain — pause any remaining sends / journey steps still firing. Stop it getting worse first.
Assess blast radius — how many received it, who, and is the code fully dead or partially working?
Communicate up — flag stakeholders immediately with facts, not panic. Bad news travels best early.
Fix — the remedy that protects trust: honour the intended offer via a corrected/apology send, or a follow-up with a working code.
Prevent — post-mortem: how did a broken code clear QA? Add the check so it can't recur.
The signal: you stop the bleeding before you explain it, and you end on prevention — operational maturity Nicola will clock.
Q2 — "Of a 1,000,000 email send, roughly how many humans actually read it? Reason it out."Estimate
Decompose the funnel, state assumptions. Attempt before revealing.
Inbox placement ≈ 85% of delivered → ~830k in the inbox (rest → spam/promotions).
Opens ≈ 25% → ~200k — but flag it: Apple MPP auto-opens inflate this, so "read by a human" is lower.
Clicks ≈ 2–3% of sends → ~20–30k — the truer measure of real attention.
The signal: not the exact number — that you break it into a funnel, state assumptions, and know which metric to trust (clicks over MPP-polluted opens).
Q3 — "One campaign shows a 90% open rate but almost no clicks. What's going on?"Root-cause
An impossible number means the measurement is wrong first. Attempt before revealing.
The opens aren't human
90% is anomalously high → Apple MPP / bot prefetch / security scanners fire the tracking pixel without a real read.
Near-zero clicks is consistent with that — plus check the boring failures: broken/missing links, link tracking not wired up, or images blocked so the CTA never shows.
Conclusion: don't trust the open metric — validate against delivery and clicks, confirm the links render. The logic move: when a number looks impossible, suspect the measurement before the audience.
Q4 — "You can send this segment 2 emails this week. Marketing wants to push 4 things. How do you choose?"Prioritise
Optimise for the customer, not the wish list. Attempt before revealing.
Rank → Consolidate → Sequence → Weigh fatigue
Rank the 4 by business value × relevance to this segment — not by who shouted loudest.
Consolidate — one email can carry more than one message with clear hierarchy, so 4 asks may fit in 2 sends without spamming.
Sequence by deadline/urgency; honestly defer or drop the lowest-value one.
Weigh fatigue / unsub risk — over-mailing costs future reach, a real cost.
The signal: you protect long-term list health and the customer's inbox, and you make the trade-off explicit rather than trying to please everyone.
Q5 — "An A/B on subject lines: Variant B is 2% ahead on opens after 500 sends. Ship B?"Stats
Don't chase noise; pick the right metric. Attempt before revealing.
Not yet
500 is a tiny sample and a 2% gap sits well inside the noise → not statistically significant. Needs proper sample size / confidence before calling it.
Open rate is a weak, MPP-polluted metric — judge on the metric tied to the goal (clicks / conversions / revenue), not opens.
Check confounds — was the split truly random? Same send time, same audience?
Conclusion: let it reach significance on the right metric, then ship. The signal: you don't act on noise, and you tie the decision to a business outcome — judgment James and Nicola are both testing.
The gotchas — same idea, turned up. Each hides a named trap; naming the trap is the answer.
Q6 — "Customers who get our SMS spend 3× more. Should we SMS everyone?"Selection bias
Spot the trap before you answer. Attempt before revealing.
The trap: selection bias
SMS opt-ins are already your most engaged, loyal customers — the channel didn't cause the spend, the customer type did. Rolling SMS out to everyone won't transplant that behaviour.
Answer: "Measure it properly — a randomised holdout: same customers, some get SMS, some don't, compare. That isolates the incremental effect from the selection effect." Naming the confound is the whole point.
Q7 — "Version A beat B overall, but B won in every single country. Which do you ship?"Simpson's paradox
Attempt before revealing.
The trap: Simpson's paradox
The aggregate is misled by uneven segment mix — A only "won overall" because more traffic landed in an easy segment. If B wins in every country, B is genuinely better.
Answer: "Ship B, or segment-target — I trust the per-segment result over the aggregate. When totals and segments disagree, the aggregate is usually hiding a composition effect."
Q8 — "Our churn model is 95% accurate. Spend the whole retention budget on everyone it flags?"Base rate
Attempt before revealing.
The trap: base rate + wrong metric
If only ~5% actually churn, a model that always says "won't churn" is also 95% accurate — accuracy is nearly useless here. And every false positive wastes an incentive on someone who'd have stayed.
Answer: "I'd ask for precision & recall, not accuracy, and weigh the cost of a false positive. Target where the expected saved value beats the incentive cost — not everyone with a flag."
Q9 — "'Best send time' analysis says 6am — everyone opens then. Move all sends to 6am?"Measurement artifact
Attempt before revealing.
The trap: the metric is an artifact
Opens are timestamped when the mail is fetched — MPP prefetch & overnight batches distort "time of open".
Survivorship — you only see openers, not the segment that never opens at all.
Herd effect — if everyone ships at 6am, the inbox is crowded and you lose the edge.
Answer: "Don't move on that number — run a proper randomised send-time test per segment measured on clicks/conversions, not raw open timing."
Q10 — "Leadership wants the unsubscribe rate at zero. How do you get there?"Goodhart's law
This one's a test of judgment, not tactics. Attempt before revealing.
The trap: gaming the proxy (Goodhart's law)
You could hit ~0 by mailing less or hiding the unsub link — but that's worse: a hidden unsubscribe becomes a spam complaint, which hurts deliverability far more, and it games the number without serving the business.
Answer — reframe it: "Zero unsubscribes isn't actually the goal — an engaged, consented list with low complaints is. I'd measure that instead, and push back constructively rather than optimise a proxy that backfires." That maturity is exactly what Nicola's listening for.
6 Must-reproduce-from-memory crib
No AI in the room — these need to come out cold and fast.
Braze → SFMC (say in 30s)
Liquid
AMPscript%%=...=%% + personalisation strings
Connected Content
SSJS / HTTPGet
Catalogs
Data Extensions (relational)
Segments
DEs + SQL Query Activities / Filters
Canvas (journeys)
Journey Builder
Content blocks
Content Builder
API triggers
REST/SOAP · Transactional API · triggered sends
SMS / push
MobileConnect / MobilePush
Data views (memorise)
_Open · _Click · _Sent · _Bounce · _Unsubscribe — joined on SubscriberKey
SQL you write cold
SELECT…FROM…JOIN…ON…WHERE…GROUP BY; DATEADD(day,-30,GETDATE()); anti-join = LEFT JOIN … WHERE x.Key IS NULL; DISTINCT/GROUP BY to dedupe
SPF / DKIM / DMARC
SPF = which servers may send · DKIM = signature proving genuine + untampered · DMARC = ties them to From domain, sets policy + reporting. All three aligned before warm-up.
IP warm-up in one breath
Auth first → ramp volume ~4–6 weeks starting most engaged → watch Google Postmaster + SNDS → throttle if reputation dips. "The bit I'm most keen to own."
Fuller versions + all 7 STAR stories live in Quantum_Stage2_CheatSheet.md — skim once, don't re-memorise.
7 Best-practice cheat-sheets — email dev & journey builds
Ten each, short enough to recall. If they ask "how do you approach X", these are your bullet points — and they back your "ten years of daily work" line.
Responsive email dev — 10 deeper cuts (you know the basics)
AMP for Email — live, interactive content (real-time odds, forms, carousels) via an x-amp-html part with an HTML fallback.
CSS-only interactivity — the :checked checkbox/radio hack for tabs, carousels & galleries; always ship a static fallback.
Kinetic / gamified email — scratch-to-reveal, spin-the-wheel, tap-to-reveal offers in pure CSS — made for iGaming promos.
Advanced dark mode — declare color-scheme / supported-color-schemes; target Outlook.com swaps with [data-ogsc]; blend-mode logos survive forced inversion.
Progressive enhancement — layer flex/grid via @supports / @media over the table baseline; enhance up, never break the fallback.
Outlook content swaps — mso-hide:all + <!--[if mso]> / [if !mso] to serve Outlook a static block and everyone else the rich version.
Preview-text engineering — hidden preheader + zero-width / ‌ spacer so Gmail can't scrape body copy into the snippet.
Motion accessibility — prefers-reduced-motion to stop animation on request; design the GIF so frame 1 stands alone (Outlook freezes it).
Deep a11y — role="presentation" on layout tables, lang, logical reading order, aria-hidden spacers, WCAG-AA contrast — beyond alt text.
Modular build + compiler — atomic, reusable blocks (SFMC ContentBlockByKey) compiled via MJML / Maizzle, version-controlled & QA'd once; RTL / localisation from one template.
CRM journey builds — 10 practices
Goal + metric first — what behaviour you want, and how you'll measure it.
Tight entry criteria + de-dupe — right people in, no double-entry.
Deliberate re-entry rules — decide if/when a contact can re-enter.
Map before you build — entry, waits, splits, exits sketched first.
Exit on conversion — remove people the moment the goal's met.
Honour status & suppression — unsub / bounce / held + global suppression lists.
Fallback every personalisation — no "Hi ,"; a safe default path on each decision split.
Frequency / fatigue caps — protect deliverability and the customer's inbox.
Test end-to-end pre-launch — trace a real contact down every branch; seed sends.
Holdout control + document — prove incremental lift, then monitor and iterate.
8 Why Quantum — the intel (and where it wins the room)
All from their own site + trade press (EGR, iGB Affiliate, Gambling Insider, Built In), Oct–Nov 2025. Drop these in naturally — they prove you did the homework and aim straight at Nicola.
Momentum
5 → 60 employees in the growth phase; tech team built 0 → 14 in-house in a year. Self-described "tech-led, AI-first, data-driven."
Financials (FY2024)
Revenue £20.59m, +59% YoY; EBITDA £4.85m. Profitable and scaling — not burning.
Standing
EGR Power Affiliates 21st → 15th (2025), #5 in the UK; shortlisted for 8 awards — incl. Employer of the Year & Affiliate of the Year.
Reach
20,000+ new customers/month to partners · 500+ partnerships · £5m+ commissions · 125% network YoY. UK/US/Ireland/South Africa; London + Skopje.
Each fact → a reason → a line to use:
CRM is a named core pillar, not a side desk. Their homepage lists "Engagement & Retention — CRM-managed promotions with personalised strategies" as one of three pillars (with Acquisition and Operations).
→ Use: "Your CRM function is strategic, not a bolt-on — that's exactly where I want to plug in."
You'd land where the leverage is. Their DNA is acquisition (affiliate roots); retention/LTV is the newer, less-built muscle — the biggest surface for a hands-on technical CRM person to make fast, visible impact.
→ Use: frame your first 6–12 months as maturing the retention engine — aimed at Nicola.
Data- and compliance-first — your exact strengths. "Data drives everything we do," proprietary LTV & waterfall modelling, "Compliance Is King." Your deliverability, QA rigour and GDPR/consent instincts fit a culture that already prizes them.
→ Use: your cultural-fit line — "your data-and-compliance-first ethos is how I already work."
Diversifying beyond iGaming into finance & new verticals. Vision: "become the world's most-used digital comparison service… value to millions of users." As they shift from pure acquisition, retention/LTV becomes more central — the role grows with the company.
→ Use: this is your prepped Nicola question — ask it knowing the answer.
They invest in people and promote from within. "Our people are at the heart of our success," HR "not an afterthought," flexible working; COO Andrew Lee started ~10 years ago and rose to C-level; shortlisted for Employer of the Year.
→ Use: "I want somewhere to own a function and grow it — your track record shows that's real here."
Fresh chapter, heavyweight backing. Rebranded 30 Oct 2025; completed C-suite with ex-Livescore MD James McCarthy (CMO) & Simon Winder (CFO). CEO Jamie Walters: "we've also evolved our mindset, ambition and… strategic direction."
→ Use: "You're at an inflection point with serious backing — a good moment to join and shape it."
One line for the room
"You're at an inflection point — growing fast, moving from pure acquisition into retention and new verticals, and doing it data-first and compliance-first. That's exactly where a hands-on technical CRM person makes the most difference — and it's how I already work."
9 Questions to ask — split by who
Pick ~4 + the closer. Aim the strategic ones at Nicola, the technical ones at James.
For Nicola — director / strategic
As you diversify beyond iGaming into new verticals, how does CRM's role change — is retention / LTV becoming a bigger part of the mix vs pure acquisition?
What does great look like for this hire at 6 and 12 months, from where you sit?
How do you keep quality and compliance high while the team and the pace scale?
The rebrand set out becoming the world's most-used comparison service — as that grows, how much of the customer relationship does Quantum want to own itself (first-party data, retention, repeat) vs hand off to partners? — shows you read the rebrand & think commercially; a strong opener.
How closely does CRM sit with the acquisition and data / analytics teams today — and as retention becomes a bigger focus, do you see those lines blurring? I'm interested in where a technical CRM person is best placed to work across them.
For James — technical / day-to-day (fresh — the Stage 2 ones are already answered)
How does the team handle QA and sign-off before a send goes out — a formal review step, or is it on the individual exec? That's a standard I'd want to help tighten.
When something breaks mid-campaign, what does that look like here — who picks it up, and how fast do you need it turned around?
How do you handle testing and reuse for AMPscript/SSJS and content blocks — is there a sandbox / staging setup I'd ramp in?
What's the most fragile part of the current setup — the bit you'd most want a fresh pair of hands to help untangle first?
With a Head of CRM coming in above you, where do you most want this technical role to grow over the next year?
Closer ⭐ — to the room
"Is there anything from today that gives either of you hesitation about me in this role? I'd rather address it now than leave it unsaid." — confident, invites the honest read, often converts a maybe.
10 Logistics, do/don't & checklist
Address
Unit 116, Screenworks, 22 Highbury Grove, London N5 2EF
On arrival
Call Rosita: 07775 022228
Route (RH19 → N5)
East Grinstead → Victoria (Southern), then Victoria line direct to Highbury & Islington, ~8 min walk. ~1h45–2h door to door.
Timing
Arrive ~13:30 (30 min buffer) → leave home ~11:15. Check live times tonight.
Do / Don't (live-task edition)
Do
Don't
Clarify before coding
Freeze silently
Think out loud · state assumptions
Bluff syntax (say how you'd verify it)
Name the tech · sanity-check at the end
Overclaim "expert" anything
Stay calm if stuck (narrate method)
Lead with AI · reopen salary (£50k settled)
Relax with James — he's in your corner
Forget Nicola is the fresh judge
Tonight
Morning of
One line to carry in
"James already knows I can do this — today I just do it calmly and out loud, and I win Nicola on judgment and impact."