loader from loading.io

SE Radio 682: Duncan McGregor and Nat Pryce on Refactoring from Java to Kotlin

Software Engineering Radio - the podcast for professional software developers

Release Date: 08/20/2025

SE Radio 684: Dan Bergh Johnsson and Daniel Deogun on Secure By Design show art SE Radio 684: Dan Bergh Johnsson and Daniel Deogun on Secure By Design

Software Engineering Radio - the podcast for professional software developers

Daniel Deogun and Dan Bergh Johnsson -- two of the co-authors of the book, Secure by Design -- discuss the intersection of good software design and security with host Sam Taggart. They describe how following certain software design principles can help developers create secure software without needing to become security experts. They talked about how this is the continuation of developers taking on more responsibilities: Agile asked developers to become responsible for testing their code. DevOps asked developers to work together with operations in deploying their code. Secure by Design asks...

info_outline
SE Radio 683: Artie Shevchenko on Programmers as Code Health Guardians show art SE Radio 683: Artie Shevchenko on Programmers as Code Health Guardians

Software Engineering Radio - the podcast for professional software developers

Artie Shevchenko, author of Code Health Guardian, speaks with host Jeff Doolittle about the crucial role of human programmers in the AI era, emphasizing that humans must excel at managing code complexity. Shevchenko discusses these concepts and key takeaways from his book, including the three problems caused by complexity: change amplification, cognitive load, and the most severe, unknown unknowns. He suggests that maintaining code health should be viewed pragmatically as a productivity question, requiring an ownership mentality and product focus to balance short-term delivery with long-term...

info_outline
SE Radio 682: Duncan McGregor and Nat Pryce on Refactoring from Java to Kotlin show art SE Radio 682: Duncan McGregor and Nat Pryce on Refactoring from Java to Kotlin

Software Engineering Radio - the podcast for professional software developers

Duncan McGregor and Nat Pryce, co-authors of Java to Kotlin: Refactoring Guidebook, speak with host about their hands-on experiences migrating Java codebases. The episode starts by highlighting Kotlin’s seamless interoperability with Java, allowing teams to incrementally adopt Kotlin without disrupting existing Java code. Duncan and Nat then describe some of the benefits of using Kotlin — including stronger type safety, non-nullable types, and better support for immutability — and some of the gotchas when refactoring from Java to Kotlin due to the different idioms supported by the two...

info_outline
SE Radio 681: Qian Li on DBOS Durable Execution/Serverless Computing Platform show art SE Radio 681: Qian Li on DBOS Durable Execution/Serverless Computing Platform

Software Engineering Radio - the podcast for professional software developers

Qian Li of DBOS, a durable execution platform born from research by the creators of Postgres and Spark, speaks with host Kanchan Shringi about building durable, observable, and scalable software systems, and why that matters for modern applications. They discuss database-backed program state, workflow orchestration, real-world AI use cases, and comparisons with other workflow technologies. Li explains how DBOS persists not just application data but also program execution state in Postgres to enable automatic recovery and exactly-once execution. She outlines how DBOS uses workflow and step...

info_outline
SE Radio 680: Luke Hinds on Privacy and Security of AI Coding Assistants show art SE Radio 680: Luke Hinds on Privacy and Security of AI Coding Assistants

Software Engineering Radio - the podcast for professional software developers

Luke Hinds, CTO of Stacklok and creator of Sigstore, speaks with SE Radio's Brijesh Ammanath about the privacy and security concerns of using AI coding agents. They discuss how the increased use of AI coding assistants has improved programmer productivity but has also introduced certain key risks. In the area of secrets management, for example, there is the risk of secrets being passed to LLMs. Coding assistants can also introduce dependency-management risks that can be exploited by malicious actors. Luke recommends several tools and behaviors that programmers can adopt to ensure that...

info_outline
SE Radio 679: Wesley Beary on API Design show art SE Radio 679: Wesley Beary on API Design

Software Engineering Radio - the podcast for professional software developers

