Search for a command to run...

Timestamps are as accurate as they can be but may be slightly off. We encourage you to listen to the full context.
In this episode of the Stack Overflow podcast, host Ryan Donovan sits down with Jeffrey Van Gogh, Google's director of Android Developer Experience and Kotlin Foundation board member, to explore why Kotlin has become such a beloved language among developers. Van Gogh shares his journey from programming BASIC on Commodore 64s to helping shape one of today's most popular programming languages (00:48). The conversation dives deep into Kotlin's compelling features—from null safety that reduces crashes by 20% (04:23) to coroutines that simplify asynchronous programming (06:26). They also discuss Kotlin's evolution beyond Android into multiplatform development (16:24), Google's massive internal adoption with over 35 million lines of code (21:41), and why the language's "just try it" approach has won over even skeptical engineering leaders who converted after a single holiday weekend experiment (23:26).
Director of Engineering of Android Developer Experience at Google and board member of the Kotlin Foundation. He brings over 30 years of programming experience, starting with BASIC at age six, and has contributed to major projects including RxJava (through his work on rx.net).
Blog host and podcast host at Stack Overflow. He leads the Stack Overflow podcast, where he explores software development trends and technology innovations with industry experts.
Hesitant to introduce Kotlin in production? Begin by writing your tests in Kotlin. The concise syntax and descriptive function names (using backticks) make tests more readable and maintainable. (23:44) This low-risk approach lets you experience Kotlin's benefits while building confidence before transitioning production code.
JetBrains created Kotlin because they missed C# features like properties, async/await, and null safety in Java. Similarly, Google adopted it based on customer demand and internal developer feedback. (10:42) Transform your team's daily frustrations with existing tools into opportunities to evaluate and champion better alternatives.
Kotlin's seamless Java interop allows incremental adoption—write a single class in Kotlin while keeping the rest in Java. (23:57) When evaluating new technologies, prioritize solutions that integrate smoothly with existing systems rather than requiring complete rewrites.
Google validates Kotlin compiler changes against their 35+ million lines of internal Kotlin code before major releases. (21:58) Create robust feedback loops by using your own tools extensively—your internal usage becomes your most valuable testing ground for edge cases and performance issues.
Kotlin prevents null pointer exceptions through compile-time checking but provides "bang bang" (!!) operators when you need to override safety. (09:03) When designing systems or choosing tools, seek solutions that provide strong guardrails by default while maintaining flexibility for exceptional cases.