Arun Pandian M

Arun Pandian M

Android Dev | Full-Stack & AI Learner

Written by: Arun Pandian MPublished on: Jun 4, 2026

Why Every Software Engineer Should Learn the Command Line

As a software engineer, I have spent years working with graphical interfaces. Whether it was an IDE, a browser, a file explorer, or cloud dashboards, most of my interactions with computers happened through buttons, menus, and screens.

For a long time, I viewed the Command Line Interface (CLI) as something only system administrators or Linux experts needed to know. I knew a few commands like cd, ls, and mkdir, but I never truly understood why experienced engineers preferred working in a terminal.

Recently, I decided to change that.

This blog marks the beginning of my journey into learning the command line, not as a collection of commands to memorize, but as a way to understand how computers, servers, and automation systems really work.

https://storage.googleapis.com/lambdabricks-cd393.firebasestorage.app/img_why_every_dev_cli.svg?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=firebase-adminsdk-fbsvc%40lambdabricks-cd393.iam.gserviceaccount.com%2F20260606%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20260606T212744Z&X-Goog-Expires=3600&X-Goog-SignedHeaders=host&X-Goog-Signature=72d68cb33698aa0cf90db4656940ef898c0fe645459aa16e9740f730904b10a639578071591704f2f8fe71261f0b17beb800165a199ceced2488adfb4867c379e1ce6d678ee80df06bcc7f8cd380655e55ef12953e8d56993682790aa39ba6429c215bc19fc636d90bb85838d577e7aa18a2601dfa2af698ae96648135d275a3ab2c738e27484463ae1bfc79bc9723f3b05f34af7fe21dcbb5c5a786982e59a27c1bd1c42603993d17190143ac225a764e9757f91c24d110e53c378fde9a66316c5039548f243834058a6513be3102591733d010873c3bed089a4f131d443190db1c660d48f218952d3acfacc183a925bcfbf206d9181df3d06864d9e12c9d47

My Initial Misconception About CLI

My assumption was simple:

"If a graphical interface already exists, why would I use a terminal?"

After all, creating a folder through a file explorer is easy. Uploading a file through a browser is easy. Deploying a service through a dashboard is easy.

That difference changes everything.

What Is a Command Line Interface?

A Command Line Interface is a text-based way of interacting with a computer. Instead of clicking buttons, you type instructions.

For example, creating a folder through a graphical interface might involve:

  • Right-click
  • Select "New Folder"
  • Enter a name
  • Using the command line:

    mkdir Notes

    Both approaches achieve the same result.

    The difference is that one is driven by clicks and the other is driven by instructions.

    At its core, a CLI allows us to communicate directly with the operating system.

    CLI vs GUI

    Most developers are familiar with GUIs (Graphical User Interfaces).

    Examples include:

    - Windows Explorer - Android Settings - Visual Studio Code - Chrome

    A GUI presents options visually and allows users to interact using a mouse, touch, or keyboard.

    A CLI, on the other hand, provides a text-based interface where actions are expressed as commands.

    GUI Strengths

  • Easy to learn
  • Discoverable
  • Great for visual tasks
  • Ideal for occasional operations
  • CLI Strengths

  • Fast
  • Scriptable
  • Automatable
  • Consistent
  • Works remotely
  • Suppose I want to create one folder. A GUI works perfectly.

    Suppose I want to create one hundred folders. A CLI can perform the task in seconds.

    The real power of the command line appears when tasks need to be repeated.

    Why Automation Changes Everything

    The more I learn about the CLI, the more I realize that automation is the primary reason engineers invest time in mastering it.

    A computer performs only a few fundamental operations:

  • Store data
  • Process data
  • Transfer data
  • Execute instructions
  • If a task can be expressed as a sequence of instructions, it can usually be automated

    Consider a deployment process:

    1. Pull latest code 2. Run tests 3. Build application 4. Deploy application 5. Verify deployment

    A human can perform these steps manually. A script can perform them automatically. Instead of spending time repeating actions, engineers can spend time solving problems.

    This principle applies to:

  • Backups
  • Deployments
  • Monitoring
  • Log analysis
  • Data processing
  • AI model operations
  • Cloud infrastructure

    The command line is the foundation that makes these automations possible.

    Why Linux Servers Rely on CLI

    One question I had was:

    "If graphical interfaces are easier, why do most servers rely on the command line?"

    The answer became clear once I started learning about server environments.

    Resource Efficiency

    A server does not need windows, icons, or animations. Removing graphical components reduces memory and CPU usage.

    Remote Management

    Engineers can connect to servers from anywhere using a terminal. There is no need to physically access the machine.

    Automation

    Everything can be scripted. Backups, deployments, monitoring, and maintenance tasks can all be executed automatically.

    Stability

    Linux systems are designed to run reliably for long periods of time with minimal intervention. For these reasons, Linux and the command line have become the standard environment for cloud platforms, containers, databases, and AI infrastructure.

    My First Terminal Project

    To start learning, I created a simple knowledge base structure entirely from the command line.

    KnowledgeBase
    ├── Android
    ├── AI
    ├── Linux
    ├── CategoryTheory
    └── Projects

    Using terminal commands, I created the directories, navigated through them, and verified the structure.

    It was a small project, but it helped me understand an important idea:

    The terminal is not just another tool. It is a direct interface to the operating system. Every command is an instruction. Every instruction can potentially become part of an automation.

    What I'm Learning Next

    This is only the beginning of my CLI journey.

    Over the next few weeks, I plan to learn:

  • Linux filesystem fundamentals
  • Shells and terminal environments
  • File and directory management
  • Text processing tools
  • Pipes and redirection
  • Bash scripting
  • Process management
  • Networking tools
  • Automation workflows
  • Docker and container operations
  • AI infrastructure automation
  • My goal is not simply to memorize commands. My goal is to understand how modern software systems are built, deployed, monitored, and automated. Because the more I learn, the more I realize that behind every cloud platform, deployment pipeline, AI system, and production server, there is usually a command line executing instructions somewhere. And learning that language seems like a worthwhile investment for any software engineer.

    Final Thoughts

    I used to think the command line was an old-fashioned tool from an earlier era of computing. Now I see it differently. The CLI is not competing with graphical interfaces. It solves a different problem. Graphical interfaces make computers easier for humans. Command-line interfaces make computers easier to automate. And in a world increasingly driven by cloud computing, DevOps, AI systems, and automation, that distinction matters more than ever. This is the first post in my CLI learning journey. I'm looking forward to exploring the concepts, building projects, and documenting everything I learn along the way.

    0
    LAMBDA BRICKS