{"@context":"https://ihatereading.in/roadmap/schema/v1","type":"roadmap-chapter","roadmap":{"slug":"ai-agent-development","title":"AI Agent Developer Roadmap","url":"https://ihatereading.in/roadmap/ai-agent-development","machineUrl":"https://ihatereading.in/roadmap/ai-agent-development.json"},"slug":"programming-languages","title":"Programming Languages & Foundations for AI Agent Development","url":"https://ihatereading.in/roadmap/ai-agent-development/programming-languages","machineUrl":"https://ihatereading.in/roadmap/ai-agent-development/programming-languages.json","summary":{"breadcrumb":"AI Agent Developer Roadmap → Programming Languages","purpose":"Learn the programming foundations required to build AI agents.","prerequisites":["Basic programming knowledge (variables, functions, loops)"],"recommendedStart":["Python","JavaScript or TypeScript"],"notRequired":["Advanced algorithms or competitive programming","Deep ML mathematics to start building agents"],"afterThisChapter":["LLM Providers & APIs","Structured Output","Tool Calling","Agent Frameworks"]},"agentLens":{"title":"How agents use programming foundations","points":["Python runs most agent orchestration, RAG pipelines, evals, and backend workers.","JavaScript/TypeScript powers agent UIs, streaming chat, browser agents, and Vercel AI SDK apps.","Async execution enables parallel tool calls, multi-agent runs, and concurrent research.","Structured output and prompts are the control plane every framework assumes you understand."]},"topics":[{"id":"python-fundamentals","slug":"python-fundamentals","title":"Python Fundamentals","level":"beginner","category":"programming-foundation","importance":"essential","difficulty":"beginner","learn":["Python syntax and data structures","Virtual environments and dependency management","Functions, modules, and packages","Reading API docs and SDK examples"],"why":["Most agent frameworks are Python-first (OpenAI Agents SDK, Pydantic-AI, smolagents, LangGraph).","RAG scripts, eval harnesses, and data prep are overwhelmingly written in Python.","Largest ecosystem of agent tutorials and production examples."],"prerequisites":[],"nextTopics":["async-python","structured-output"],"relatedTopics":[],"usedIn":["agent-frameworks","rag-pipelines","tool-calling","evaluation","observability"],"understand":null,"questions":null,"projects":{"beginner":"CLI script that loads an API key from env and prints a structured JSON object from a hard-coded user question.","intermediate":null,"advanced":null},"commonMistakes":[],"bestPractices":[],"debug":null,"compare":[],"resources":{"official":["https://docs.python.org/3/"],"tutorials":["https://realpython.com/"],"videos":[],"websites":[],"youtube":[],"ihateReading":[]},"agentLens":{"title":"How agents use Python","uses":["LLM orchestration and agent loops","Data processing before/after tool calls","Agent framework SDKs and RAG pipelines","Offline evaluation and batch jobs"]},"skipIf":"You already ship production Python services daily.","build":"CLI script that loads an API key from env and prints a structured JSON object from a hard-coded user question.","next":["async-python","structured-output"],"prerequisite":[]},{"id":"async-python","slug":"async-python","title":"Async Python","level":"intermediate","category":"programming-foundation","importance":"essential","difficulty":"intermediate","learn":["async/await","asyncio","concurrency vs parallelism","Tasks and gather","Queues and backpressure basics"],"why":["Agent frameworks perform concurrent tool calls.","LLM and HTTP API calls are mostly I/O bound.","Multiple tools may need to run simultaneously without blocking the event loop."],"prerequisites":["python-fundamentals"],"nextTopics":["rest-apis","tool-calling"],"relatedTopics":[],"usedIn":["tool-calling","agent-orchestration","parallel-research","browser-agents"],"understand":null,"questions":null,"projects":{"beginner":"Research agent that searches 5 sources simultaneously with asyncio.gather and merges results.","intermediate":null,"advanced":null},"commonMistakes":[],"bestPractices":[],"debug":null,"compare":[],"resources":{"official":["https://docs.python.org/3/library/asyncio.html"],"tutorials":["https://realpython.com/async-io-python/"],"videos":["https://www.youtube.com/watch?v=e5boNuwaTu8"],"websites":[],"youtube":[],"ihateReading":[]},"agentLens":{"title":"How agents use async","uses":["Parallel tool calls in one agent turn","Multi-agent execution without serial waiting","Concurrent web research and API fan-out"]},"skipIf":"You already build production async Python services.","build":"Research agent that searches 5 sources simultaneously with asyncio.gather and merges results.","next":["rest-apis","tool-calling"],"prerequisite":["python-fundamentals"]},{"id":"javascript-typescript","slug":"javascript-typescript","title":"JavaScript / TypeScript","level":"beginner","category":"programming-foundation","importance":"core","difficulty":"beginner","learn":["Modern ES modules","TypeScript types for API responses","Fetch and streaming responses","Next.js or Vite app structure"],"why":["Vercel AI SDK and OpenAI Node SDK are TypeScript-first.","Most customer-facing agent products need a web UI.","Browser automation and in-app agents often live in the JS stack."],"prerequisites":[],"nextTopics":["rest-apis","structured-output"],"relatedTopics":[],"usedIn":["agent-ui","browser-agents","streaming-chat","vercel-ai-sdk"],"understand":null,"questions":null,"projects":{"beginner":"Streaming chat widget that renders tokens as they arrive from the Vercel AI SDK.","intermediate":null,"advanced":null},"commonMistakes":[],"bestPractices":[],"debug":null,"compare":[],"resources":{"official":["https://sdk.vercel.ai/docs"],"tutorials":["https://www.typescriptlang.org/docs/"],"videos":[],"websites":[],"youtube":[],"ihateReading":[]},"agentLens":{"title":"How agents use JavaScript","uses":["Agent UIs and embedded copilots","Browser agents and computer-use frontends","Server-side agents on Node/Edge","Streaming and web integrations"]},"skipIf":"You only build backend Python agents with no web UI.","build":"Streaming chat widget that renders tokens as they arrive from the Vercel AI SDK.","next":["rest-apis","structured-output"],"prerequisite":[]},{"id":"prompt-engineering","slug":"prompt-engineering","title":"Prompt Engineering Fundamentals","level":"beginner","category":"agent-control","importance":"essential","difficulty":"beginner","learn":["Zero-shot vs few-shot prompting","Chain-of-thought when appropriate","System vs user messages","Guardrails and refusal handling"],"why":["Every agent framework assumes you can steer model behavior with prompts.","Tool selection and planning quality depend on clear instructions.","Bad prompts cause silent failures more often than bad code."],"prerequisites":["python-fundamentals"],"nextTopics":["structured-output","tool-calling"],"relatedTopics":[],"usedIn":["tool-calling","planning","evaluation","multi-agent-handoffs"],"understand":null,"questions":null,"projects":{"beginner":"Prompt template library with 3 variants (strict, creative, tool-first) tested on the same user task.","intermediate":null,"advanced":null},"commonMistakes":[],"bestPractices":[],"debug":null,"compare":[],"resources":{"official":["https://docs.claude.com/en/docs/build-with-claude/prompt-engineering/overview"],"tutorials":[],"videos":["https://www.youtube.com/watch?v=T77A-xTDuLU"],"websites":[],"youtube":[],"ihateReading":[]},"agentLens":{"title":"How agents use prompts","uses":["Defining agent role and tool-use policy","Few-shot examples for structured tasks","Recovery prompts after tool errors"]},"skipIf":"You already run production prompt evals with golden datasets.","build":"Prompt template library with 3 variants (strict, creative, tool-first) tested on the same user task.","next":["structured-output","tool-calling"],"prerequisite":["python-fundamentals"]},{"id":"structured-output","slug":"structured-output","title":"Structured Output","level":"intermediate","category":"agent-control","importance":"essential","difficulty":"intermediate","learn":["JSON schema constraints","Pydantic models in Python","Zod schemas in TypeScript","Native structured-output modes on providers"],"why":["Tool calls require parseable arguments.","Downstream code cannot trust free-form prose.","Evals and logging need consistent fields."],"prerequisites":["python-fundamentals","prompt-engineering"],"nextTopics":["rest-apis","tool-calling"],"relatedTopics":[],"usedIn":["tool-calling","data-enrichment","agent-memory","evaluation"],"understand":null,"questions":null,"projects":{"beginner":"Agent that converts messy research notes into a JSON content brief (title, audience, outline, CTAs).","intermediate":null,"advanced":null},"commonMistakes":[],"bestPractices":[],"debug":null,"compare":[],"resources":{"official":["https://platform.openai.com/docs/guides/structured-outputs"],"tutorials":[],"videos":["https://www.youtube.com/watch?v=KUEmEb71vzQ"],"websites":[],"youtube":[],"ihateReading":[]},"agentLens":{"title":"How agents use structured output","uses":["Tool argument generation","Planner → executor handoffs","Extracting entities for RAG metadata"]},"skipIf":"You already enforce schemas on every model response in production.","build":"Agent that converts messy research notes into a JSON content brief (title, audience, outline, CTAs).","next":["rest-apis","tool-calling"],"prerequisite":["python-fundamentals","prompt-engineering"]},{"id":"rest-apis","slug":"rest-apis","title":"REST APIs & Webhooks","level":"intermediate","category":"integration","importance":"essential","difficulty":"intermediate","learn":["HTTP methods and status codes","Auth headers and API keys","Webhooks and idempotency","Error handling and retries"],"why":["Most agent tools are thin wrappers around REST APIs.","Agents live or die by real-system integration.","Webhooks connect long-running agent jobs to your product."],"prerequisites":["python-fundamentals","async-python"],"nextTopics":["llm-providers","tool-calling"],"relatedTopics":[],"usedIn":["tool-calling","crm-integration","payments","scheduling"],"understand":null,"questions":null,"projects":{"beginner":"Small agent: user question → LLM selects API → HTTP request → tool result → LLM → final answer.","intermediate":null,"advanced":null},"commonMistakes":[],"bestPractices":[],"debug":null,"compare":[],"resources":{"official":[],"tutorials":[],"videos":[],"websites":[],"youtube":[],"ihateReading":[]},"agentLens":{"title":"How agents use REST","uses":["Tool implementations (CRM, calendar, search)","Webhook-driven agent continuations","Human-in-the-loop approvals via your backend"]},"skipIf":"You already design and operate production API integrations.","build":"Small agent: user question → LLM selects API → HTTP request → tool result → LLM → final answer.","next":["llm-providers","tool-calling"],"prerequisite":["python-fundamentals","async-python"]}],"updatedAt":"2026-10-15T08:36:14.398Z"}