James Ward

Developer Advocate for AWS

Professional software developer since 1997, with much of that time spent helping developers build software that doesn't suck. A Typed Pure Functional Programming zealot who often compromises on his ideals to just get stuff done. Currently a Developer Advocate for AWS and AAIF Technical Committee member.

Presentations

Hands-On Workshop: Building Agents with Spring AI, MCP, Java, and Amazon Bedrock

1:00 PM MDT

In this hands-on workshop you will learn how to build & deploy production-ready AI Agents. You will use Spring AI, MCP, Java, and Amazon Bedrock and learn how to deal with production concerns like observability and security. We will start with basic prompting then expand with chat memory, RAG, and integration through MCP. You will be provided a provisioned cloud environment and step-by-step instructions.

Bring your laptop, walk away with the skills to build your own AI Agents with Java.

Hands-On Workshop: Building Agents with Spring AI, MCP, Java, and Amazon Bedrock

3:00 PM MDT

In this hands-on workshop you will learn how to build & deploy production-ready AI Agents. You will use Spring AI, MCP, Java, and Amazon Bedrock and learn how to deal with production concerns like observability and security. We will start with basic prompting then expand with chat memory, RAG, and integration through MCP. You will be provided a provisioned cloud environment and step-by-step instructions.

Bring your laptop, walk away with the skills to build your own AI Agents with Java.

Deep dive into Model Context Protocol (MCP)

5:00 PM MDT

The Model Context Protocol (MCP) standardizes how AI agents connect to external data and tools.

Moving beyond local experiments, this talk explores advanced MCP architectures: local vs. remote server deployments, advanced human-in-the-loop features, and hosting and scaling strategies for remote MCP servers. With Java code we will walk through MCP features, highlighting how to use them in AI agents.

Books

Effect Oriented Programming

by James Ward, Bruce Eckel, Bill Frasure

Effects are the unpredictable elements in your programs.

Concerns like network communication or user interaction might seem easy, but they are devilishly difficult to get right. The pristine world of algorithms devolves into the gory reality of failures and inconsistency.

Traditionally, we've coped with Effects incompletely and often unwittingly. Programs have been difficult to build, adapt, and maintain.

Discover a groundbreaking approach to software development using Effect Systems to control the unpredictable elements in your systems. We focus on practical techniques you can apply immediately, making complex concepts accessible to all developers. You'll learn resilient system development in a straightforward, pragmatic way, using simplified code examples and clear explanatory prose.