Job Description
At IBM Software, we turn client challenges into solutions, building the world's leading AI-powered, cloud-native products that shape the future of business and society. Our legacy of innovation creates endless opportunities for IBMers to learn, grow, and make an impact on a global scale. Working in Software means joining a team fueled by curiosity and collaboration. You'll work with diverse technologies, partners, and industries to design, develop, and deliver solutions that power digital transformation. With a culture that values innovation, growth, and continuous learning, IBM Software places you at the heart of IBM's product and technology landscape. Here, you'll have the tools and opportunities to advance your career while creating software that changes the world.
We are looking for Software Developer Interns to join our engineering team, where we build technology to help developers understand, evaluate, optimize, and operate AI agents at scale. As an intern, you will work alongside experienced IBM engineers on systems that support the development and operation of agentic AI applications, including observability, evaluation, benchmarking, optimization, and automation. You may contribute to SDKs, APIs, distributed services, developer tooling, or user experiences used to analyze and improve AI agents. This role is designed for students passionate about software engineering and interested in the rapidly evolving intersection of AI, cloud infrastructure, and developer platforms. You do not need prior experience building AI agents. We are looking for strong software fundamentals, curiosity, and a willingness to learn. You will gain hands-on experience building production software, working with modern cloud-native technologies, and solving engineering problems associated with running AI systems in real-world environments.
What You'll Do
- Design, develop, test, and debug SDKs, APIs, backend services, developer tools, and user interfaces for AI applications.
- Build capabilities that help developers observe, evaluate, benchmark, debug, and optimize AI agents.
- Work with AI agents and large language models to analyze agent behavior, including tool usage, responses, execution traces, latency, quality, and cost.
- Develop services and APIs that collect and process telemetry and evaluation data from AI applications.
- Contribute to frameworks and SDKs that integrate with different agent runtimes, models, and AI development frameworks.
- Help build automated evaluation and testing systems for AI agents, including test-case generation, behavioral metrics, and performance benchmarking.
- Explore techniques for improving agent quality and efficiency through prompt optimization, model selection, tool optimization, and automated experimentation.
- Work across front-end, back-end, and infrastructure components depending on project needs.
- Use programming languages such as Python, Go, Java, JavaScript/TypeScript, C++, Rust, or others depending on the project.
- Work with cloud-native technologies such as Docker, Kubernetes, REST APIs, distributed services, and observability frameworks.
- Use Git, CI/CD systems, and modern software-development tools to build and deliver production-quality software.
- Participate in code reviews, technical design discussions, Agile development, and collaboration with engineers, researchers, product managers, and designers.
- Explore emerging technologies in agentic AI, LLM evaluation, observability, optimization, automation, and cloud-native AI infrastructure.
Program Dates
Internship start dates vary based on your academic calendar. Semester System: May 24, 2027 – August 13, 2027. Quarter System: June 14, 2027 – September 3, 2027. Candidates must be available to participate for the full duration of the internship corresponding to their academic schedule. By applying to this requisition, you acknowledge and agree to be considered for any of the listed locations associated with this position and are willing to work at the location where you are ultimately assigned.
Qualifications
- Transferable skills and experience from coursework, internships, research, personal projects, or open-source contributions are encouraged.
- Coursework or project experience in software development using at least one programming language.
- Familiarity with core computer science concepts such as data structures, algorithms, APIs, debugging, and software design.
- Experience building or contributing to software using technologies such as Python, Java, Go, JavaScript/TypeScript, C++, Rust, or similar languages.
- Experience using Git or another version-control system.
- Familiarity with front-end, back-end, distributed systems, or cloud application development.
- Interest in AI systems, large language models, AI agents, cloud computing, developer tooling, or distributed systems.
- Strong analytical thinking, problem-solving, and communication skills.
- Ability to collaborate effectively, learn new technologies quickly, and work in a fast-moving engineering environment.
- Experience experimenting with large language models, AI agents, or generative AI applications.
- Familiarity with agent or LLM development frameworks such as LangGraph, LangChain, LlamaIndex, or similar technologies.
- Exposure to concepts such as LLM evaluation, tracing, observability, benchmarking, prompt engineering, or model optimization.
- Experience developing REST APIs, backend services, or distributed applications.
- Familiarity with cloud platforms such as IBM Cloud, AWS, Azure, or GCP.
- Experience with Docker, Kubernetes, or other container and orchestration technologies.
- Familiarity with observability technologies such as OpenTelemetry, tracing, metrics, or logging systems.
- Experience with relational or NoSQL databases.
- Exposure to CI/CD pipelines and software automation.
- Personal, research, or open-source projects demonstrating creativity, technical curiosity, and initiative.