
Principal AI Engineer - Agentforce Platform
Role summary
We are seeking a Principal AI Engineer to build the Agentforce Platform, a developer experience platform for creating AI Agents. This role involves designing and implementing AgentScript, a new language and tooling for AI Agent development, bridging agent authoring tools and the runtime platform. You will architect and maintain the processing pipeline, build client-side tooling for IDE integrations, and synchronize language features across backend (Python) and client-side (TypeScript/JavaScript). The ideal candidate has 5+ years of software development experience with deep JavaScript/TypeScript and strong Python skills, along with proven experience in developer tooling and robust architecture design. Experience with Generative AI, LLMs, and compiler design is preferred.
## Description
We're seeking an AI Engineer to build the tooling and services that enable developers to write, test, and deploy AI Agents efficiently. You'll ship impactful developer experience platforms using advanced Generative AI to create a world-class Agent creation environment. We're data scientists, ML engineers, and software engineers passionate about building intelligent agents that drive customer success 24/7. We love to learn, teach, and collaborate
The Role
You'll be the technical bridge between agent authoring tools and the runtime platform. Design and build AgentScript—the language and tooling for efficient AI Agent development. Own the language translation pipeline and developer tools across IDEs, web editors, and compilation engines.
What You'll Do
- Architect and maintain the processing pipeline (compilers, interpreters, code generators) that transforms source code into executable Agent specifications
- Build client-side tooling for IntelliSense, code completion, validation, refactoring, and diagnostics
- Enable rapid iteration through reverse-engineering specs and integrating simulation/debugging APIs
- Synchronize language grammars, data models, and validation logic across backend (Python) and client-side (TypeScript/JavaScript)
- Collaborate with internal teams to ensure an intuitive, effective developer experience
- Design core libraries for validation, compilation, and language services
Required Skills
- 5+ years software development experience; BS/MS in CS, Software Engineering, or related STEM field
- Deep JavaScript/TypeScript expertise for client tooling and Language Server development; strong Python skills for compilers and backend
- Proven experience with developer tooling, editor integrations, or IDE extensions
- Track record designing robust, decoupled architecture
- Excellent communication and cross-team collaboration skills
- Strong problem-solving abilities
Preferred Skills
- Experience with conversational AI, LLMs, prompt engineering, or AI-enhanced developer productivity
- Knowledge of AI agents, declarative specification languages, or conversational AI
- Experience with simulation/debugging APIs and fast feedback loops
- Expertise in language Intermediate Representations (IRs) and cross-language synchronization
- Compiler pipeline mastery (lexing, parsing, semantic analysis), parser generators (ANTLR4, Tree-sitter), and DSL implementation
For roles in San Francisco and Los Angeles: Pursuant to the San Francisco Fair Chance Ordinance and the Los Angeles Fair Chance Initiative for Hiring, Salesforce will consider for employment qualified applicants with arrest and conviction records.
Sample Informatica interview questions
- 1
What are the key components and considerations in designing a low-latency cloud monitoring system?
system designmedium - 2
Decode Ways Determine the number of valid ways to decode a string of digits. Input: s = "10" Output: 1 Explanation: The string can only be decoded one single way, as the sequence '10' maps exclusively to the letter 'J'.
codingmedium - 3
Find the majority element in an array. Given an array of size n, find the majority element. The majority element is the element that appears more than ⌊n / 2⌋ times. You may assume that the majority element always exists in the array. Input: nums = [3, 2, 3] Output: 3 Explanation: The number 3 appears 2 times, which is strictly greater than n/2 (1.5).
codingmedium
Sign up for a personalized interview prep pack tailored to this role.