James Ward

James Ward

Kotlin Product Manager @ Google

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 the Kotlin Product Manager at Google.

Spring + Kotlin = Modern + Reactive + Productive

The combination of Spring and Kotlin is a winning combo for building modern, reactive, and productive servers. This talk will walk through how Spring & Kotlin fit together with coroutines, R2DBC, Testcontainers, and Kotlin/JS for the web UI. Come for Kotlin, stay for the ASCII art!

This session is co-presented by Josh Long,
Spring Developer Advocate at VMware and James Ward, Kotlin Product Manager at Google.

Kotlin Multiplatform Conversions at Android Jetpack Scale

This is a case study of how we converted several Jetpack libraries to Kotlin Multiplatform as part of our ongoing experimentation with the multiplatform technology.

Kotlin Multiplatform makes it possible to convert existing JVM specific code to be multiplatform. Doing so is mostly straightforward, but requires extra design considerations, between common and platform specific code. Further, doing so with an established Android library used by millions of existing apps, and utilizing JVM specific APIs as part of its public interfaces brings a whole new set of unique challenges.

We'll discuss techniques we've adopted for refactoring platform specific code to common code, highlighting some of the features of Kotlin Multiplatform including expect/actuals and hierarchical project structures.

We'll also cover some pitfalls, including missing multiplatform libraries, dealing with binary and source compatibility, and handling hard dependencies on JVM-specific code in your public interfaces.

Prior knowledge of Kotlin and Kotlin Multiplatform are recommended.

This session is co-presented by Dustin Lam
Software Engineer at Google, and James Ward
Kotlin Product Manager at Google

Kotlin Mullets - Business in the Front, Party in the Back

Ever since we broke apart the front and back-end of our systems, we’ve longed to partially reunite them with a shared language. The benefits of code reuse and shared tooling are compelling but is this nirvana possible? In this session we will explore building both the front (mobile and web) and back-end of an application with a shared Kotlin codebase. You will learn how to setup the build, share code, and deploy the back-end as a serverless app.

James Ward

Kotlin Product Manager @ Google