The 8-Week Plan

UAE Full-Stack Developer · the 2026 in-demand stack, in strict order

Reference doc · created 19 Jun 2026 · 3–4 hrs/day · Python + FastAPI · Postgres + RAG · React + Next.js · a bit of DevOps

Eight weeks. One project. Built in the exact order an interviewer will want to hear it. You already know the web (PHP, jQuery, a little React) — so this isn't learning to code, it's re-platforming what you know onto the stack UAE companies are hiring for.

One capstone, threaded through every week → “DocChat”.
A web app where a user uploads documents and asks questions about them in plain English (answered by AI over their docs — that's RAG). It touches every part of the stack, so by Week 8 you have a single, deployed, demoable project that is your interview story. Don't build five toy apps. Build this one, well.

The order & why

Backend first (your biggest gap and the role's core), then data, then the frontend (a refresh for you), then RAG — the rarest, most impressive skill in the stack — then just enough DevOps to put it online.

Wk 1Python

Python, fast — through PHP eyes

Goal: read and write idiomatic Python without thinking in PHP.

  • Syntax shift: indentation, no $, f-strings, truthiness
  • Lists, dicts, comprehensions; functions & *args/**kwargs
  • Type hints, virtualenv + pip, modules & imports
  • Classes & dataclasses (you'll need them for Pydantic next week)
Build: a small CLI script (e.g. a CSV/text processor) — proves you can write, not just read, Python.

Primary: From PHP to Python · Official tutorial → see Lesson 0001

Wk 2FastAPI

FastAPI — your first real API · Lesson 02 →

Goal: build & document a CRUD REST API from scratch.

  • Routes, path/query params, request/response models
  • Pydantic for validation (this is the FastAPI superpower)
  • async/await basics; status codes & error handling
  • Auto-docs (Swagger), project structure, dependency injection
Build: DocChat's API skeleton — in-memory CRUD for "documents" (no DB yet).

Primary ⭐: FastAPI official Learn

Interview hook: “REST API design, validation, why async.”

Wk 3Postgres

Postgres + SQL — make it persist · Lesson 03 →

Goal: wire the API to a real database with auth.

  • SQL fundamentals: tables, joins, indexes (you'll be quizzed on these)
  • SQLAlchemy 2.0 ORM + Alembic migrations
  • Connect FastAPI → Postgres; sessions & queries
  • JWT auth: register / login / protected routes
Build: DocChat persists users & documents in Postgres, with login.

Primary ⭐: SQLAlchemy 2.0 · Postgres tutorial

Interview hook: “SQL joins, indexing, ORM vs raw SQL, auth flow.”

Wk 4React

Modern React — refresh the right way · Lesson 04 →

Goal: replace your jQuery instincts with hooks + components.

  • Function components, JSX, props, the mental model shift from jQuery
  • Core hooks: useState, useEffect; lifting state
  • Fetching data from your FastAPI backend (fetch/axios)
  • Lists, forms, conditional rendering, component composition
Build: a plain-React UI that logs in and lists documents from your API.

Primary ⭐: react.dev

Interview hook: “State management, useEffect, components vs the old DOM way.”

Wk 5Next.js

Next.js App Router — the full-stack frontend · Lesson 05 →

Goal: a production-shaped frontend for DocChat.

  • App Router: file-based routing, layouts, server vs client components
  • Data fetching & server actions; loading/streaming
  • Connecting to your FastAPI backend; env vars
  • Tailwind for fast, decent-looking UI
Build: DocChat's real frontend — upload page, document list, chat box.

Primary ⭐: Next.js Learn (Dashboard)

Interview hook: “Server components, SSR vs CSR, when/why Next.”

Wk 6RAG ★

RAG — the feature that gets you hired differentiator · Lesson 06 →

Goal: answer questions over uploaded docs using AI.

  • The RAG loop: chunk → embed → store → retrieve → generate
  • pgvector: vectors in Postgres, cosine distance, indexes
  • Embeddings + an LLM call (Claude / OpenAI) for the answer
  • Wiring retrieval results into the prompt (context injection)
Build: upload a PDF → ask a question → get an answer grounded in it. DocChat is now real.

Primary ⭐: RAG on Postgres (2026) · pgvector

Interview hook: “Explain RAG end-to-end, why vector search, chunking trade-offs.” Most candidates can't. You will.

Wk 7DevOps

A bit of DevOps — put it online · Lesson 07 →

Goal: a public URL you can paste into an application.

  • Git/GitHub workflow & a clean README (recruiters read these)
  • Docker: containerise the FastAPI backend
  • Env vars & secrets; managed Postgres (Neon/Supabase)
  • Deploy: Next.js → Vercel, backend → a container host; basic CI
Build: DocChat is live on the internet with a shareable link.

Primary: Docker · Vercel

Interview hook: “How you deploy, env/secrets, CI basics.”

Wk 8Apply

Polish, prep & apply · Lesson 08 →

Goal: stop learning, start interviewing.

  • Polish the capstone: README with screenshots, architecture diagram
  • Write your "project story" — be able to talk through every layer in 3 min
  • Drill common full-stack interview Qs across the whole stack
  • Update LinkedIn/CV; start applying via referrals
Build: your application kit — repo, live demo, story, CV — and send the first applications.

Interview hook: the whole project is the answer to “tell me about something you built.”

The Extended Track go deeper

Modules 9–13 — the production track. The core eight weeks get you hired-ready. These five extra modules are what turn a junior offer into a mid/senior one and let you out-answer every other candidate: TypeScript everywhere, real testing, AI agents & MCP, security & operations, and cloud & system design. Same deep-dive + drills format. Take them after the capstone, or weave them in as you go — all threaded through DocChat.
Wk 9TypeScript

TypeScript — the type-safe stack · Module 9 →

Goal: write the React + TypeScript almost every UAE spec asks for.

  • Types, inference, interfaces vs type aliases, unions & narrowing
  • Generics and the essential utility types (Partial, Pick, Omit, Record)
  • Typed props, hooks, events; zod + z.infer; typed Server Actions
Build: DocChat's shared type contract between the FastAPI backend and the Next.js frontend.

Interview hook: “any vs unknown, generics, how you type an API response.”

Wk 10Testing

Testing — ship with confidence · Module 10 →

Goal: pytest the backend, Vitest/Playwright the frontend.

  • pytest: fixtures, parametrize, mocking the boundary, async, coverage
  • FastAPI tests with TestClient/AsyncClient and dependency overrides
  • React Testing Library, MSW, and Playwright end-to-end
Build: a test suite for DocChat's upload + ask flow (LLM mocked) and an E2E happy path.

Interview hook: “what do you test, what do you mock, the testing pyramid.”

Wk 11AI ★

AI Agents & MCP — beyond plain RAG 2026 edge · Module 11 →

Goal: build agents that use tools — the rarest skill on the market.

  • The agent loop, tool calling, and structured outputs (Anthropic Messages API)
  • Model Context Protocol (MCP): standard tools/resources across hosts
  • Evaluating AI apps: golden sets, LLM-as-judge, prompt-injection defense
Build: an agentic DocChat that searches its own docs via a tool, plus an eval harness + a tiny MCP server.

Interview hook: “agent vs RAG vs workflow, how you eval, how you stop prompt injection.”

Wk 12Production

Production Engineering — secure, fast, observable · Module 12 →

Goal: run it like it's real — not just make it work once.

  • Security: OWASP, auth hardening, IDOR, injection, CORS, rate limiting
  • Caching & background jobs: Redis, cache-aside, ARQ queues, idempotency
  • Observability: structured logs, Sentry, OpenTelemetry traces, LLM cost
Build: harden DocChat, move ingestion to a background job, and trace the /ask request end-to-end.

Interview hook: “how you'd debug a slow endpoint and secure a public API.”

Wk 13Scale

Cloud & System Design · Module 13 →

Goal: deploy on AWS and pass the design interview.

  • AWS for full-stack devs: IAM, S3, RDS+pgvector, Fargate/App Runner, secrets
  • UAE data residency: the me-central-1 region
  • System design framework: estimates, scaling, trade-offs — DocChat at 100k users
Build: DocChat's AWS architecture and a written "design it for scale" you can present.

Interview hook: the whole system-design round, rehearsed on a system you actually built.

Five rules that make 8 weeks enough

1. One project, not five. Depth beats breadth in interviews.
2. Build first, polish never-fully. A working ugly feature > a perfect plan.
3. 15 min/day of recall. Re-explain yesterday's concept from memory — this is what makes it stick (storage, not fluency).
4. Ship to GitHub daily. The commit history is itself evidence for recruiters.
5. Don't skip RAG. It's the rarest skill here — your edge.