More Software Engineering Radio episodes

Derick Schaefer on Modern CLIs thumbnail

Derick Schaefer on Modern CLIs

Published 7 Jan 2026

Duration: 48:05

This podcast analyzes the evolution and design of modern Command Line Interfaces (CLIs), covering their history, philosophies, and applications in automation and concurrency.

Episode Description

Derick Schaefer, author of CLI: A Practical Guide to Creating Modern Command-Line Interfaces, talks with host Robert Blumen about command-line interfa...

Overview

The podcast explores the development and modernization of Command Line Interfaces (CLIs), tracing their origins from early teletype systems to their current relevance in software development. It examines key aspects that define a modern CLI, such as design philosophies inspired by the UNIX command model, object-based command structures, and integration with development tools. The discussion emphasizes the practical applications of CLIs in automation, data processing, and workflow management, while also addressing technical challenges like handling long-running tasks, memory optimization, and concurrency in languages such as Go and Rust.

The podcast also covers topics like CLI output formatting for both human and machine consumption, with a focus on the importance of JSON for interoperability. It introduces tools like Cobra and Pflag which aid in CLI development. Additional subjects include CLI security, authentication practices, documentation, and the potential of integrating AI with CLI tools. The conversation contrasts CLIs with web interfaces, highlighting the unique use cases for each, and underscores the importance of designing CLIs that are both user-friendly and technically robust.

Recent Episodes of Software Engineering Radio

16 Sept 2026 Milan Milanovic on the Laws of Software Engineering

"Explores key software engineering principles (like Conway's Law, Brooks' Law) and their impact on systems, teams, and decision-making, emphasizing context-dependent trade-offs, AI's role, and practical applications like measuring technical debt."

9 Sept 2026 Owen McGirr on Software Accessibility

"Accessibility in software development must be prioritized from the start, integrating inclusive design practices like multiple input methods, proper labeling, and user testing to benefit all users, not just those with disabilities."

3 Sept 2026 Sahil Walia on Apache Iceberg

"Apache Iceberg is a scalable, interoperable data framework that unifies OLTP and OLAP workloads, separates storage and compute, and enables efficient metadata-driven operations, governance, and cost savings across industries."

26 Aug 2026 Vivek Yadav on Regression Testing Microservices

"Explores microservices testing strategies, behavioral consistency in migrations, payment system challenges, regression testing, historical data validation, testable architecture, Spark's role, and AI-driven code changes, emphasizing data privacy and business insights."

13 Aug 2026 SE Radio 733: Max Corbridge on Securing AI Agents

"Explores AI agent security risks, focusing on prompt injection vulnerabilities, non-deterministic threats, and the need for dynamic monitoring and proactive defenses against evolving AI-specific attacks."

More Software Engineering Radio episodes