
Software Engineering Radio - the podcast for professional software developers SE Radio 702: Derick Schaefer on Modern CLIs
6 snips
Jan 7, 2026 Derick Schaefer, a seasoned software engineering leader and author of 'CLI: A Practical Guide to Creating Modern Command-Line Interfaces,' shares insights on the evolution of command-line interfaces. He discusses the history from Unix systems to their modern resurgence in tools like Git and WordPress. Schaefer highlights the importance of the object-command pattern, API-first architecture, and the need for robust documentation for LLMs. He also covers implications of statefulness, credential handling, and user-friendly output formats, painting a vivid picture of the future of CLIs.
AI Snips
Chapters
Books
Transcript
Episode notes
Design CLIs For Personas, Not Just APIs
- Design your CLI around the persona and purpose rather than blindly mirroring your API structure.
- Choose behaviors and performance characteristics that best serve the CLI's users and workloads.
Make Long-Running Tasks Resilient
- For long-running local workloads, split work across cores, manage memory carefully, and implement checkpoints and retries.
- Shorten jobs where possible and provide recovery points to avoid losing progress on interruptions.
Languages Shaping Modern CLIs
- Implementation languages vary: C/C++ remain common, but Go and Rust are rising for their small runtimes and system-level power.
- Languages with light runtimes and robust concurrency (Go, Rust) suit modern cross-platform CLIs well.