Wesley Beary of Anchor speaks with host Sam Taggart about designing APIs with a particular emphasis on user experience. Wesley discusses what it means to be an “API connoisseur”— paying attention to what makes the APIs we consume enjoyable or frustrating and then taking those lessons and using them when we design our own APIs. Wesley and Sam also explore the many challenges developers face when designing APIs, such as coming up with good abstractions, testing, getting user feedback, documentation, security, and versioning. They address both CLI and web APIs. This episode is sponsored by ...

info_outline
SE Radio 678: Chris Love on Kubernetes Security show art SE Radio 678: Chris Love on Kubernetes Security

Software Engineering Radio - the podcast for professional software developers

Chris Love, co-author of the book , joins host for a conversation about kubernetes security. Chris identifies the node layer, secrets management, the network layer, contains, and pods as the most critical areas to be addressed. The conversation explores a range of topics, including when to accept defaults and when to override; differences between self-managed clusters and cloud-service provider-managed clusters; and what can go wrong at each layer -- and how to address these issues. They further discuss managing the node layer; network security best practices; kubernetes secrets and...

info_outline
SE Radio 677: Jacob Visovatti and Conner Goodrum on Testing ML Models for Enterprise Products show art SE Radio 677: Jacob Visovatti and Conner Goodrum on Testing ML Models for Enterprise Products

Software Engineering Radio - the podcast for professional software developers

Jacob Visovatti and Conner Goodrum of Deepgram speak with host Kanchan Shringi about testing ML models for enterprise use and why it's critical for product reliability and quality. They discuss the challenges of testing machine learning models in enterprise environments, especially in foundational AI contexts. The conversation particularly highlights the differences in testing needs between companies that build ML models from scratch and those that rely on existing infrastructure. Jacob and Conner describe how testing is more complex in ML systems due to unstructured inputs, varied data...

info_outline
SE Radio 676: Samuel Colvin on the Pydantic Ecosystem show art SE Radio 676: Samuel Colvin on the Pydantic Ecosystem

Software Engineering Radio - the podcast for professional software developers

Samuel Colvin, the CEO and founder of Pydantic, speaks with host about the ecosystem of Pydantic’s Python frameworks, including Pydantic, Pydantic AI, and Pydantic Logfire. Along with discussing the design, implementation, and use of these frameworks, they dive into the refactoring of Pydantic and the follow-on performance improvements. They also explore ways in which Python programmers can use these three frameworks to build, test, evaluate, and monitor their own applications that interact with both local and cloud-based large language models. Brought to you by  and .

info_outline
SE Radio 675: Brian Demers on Observability into the Toolchain show art SE Radio 675: Brian Demers on Observability into the Toolchain

Software Engineering Radio - the podcast for professional software developers

Brian Demers, Developer Advocate at Gradle, speaks with host about the importance of having observability in the toolchain. Such information about build times, compiler warnings, test executions, and any other system used to build the production code can help to reduce defects, increase productivity, and improve the developer experience. During the conversation they touch upon what is possible with today’s tools; the impact on productivity and developer experience; and the impact, both in terms of risks and opportunities, introduced by the use of artificial intelligence. Brought to you...

info_outline
 
More Episodes

Duncan McGregor and Nat Pryce, co-authors of Java to Kotlin: Refactoring Guidebook, speak with host Giovanni Asproni about their hands-on experiences migrating Java codebases. The episode starts by highlighting Kotlin’s seamless interoperability with Java, allowing teams to incrementally adopt Kotlin without disrupting existing Java code.

Duncan and Nat then describe some of the benefits of using Kotlin — including stronger type safety, non-nullable types, and better support for immutability — and some of the gotchas when refactoring from Java to Kotlin due to the different idioms supported by the two languages. Finally, they discuss the importance of testing and tooling, and the evolving role of AI-assisted tools in complex and large-scale refactorings — in the context of work done by teams, as opposed to individuals.

This episode is sponsored by Monday Dev