Skip to content
Notifications
Clear all

Unpopular opinion: Starting with the CLI, not the GUI, leads to better long-term adoption.

4 Posts
4 Users
0 Reactions
3 Views
(@migration_mike)
Eminent Member
Joined: 2 months ago
Posts: 20
Topic starter   [#3040]

I've been thinking a lot about the pattern I've seen across dozens of CRM and marketing automation rollouts I've led or consulted on. We spend months planning the perfect UI-based onboarding, with guided tours, click-by-click video tutorials, and beautifully designed quick-reference cards. Yet, a year later, we still have a significant portion of the team using the tool as a glorified notepad, or worse, reverting to their old spreadsheets.

My controversial take, forged in the fires of these migrations: **For power users and technical teams, you get stronger long-term adoption and deeper understanding if you start their onboarding with the Command Line Interface or the raw API, *before* you ever show them the graphical interface.** I know it sounds counterintuitive, maybe even a bit masochistic. Hear me out.

The GUI is fantastic for abstracting complexity and providing discoverability. But that abstraction is also its biggest weakness during onboarding. It allows users to click buttons without understanding the underlying data model or business logic. When they hit a wall—a weird error, a missing field, a broken automation—they have zero mental model of how the system actually works. They're stuck, and their trust in the tool plummets.

Starting with the CLI (or API scripts) forces a foundational understanding. Let's say you're rolling out a new CRM. Instead of day one being "click here to create a contact," you start with:
* Understanding the core objects (Contact, Company, Deal) and their strict, explicit field names.
* Using a `create` command that requires mapping each field from a CSV, highlighting data quality issues immediately.
* Running a `get` command to see the raw JSON response, showing the exact structure.
* Building a simple pipeline: export from legacy system, transform CSV, import via CLI.

This process makes the user intimately aware of the **data structure, relationships, and the mechanics of the operation.** It's often frustrating at first. But when you *then* unveil the GUI, it's a revelation. They don't just see pretty buttons; they see a visual representation of the model they already understand. They know what the "Create Contact" button is *actually doing*. They can troubleshoot because they've seen the bones of the system.

This approach isn't for everyone. It's best suited for:
* Developer teams adopting DevOps tools.
* Data analysts or admins rolling out a new data warehouse or BI platform.
* Technical support teams learning a new ticketing system's backend.
* Any power-user group where understanding the "why" is critical to adoption.

The early-warning metric for this method is not "logins per day," but "successful unattended script executions" or "API calls from user-owned keys." The resisters will be vocal—"just show me where to click!"—but the converts become your most powerful advocates and internal experts, because they truly *get it.*

What's your experience? Have you ever tried a "backend-first" onboarding? Or does this just sound like a great way to get everyone to hate the new tool from day one?

-- Mike


Map twice, migrate once.


   
Quote
(@mattj82)
Active Member
Joined: 1 week ago
Posts: 11
 

You're not wrong. The number of times I've had to explain to someone that their 'priority' dropdown isn't magic, it's just a field on the `incident` object with some labels slapped on it... it's a whole lot.

Where this really crystallized for me was when we started forcing our SREs to write Terraform for monitoring alert rules before they could touch the Grafana UI. Suddenly they understood dependencies, the data schema, and why their wildcard query was melting the metrics backend. The GUI became a convenience for exploration, not a black box of confusion.

Of course, this approach weeds out the people who shouldn't be power users pretty effectively. That's not necessarily a bad outcome for a tooling rollout.


No SLA, no problem.


   
ReplyQuote
(@david_chen_data)
Estimable Member
Joined: 3 months ago
Posts: 129
 

I see this dynamic constantly in data warehouse migrations. Teams are given a slick UI to build dashboards or schedule transforms, but they treat it as a paint-by-numbers kit. They never learn the underlying SQL or the cost implications of their joins. When a query times out or the bill spikes, they're helpless.

Your point about the mental model is crucial. Forcing someone to use the CLI or API first, even for a simple `bq ls` or `DESCRIBE TABLE`, builds an inherent understanding of the object hierarchy and permissions that the GUI simply masks. They learn that a "dashboard" is just a saved query referencing tables with specific schemas. That knowledge is what lets them debug a broken chart later instead of just reporting it as a "system error."

The caveat I'd add is that this approach requires immediate, practical payoff. You can't just teach `gcloud` commands in a vacuum. You have to pair "here's how you list projects" with "and here's how you use that to find the runaway query consuming your budget." The GUI becomes the reward for understanding the foundation, not the starting point that obfuscates it.


data is the product


   
ReplyQuote
(@crm_hopper_2025)
Estimable Member
Joined: 2 months ago
Posts: 113
 

You're hitting on the exact pain point that made me switch from HubSpot's admin UI to their CLI for onboarding our RevOps team. We built this beautiful training module full of screenshots and GIFs on how to create a custom property. Six months later, I'd get Slack messages like "the 'deal stage' dropdown is broken" because they didn't grasp that it was just a field with a dependent picklist value set.

The next rollout, I made them use the CLI first. `hs properties create --object=contact --name=priority`. They had to think about the object type, the data type, the label, the group. When they finally saw the UI, it wasn't a mysterious form - it was just a visual representation of those decisions. The abstraction became a map, not a maze.

It's a brutal filter for who's really going to own the tool, though. You lose some folks immediately, but the ones who stick get that foundational layer. They're the ones who later debug a broken workflow by checking the audit log via API, not by just sending me a screenshot.



   
ReplyQuote