Forward Deployed EngineeringCareer switch by background

PHP web developer to FDE: add a grounded AI feature to your app

PK
Pankit Kumar
Sr. Data Scientist at Parexel (a Goldman Sachs–backed company) · 27 September 2026 · 5 min read
In this article (7 sections)

Related programme: the FDE for Freshers course (6–7 months; EMI from ₹8,000/month · full fee shared on your counselling call). See also open Forward Deployed Engineer jobs in India, updated daily.

The short answer

A PHP web developer who builds and maintains client websites already does much of what a forward deployed engineer (FDE) does: take a loosely worded request from a business owner, change a live system, and deploy without breaking it. What you need to add is Python, working with data, and the discipline of evaluating AI output. The clearest way to see the fit is to walk through an ordinary day.

9:30 am: the WhatsApp message from a client

A small travel agency you built a Laravel site for writes: "Customers keep asking the same questions on chat, can you add AI?" In your current job you would install a plugin and move on. In FDE work this message is the start of discovery. You would ask which questions, how many a day, who answers them now, and what a wrong answer costs. Write those questions down; they are the first artefact of your new portfolio.

What transfers: you already translate business language into tickets. You have change-request threads, invoices tied to scopes, and probably a folder of "client said X, we built Y" misunderstandings. Those are lessons about scoping that many new engineers do not have.

11:00 am: the MySQL schema you have not looked at in a year

You open phpMyAdmin to find where the FAQ and tour-package content lives. It is split between a pages table, a packages table with HTML in a text column, and a PDF brochure on the server.

Maps to: data preparation for retrieval. An AI feature is only as good as the content it can look up, and knowing where the content actually lives is half the job. You know your schemas, cron jobs and file uploads better than any outsider could.

2:00 pm: build the feature, but make it refuse

Here is the first project, in Python so you can show the new language. It indexes a few synthetic FAQ snippets, scores a question by word overlap, and only answers when the best match clears a threshold. Real systems use embeddings and a language model to phrase the answer; the refusal logic is the same idea and it is the part clients care about.

python
import re

# Synthetic knowledge base for a hypothetical travel agency site
docs = {
    "cancellation": "Cancellations made 15 or more days before departure get a full refund minus a processing charge.",
    "visa": "We assist with visa documentation for Dubai and Singapore packages. Visa decisions are made by the embassy, not by us.",
    "baggage": "Package flights include 15 kg check-in baggage per traveller unless stated otherwise.",
    "payment": "Bookings are confirmed after a 25 percent advance. The balance is due 10 days before travel.",
}

STOP = {"the", "a", "an", "is", "are", "do", "does", "i", "my", "for", "of", "to", "can", "you", "what", "how", "if", "me", "on", "in", "with", "we"}

def tokens(text):
    return {w for w in re.findall(r"[a-z0-9]+", text.lower()) if w not in STOP}

def answer(question, threshold=0.34):
    q = tokens(question)
    best_id, best_score = None, 0.0
    for doc_id, text in docs.items():
        overlap = len(q & tokens(text)) / max(len(q), 1)
        if overlap > best_score:
            best_id, best_score = doc_id, overlap
    if best_score < threshold:
        return None, round(best_score, 2)
    return best_id, round(best_score, 2)

tests = [
    ("What is the refund if cancellations happen 20 days before departure?", "cancellation"),
    ("How much check-in baggage is included?", "baggage"),
    ("When is the balance payment due?", "payment"),
    ("Can you book me a hotel in Manali?", None),
]

correct = 0
for question, expected in tests:
    got, score = answer(question)
    correct += got == expected
    print(f"{question!r} -> {got} (score {score})")
print(f"{correct}/{len(tests)} test questions handled as expected")
assert correct == len(tests)

All four test questions behave as intended, including the Manali hotel question, which the knowledge base does not cover and so gets no answer. Now try a question like "Do I get my money back?" It shares no words with the cancellation text, so the overlap method refuses. That is the weakness to write about, and the reason to move to embeddings next, with the same test file extended to thirty questions. The test file is the portfolio piece. It shows you measure behaviour instead of demoing it.

5:00 pm: deploy over FTP and hope

This is where most freelance PHP work differs from FDE practice. Deployments by FTP or cPanel file manager, no automated tests, credentials in a config file on the server. Be frank about it in your learning plan: Git with pull requests, environment variables for secrets, a test suite that runs before deploy, and logging you can read after something goes wrong. None of this is exotic, and it is the gap interviewers probe first.

What to learn, in order

  1. 1Python for scripting, data handling and calling APIs, using the project above as the running exercise.
  2. 2SQL beyond CRUD: joins, aggregations and window functions on real reporting questions.
  3. 3Git workflows, tests with pytest, and a CI run on every push.
  4. 4Retrieval, prompting and evaluation of model output, including refusal behaviour.
  5. 5Containers and one cloud deployment of your feature, with secrets handled properly.

The FDE for Freshers programme at /courses/fde follows a similar progression from software foundations to production AI and client delivery. It is live online, with optional in-person labs at our Noida centre.

A title to aim at first

With client-website experience, a realistic first move is a role that mixes building with client contact: implementation engineer or solutions engineer at a software company, a full-stack developer on a team shipping AI features, or a junior forward deployed role where one exists. Agencies that build AI features for small businesses are another route, because they need people who can talk to owners the way you already do.

Saying it in the interview

"For five years I built and maintained Laravel sites for small businesses, mostly over WhatsApp with the owners. When clients started asking for AI, I noticed the risky part was not the model but a wrong answer about refunds or visas. So I built a small assistant in Python that answers only from the client's own content, with a test set that includes questions it must refuse, and I can show you where the simple version fails. I have moved my own projects onto Git with tests and CI, because FTP deploys were the weakest part of how I used to work. I want a role where I keep the client side but ship properly engineered software."

To see how your current resume reads against the role, use the free skill check. If you are coming from QA rather than development, see /blog/manual-qa-tester-to-forward-deployed-engineer.

Frequently asked questions

Should a PHP developer learn Python to move into AI work?

Yes, for most AI and forward deployed roles. The major model SDKs, evaluation tools and data libraries are strongest in Python, and many are also available in TypeScript. You do not need to abandon PHP; many client systems you integrate with will still run on it.

Is building a chatbot on my existing website a good portfolio project?

Only if it answers from your own content, refuses when the content does not cover the question, and comes with a small test set showing how often it answers correctly. A chatbot that answers everything is a weaker signal than one that knows when to stay silent.

PK
Pankit Kumar
Lead Instructor, NeuraPath Academy

Pankit Kumar has 10 years in Data Science & AI, building and shipping production systems in regulated pharma and clinical environments. He is a freelance trainer at Boston Institute of Analytics, AnalytixLabs and Scaler, and has taught this material to thousands of working professionals.

This article is part of our FDE for Freshers programme — 6–7 months. Build your engineering foundations, then take AI from discovery to delivery.

Explore FDE for Freshers
Counselling is free · no obligation

Not sure which programme fits?

Tell us your background and we will map it to the right entry point — including saying so when a cheaper programme is the better fit. A counsellor replies within one working day.