Software Engineer, Agent Skip to content Products AI Cloud AI Gateway One endpoint, all your models Sandbox Isolated, safe code execution Vercel Agent An agent that knows your stack AI SDK The AI Toolkit for TypeScript v0 Build applications with AI Core Platform CI/CD Helping teams ship 6× faster Content Delivery Fast, scalable, and reliable Fluid Compute Servers, in serverless form Workflow Long-running workflows at scale Observability Trace every step Security Bot Management Scalable bot protection BotID Invisible CAPTCHA Platform Security DDoS Protection, Firewall Web Application Firewall Granular, custom protection Resources Company Customers Trusted by the best teams Blog The latest posts and changes Changelog See what shipped Press Read the latest news Events Join us at an event Learn Docs Vercel documentation Academy Linear courses to level up Knowledge Base Find help quickly Community Join the conversation Open Source Next.js The native Next.js platform Nuxt The progressive web framework Svelte The web’s efficient UI framework Turborepo Speed with Enterprise scale Solutions Use Cases AI Apps Deploy at the speed of AI Composable Commerce Power storefronts that convert Marketing Sites Launch campaigns fast Multi-tenant Platforms Scale apps with one codebase Web Apps Ship features, not infrastructure Tools Marketplace Extend and automate workflows Templates Jumpstart app development Partner Finder Get help from solution partners Users Platform Engineers Automate away repetition Design Engineers Deploy for every idea Enterprise Pricing Ask AI Ask AI Log In Sign Up Sign Up Dashboard Engineering San Francisco Full Time Software Engineer, Agent Careers / Engineering Engineering San Francisco Full Time About Vercel: Vercel is the agentic infrastructure company. We free people and agents to ship what’s next. For more than a decade, Vercel has shaped how the web is built. As
the team behind Next.js, v0, and AI SDK, we create products that help builders move from idea to production with speed, security, and exceptional developer experience. Now, software is entering a new era, and the next generation of products will not just be used by people. They will be built, extended, and operated by agents. We are building the platform for that future, trusted by companies like OpenAI, PayPal, Ramp, Supreme, and millions of developers worldwide . Whether you’re building our products, supporting our customers, growing our community, or shaping our story, you’ll help define what comes next.
About
the role: We’re looking for a Software Engineer to join the Vercel Agent team. Our mission is simple: deploying on Vercel should feel like adding a seasoned infrastructure engineer to your team. The Vercel Agent investigates incidents before you see them, fixes failing builds, reviews code with deep production context, and answers questions about your running app with the authority of someone who has read the logs. Today, this work spans multiple shipped products: automated code review on every PR, AI - driven investigation of production anomalies, an intelligent support agent that resolves the majority of customer issues without human intervention, and conversational code generation . We’re now unifying these into a single agent that appears pervasively across surfaces (like the Vercel dashboard, Vercel CLI, Slack, and many more), and is capable of multi-step reasoning, code execution in sandboxed environments, and taking real actions on your behalf. Two things we’re most excited about: self-driving infrastructure , where 90% of what requires manual DevOps today gets handled automatically by the platform ; and framework-defined agents , where the agent is customized to each customer’s application, injecting the right skills when they’re needed rather than dumping generic best practices. This is a small team with an outsized mandate. You’ll work directly with leadership and across product, design , and infrastructure teams to define what self-driving infrastructure looks like — then build it. If you’re based within a pre-determined commuting distance of one of our offices (SF, NY, London, or Berlin),
the role includes in-office anchor days on Monday, Tuesday, and Friday, even if
the role is listed as remote. For location-specific details, please connect with our recruiting team. What you will do: Design and build agentic systems that autonomously investigate, diagnose, and remediate production issues — from 500 errors and build failures to performance regressions and security anomalies. Architect multi-step agent workflows that coordinate across tools, APIs , and sandboxed code execution environments, with durable state that survives crashes and timeouts. Build the skills and tool integrations that give the agent deep knowledge of the Vercel platform , such as deployments, functions, logs, metrics, DNS, and the full lifecycle of a web application. Ship polished, user - facing experiences across multiple surfaces (Slack, dashboard, CLI) without waiting for a designer to hand you a mockup. This team values engineers with strong product and UI instincts. Develop the infrastructure for dynamic skill injection, so the agent acquires new capabilities at runtime rather than through redeployment, routing the right logic to the right context at the right time. Collaborate with other engineers on prompt engineering, model evaluation, and retrieval-augmented generation (RAG) pipelines that ground the agent in accurate, up-to-date knowledge. About you: 7+ years of full-time software engineering experience, with strong TypeScript proficiency. Engineers with deep Python experience who are excited to work in TypeScript are also a great fit. A track record of openness and adaptability: you’ve shifted into new technologies, new domains, or new roles and thrived. This space is changing faster than anyone can claim expertise; we want people who learn and adapt, not people who play expert. Strong product and UI sensibility. You care about the details of how an AI interaction feels to a user , and you can build great experiences without waiting for a designer. Full-stack capability with an understanding of infrastructure , CI/CD, observability, and how large-scale web applications operate. The agent needs to reason about the same systems our customers use every day, you should too. Experience building or contributing to frameworks, platforms, or reusable abstractions, not just feature work. You know when to build a primitive versus ship a one-off. Demonstrated ability to ship independently, influence architecture, and set direction on a small, high-impact team. Excellent communication skills, with an ability to translate technical detail into actionable insight for both engineering and partner teams.
Bonus if you: Have experience building agentic systems , AI tooling, or automation frameworks, and especially agents in production. You understand the difference between a demo and a system that works reliably at scale. Are familiar with LLM APIs (Anthropic, OpenAI, etc.), prompt engineering, or retrieval-augmented generation (RAG). Have worked with Vercel, Next.js , or the modern web deployment ecosystem. Have experience with sandboxed execution environments, container orchestration, or secure multi-tenant systems .
Benefits: Competitive
compensation package, including equity. Inclusive Healthcare Package. Learn and Grow - we provide mentorship and send you to events that help you build your network and skills. Flexible Time Off. We will provide you the gear you need to do your role, and a WFH budget for you to outfit your space as needed. The San Francisco, CA base pay range for this role is $232,000 - $348,000 (Staff level IC and above). Actual salary will be based on job-related skills, level/experience, and location.
Compensation outside of San Francisco may be adjusted based on employee location. The total
compensation package may include
benefits, equity-based
compensation, and eligibility for a company
bonus or variable pay program depending on
the role. Your recruiter can share more details during the hiring process. Vercel is committed to fostering and empowering an inclusive community within our organization. We do not discriminate on the basis of race, religion, color, gender expression or identity, sexual orientation, national origin, citizenship, age, marital status, veteran status, disability status, or any other characteristic protected by law. Vercel encourages everyone to apply for our available positions, even if they don’t necessarily check every box on the job description. Apply for Role Apply Now. Tell us why you’d be a good fit for the Software Engineer, Agent role. First Name input]:h-10 text-sm [&>input]:px-3 has-[:focus]:!shadow-[0_0_0_1px_var(--ds-gray-alpha-600),0px_0px_0px_4px_rgba(0,0,0,0.16)] dark-theme:has-[:focus]:!shadow-[0_0_0_1px_var(--ds-gray-alpha-600),0px_0px_0px_4px_rgba(255,255,255,0.24)] hover:shadow-[0_0_0_1px_var(--ds-gray-alpha-500)] hover:[&:has(input:disabled)]:shadow-[0_0_0_1px_var(--ds-gray-alpha-400)] hover:[&:has(textarea:disabled)]:shadow-[0_0_0_1px_var(--ds-gray-alpha-400)]" data-geist-input-wrapper="" data-version="v1" style="width:100%;--geist-icon-size:16px"> Last Name input]:h-10 text-sm [&>input]:px-3 has-[:focus]:!shadow-[0_0_0_1px_var(--ds-gray-alpha-600),0px_0px_0px_4px_rgba(0,0,0,0.16)] dark-theme:has-[:focus]:!shadow-[0_0_0_1px_var(--ds-gray-alpha-600),0px_0px_0px_4px_rgba(255,255,255,0.24)] hover:shadow-[0_0_0_1px_var(--ds-gray-alpha-500)] hover:[&:has(input:disabled)]:shadow-[0_0_0_1px_var(--ds-gray-alpha-400)] hover:[&:has(textarea:disabled)]:shadow-[0_0_0_1px_var(--ds-gray-alpha-400)]" data-geist-input-wrapper="" data-version="v1" style="width:100%;--geist-icon-size:16px"> Preferred First Name input]:h-10 text-sm [&>input]:px-3 has-[:focus]:!shadow-[0_0_0_1px_var(--ds-gray-alpha-600),0px_0px_0px_4px_rgba(0,0,0,0.16)] dark-theme:has-[:focus]:!shadow-[0_0_0_1px_var(--ds-gray-alpha-600),0px_0px_0px_4px_rgba(255,255,255,0.24)] hover:shadow-[0_0_0_1px_var(--ds-gray-alpha-500)] hover:[&:has(input:disabled)]:shadow-[0_0_0_1px_var(--ds-gray-alpha-400)] hover:[&:has(textarea:disabled)]:shadow-[0_0_0_1px_var(--ds-gray-alpha-400)]" data-geist-input-wrapper="" data-version="v1" style="width:100%;--geist-icon-size:16px"> Email Address input]:h-10 text-sm [&>input]:px-3 has-[:focus]:!shadow-[0_0_0_1px_var(--ds-gray-alpha-600),0px_0px_0px_4px_rgba(0,0,0,0.16)] dark-theme:has-[:focus]:!shadow-[0_0_0_1px_var(--ds-gray-alpha-600),0px_0px_0px_4px_rgba(255,255,255,0.24)] hover:shadow-[0_0_0_1px_var(--ds-gray-alpha-500)] hover:[&:has(input:disabled)]:shadow-[0_0_0_1px_var(--ds-gray-alpha-400)] hover:[&:has(textarea:disabled)]:shadow-[0_0_0_1px_var(--ds-gray-alpha-400)]" data-geist-input-wrapper="" data-version="v1" style="width:100%;--geist-icon-size:16px"> Phone Number International Afghanistan Åland Islands Albania Algeria American Samoa Andorra Angola Anguilla Antigua and Barbuda Argentina Armenia Aruba Ascension Island Australia Austria Azerbaijan Bahamas Bahrain Bangladesh Barbados Belarus Belgium Belize Benin Bermuda Bhutan Bolivia Bonaire, Sint Eustatius and Saba Bosnia and Herzegovina Botswana Brazil British Indian Ocean Territory Brunei Darussalam Bulgaria Burkina Faso Burundi Cambodia Cameroon Canada Cape Verde Cayman Islands Central African Republic Chad Chile China Christmas Island Cocos (Keeling) Islands Colombia Comoros Congo Congo, Democratic Republic of the Cook Islands Costa Rica Cote d'Ivoire Croatia Cuba Curaçao Cyprus Czech Republic Denmark Djibouti Dominica Dominican Republic Ecuador Egypt El Salvador Equatorial Guinea Eritrea Estonia Ethiopia Falkland Islands Faroe Islands Federated States of Micronesia Fiji Finland France French Guiana French Polynesia Gabon Gambia Georgia Germany Ghana Gibraltar Greece Greenland Grenada Guadeloupe Guam Guatemala Guernsey Guinea Guinea-Bissau Guyana Haiti Holy See (Vatican City State) Honduras Hong Kong Hungary Iceland India Indonesia Iran Iraq Ireland Isle of Man Israel Italy Jamaica Japan Jersey Jordan Kazakhstan Kenya Kiribati Kosovo Kuwait Kyrgyzstan Laos Latvia Lebanon Lesotho Liberia Libya Liechtenstein Lithuania Luxembourg Macao Madagascar Malawi Malaysia Maldives Mali Malta Marshall Islands Martinique Mauritania Mauritius Mayotte Mexico Moldova Monaco Mongolia Montenegro Montserrat Morocco Mozambique Myanmar Namibia Nauru Nepal Netherlands New Caledonia New Zealand Nicaragua Niger Nigeria Niue Norfolk Island North Korea North Macedonia Northern Mariana Islands Norway Oman Pakistan Palau Palestine Panama Papua New Guinea Paraguay Peru Philippines Poland Portugal Puerto Rico Qatar Reunion Romania Russia Rwanda Saint Barthélemy Saint Helena Saint Kitts and Nevis Saint Lucia Saint Martin (French Part) Saint Pierre and Miquelon Saint Vincent and the Grenadines Samoa San Marino Sao Tome and Principe Saudi Arabia Senegal Serbia Seychelles Sierra Leone Singapore Sint Maarten Slovakia Slovenia Solomon Islands Somalia South Africa South Korea South Sudan Spain Sri Lanka Sudan Suriname Svalbard and Jan Mayen Swaziland Sweden Switzerland Syria Taiwan Tajikistan Tanzania Thailand Timor-Leste Togo Tokelau Tonga Trinidad and Tobago Tristan da Cunha Tunisia Turkey Turkmenistan Turks and Caicos Islands Tuvalu Uganda Ukraine United Arab Emirates United Kingdom United States Uruguay Uzbekistan Vanuatu Venezuela Vietnam Virgin Islands, British Virgin Islands, U.S. Wallis and Futuna Western Sahara Yemen Zambia Zimbabwe Resume Upload your resume Resume should be a PDF under 3.5MB. Are you currently based in any of these countries? Please note these are the only countries where we are accepting applications United States Germany United Kingdom Argentina Australia Canada India Japan Other Will you require Visa Sponsorship now, or in the future? Yes No Your authorization to work in the country where you live. Please choose the option that describes your work authorization. I am authorized to work in the country due to my nationality I am authorized to work in the country based on a valid work permit and do not need a company to sponsor my visa I am authorized to work in the country based on a valid work permit which needs to be sponsored by the company I work for I am not authorized to work in the country and need visa support Other Do you live in one of the following states? Alabama, Alaska, Delaware, Kansas, Maine, Mississippi, Montana, Nebraska, New Mexico, North Dakota, South Dakota, West Virginia, or Wyoming. Yes No By submitting my application, I acknowledge that I have read and understand Vercel’s Job Applicant Privacy Notice Acknowledge/Confirm Please double-check all the information provided above. Ensuring accuracy is crucial, as any errors or omissions may impact the review of your application. I have reviewed and confirmed that all the information provided is accurate and complete. Where did you first hear about this role? Events Built In LinkedIn Google Search Advertisements Other job boards LLMs (ChatGPT, etc.) I'm a Vercel customer Referral from a Vercel customer Referral from a Vercel team member Social media (X, Instagram, YouTube, etc.) Other Content (news articles, podcasts, blogs) Developer communities (GitHub, Hacker News, Reddit, etc.) Other Optionally, include links to your social media profiles. LinkedIn input]:h-10 text-sm [&>input]:px-3 has-[:focus]:!shadow-[0_0_0_1px_var(--ds-gray-alpha-600),0px_0px_0px_4px_rgba(0,0,0,0.16)] dark-theme:has-[:focus]:!shadow-[0_0_0_1px_var(--ds-gray-alpha-600),0px_0px_0px_4px_rgba(255,255,255,0.24)] hover:shadow-[0_0_0_1px_var(--ds-gray-alpha-500)] hover:[&:has(input:disabled)]:shadow-[0_0_0_1px_var(--ds-gray-alpha-400)] hover:[&:has(textarea:disabled)]:shadow-[0_0_0_1px_var(--ds-gray-alpha-400)] [&>:nth-child(2)]:border-r [&>:nth-child(2)]:border-[var(--ds-gray-alpha-400)] [&>:nth-child(2)]:shrink-0 [&>:nth-child(2)]:relative [&>:nth-child(2)]:text-[var(--ds-gray-700)] [&>:nth-child(2)]:px-3 [&>:nth-child(2)]:py-0 [&>:nth-child(2)]:flex [&>:nth-child(2)]:items-center [&>:nth-child(2)]:order-0 [&>:nth-child(2)]:bg-[var(--ds-background-200)] [&>:first-child:not([disabled])]:text-[var(--themed-fg)] [&>input]:rounded-tl-none [&>input]:rounded-bl-none" data-geist-input-wrapper="" data-version="v1" style="width:100%;--geist-icon-size:16px"> linkedin.com/in/ X (Twitter) input]:h-10 text-sm [&>input]:px-3 has-[:focus]:!shadow-[0_0_0_1px_var(--ds-gray-alpha-600),0px_0px_0px_4px_rgba(0,0,0,0.16)] dark-theme:has-[:focus]:!shadow-[0_0_0_1px_var(--ds-gray-alpha-600),0px_0px_0px_4px_rgba(255,255,255,0.24)] hover:shadow-[0_0_0_1px_var(--ds-gray-alpha-500)] hover:[&:has(input:disabled)]:shadow-[0_0_0_1px_var(--ds-gray-alpha-400)] hover:[&:has(textarea:disabled)]:shadow-[0_0_0_1px_var(--ds-gray-alpha-400)] [&>:nth-child(2)]:border-r [&>:nth-child(2)]:border-[var(--ds-gray-alpha-400)] [&>:nth-child(2)]:shrink-0 [&>:nth-child(2)]:relative [&>:nth-child(2)]:text-[var(--ds-gray-700)] [&>:nth-child(2)]:px-3 [&>:nth-child(2)]:py-0 [&>:nth-child(2)]:flex [&>:nth-child(2)]:items-center [&>:nth-child(2)]:order-0 [&>:nth-child(2)]:bg-[var(--ds-background-200)] [&>:first-child:not([disabled])]:text-[var(--themed-fg)] [&>input]:rounded-tl-none [&>input]:rounded-bl-none" data-geist-input-wrapper="" data-version="v1" style="width:100%;--geist-icon-size:16px"> x.com/ GitHub input]:h-10 text-sm [&>input]:px-3 has-[:focus]:!shadow-[0_0_0_1px_var(--ds-gray-alpha-600),0px_0px_0px_4px_rgba(0,0,0,0.16)] dark-theme:has-[:focus]:!shadow-[0_0_0_1px_var(--ds-gray-alpha-600),0px_0px_0px_4px_rgba(255,255,255,0.24)] hover:shadow-[0_0_0_1px_var(--ds-gray-alpha-500)] hover:[&:has(input:disabled)]:shadow-[0_0_0_1px_var(--ds-gray-alpha-400)] hover:[&:has(textarea:disabled)]:shadow-[0_0_0_1px_var(--ds-gray-alpha-400)] [&>:nth-child(2)]:border-r [&>:nth-child(2)]:border-[var(--ds-gray-alpha-400)] [&>:nth-child(2)]:shrink-0 [&>:nth-child(2)]:relative [&>:nth-child(2)]:text-[var(--ds-gray-700)] [&>:nth-child(2)]:px-3 [&>:nth-child(2)]:py-0 [&>:nth-child(2)]:flex [&>:nth-child(2)]:items-center [&>:nth-child(2)]:order-0 [&>:nth-child(2)]:bg-[var(--ds-background-200)] [&>:first-child:not([disabled])]:text-[var(--themed-fg)] [&>input]:rounded-tl-none [&>input]:rounded-bl-none" data-geist-input-wrapper="" data-version="v1" style="width:100%;--geist-icon-size:16px"> github.com/ Portfolio input]:h-10 text-sm [&>input]:px-3 has-[:focus]:!shadow-[0_0_0_1px_var(--ds-gray-alpha-600),0px_0px_0px_4px_rgba(0,0,0,0.16)] dark-theme:has-[:focus]:!shadow-[0_0_0_1px_var(--ds-gray-alpha-600),0px_0px_0px_4px_rgba(255,255,255,0.24)] hover:shadow-[0_0_0_1px_var(--ds-gray-alpha-500)] hover:[&:has(input:disabled)]:shadow-[0_0_0_1px_var(--ds-gray-alpha-400)] hover:[&:has(textarea:disabled)]:shadow-[0_0_0_1px_var(--ds-gray-alpha-400)] [&>:nth-child(2)]:border-r [&>:nth-child(2)]:border-[var(--ds-gray-alpha-400)] [&>:nth-child(2)]:shrink-0 [&>:nth-child(2)]:relative [&>:nth-child(2)]:text-[var(--ds-gray-700)] [&>:nth-child(2)]:px-3 [&>:nth-child(2)]:py-0 [&>:nth-child(2)]:flex [&>:nth-child(2)]:items-center [&>:nth-child(2)]:order-0 [&>:nth-child(2)]:bg-[var(--ds-background-200)] [&>:first-child:not([disabled])]:text-[var(--themed-fg)] [&>input]:rounded-tl-none [&>input]:rounded-bl-none" data-geist-input-wrapper="" data-version="v1" style="width:100%;--geist-icon-size:16px"> https:// Submit Application Get Started Templates Supported frameworks Marketplace Domains Build Next.js on Vercel Turborepo v0 Scale Content delivery network Fluid compute CI/CD Observability AI Gateway New Vercel Agent New Secure Platform security Web Application Firewall Bot management BotID Sandbox New Resources Pricing Customers Enterprise Articles Startups Solution partners Learn Docs Blog Changelog Knowledge Base Academy Community Frameworks Next.js Nuxt Svelte Nitro Turbo SDKs AI SDK Workflow SDK New Flags SDK Chat SDK Streamdown AI New Use Cases Composable commerce Multi-tenant platforms Web apps Marketing sites Platform engineers Design engineers Company About Careers Help Press Legal Privacy Policy Community Open source program Events Shipped on Vercel GitHub LinkedIn X YouTube Loading status… Select a display theme: system light dark Products AI Gateway One endpoint, all your models Sandbox Isolated, safe code execution Vercel Agent An agent that knows your stack AI SDK The AI Toolkit for TypeScript v0 Build applications with AI CI/CD Helping teams ship 6× faster Content Delivery Fast, scalable, and reliable Fluid Compute Servers, in serverless form Workflow Long-running workflows at scale Observability Trace every step Bot Management Scalable bot protection BotID Invisible CAPTCHA Platform Security DDoS Protection, Firewall Web Application Firewall Granular, custom protection Resources Customers Trusted by the best teams Blog The latest posts and changes Changelog See what shipped Press Read the latest news Events Join us at an event Docs Vercel documentation Academy Linear courses to level up Knowledge Base Find help quickly Community Join the conversation Next.js The native Next.js platform Nuxt The progressive web framework Svelte The web’s efficient UI framework Turborepo Speed with Enterprise scale Solutions AI Apps Deploy at the speed of AI Composable Commerce Power storefronts that convert Marketing Sites Launch campaigns fast Multi-tenant Platforms Scale apps with one codebase Web Apps Ship features, not infrastructure Marketplace Extend and automate workflows Templates Jumpstart app development Partner Finder Get help from solution partners Platform Engineers Automate away repetition Design Engineers Deploy for every idea
Location
San Francisco, CA
Total raised
$863.0M
Last stage
Series F
Investors
No applications, no recruiter spam. Just the intro.
A few questions to make sure this role is the right shape for you. Two minutes.
I write the intro, send it to the founder, and handle the back-and-forth.
If they’re a yes, I book the chat. You show up — that’s the whole job-hunt.