All programming is UI programming

July 31, 2022
Whethere you're building a mobile app, a CLI tool, a REST API, or an SDK, you're building a UI, and you should consider the user of your code.

These days it seems a lot of people believe that “UI programming” is a special skill that not everyone has.

If what they really mean is that “GUI programming” is a special skill, they might be right. I’ve certainly dabbled in various forms of GUI programming (mostly, but not excluslively, web-based).

“Okay, but who uses non-graphical UIs these days?” you may be thinking.

Well. You do. All the time :)

A UI is how your software interfaces with the user. Who’s the user?

Whoever uses the code.

If you’re building a REST API, then the request paths, and HTTP methods and status codes are the UI.

If you’re building an SDK, then the function names and argumenst are the UI.

If you’re building a CLI tool, then the CLI is the UI.

Each of these types of programming relies on a different set of UI-related skills, but the important thing is to remember that they are all UIs of a sort. And therefore, they all deserve keeping your user in mind, as you’re coding.

Share this

Related Content

How to learn REST: A resource guide

Adventures in DevOps 125: The Pull Request Paradox with Yishai Beeri

Yishai Beeri of LinearB discusses strategies to improve flow of PRs and code review with smarter tooling.

Stupid config trick: Passwords as URLs

How can we unambiguously represent a password safely for shell, YAML, JSON, etc, and also know if it needs to be unescaped?