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

13 May 2026 SE Radio 720: Martin Dilger on Understanding Eventsourcing

Recommended: Useful Architectural Pattern.

Event sourcing is a system design approach that records changes as sequential events to ensure historical traceability, uses event modeling for aligning systems with human workflows, contrasts with CRUD architectures, and emphasizes slice-based design, event streams, and practical applications like legacy modernization and workflow simplification.

6 May 2026 Birol Yildiz on Building an Agentic AI SRE

AI agents in SRE leverage autonomous decision-making, agentic search, and lightweight architectures to replace static runbooks, balancing autonomy with reliability challenges, context management, and human oversight in dynamic environments.

29 Apr 2026 Will Sentance on JS Modernization

JavaScript's evolution from a 1995 scripting language to a performance-optimized modern tool balances innovation with backward compatibility through TC39's incremental updates, browser advancements, community-driven libraries, key features like async/await and symbols, engine optimizations, and a design philosophy prioritizing flexibility and user-driven standardization for large-scale frameworks.

23 Apr 2026 Eric Tschetter on Decoupling Observability

Recommended: Telemetry is important, avoiding vendor lockin is even more important.

Observability in microservices emphasizes decoupled architectures over traditional frameworks to address vendor lock-in, data interoperability, and scalability challenges, while balancing unstructured telemetry management, query language standardization, and cross-team collaboration.

15 Apr 2026 Martin Kleppmann Local-First Software

Local First Software combines local data storage with cloud collaboration to enable offline access, real-time editing, and seamless syncing via AutoMerge and CRDTs, prioritizing user control, privacy, and decentralized workflows with future focus on open standards and AI integration.

More Software Engineering Radio episodes