Dark industrial terminal with a red-glowing keyboard and screen interface: direct, unmediated control over a machine through typed commands.
The terminal is not a tool for developers only. It is the direct interface to every computer and server. Everything you learn to read here transfers to every system you ever work with.

What code actually is

Software looks like a black box from the outside. Applications open, buttons produce results, errors appear without explanation. Level 1 removes the box.

Code is instructions. Precisely written, unambiguous instructions that a computer executes in sequence. The terminal is the direct interface for giving those instructions. Understanding both changes how you communicate with engineers, read error messages, and direct AI tools to build software.

This level covers two articles. Neither requires prior coding experience. Both require a willingness to look at a command line without closing the window.


What you know after Level 1

Terminal
Shell (bash / zsh) Commands File paths The direct text interface to any computer. What a shell is, why it exists, and how to read a command
File system
Directories Paths Permissions How operating systems organise files; why /usr/local/bin exists; what rwxr-xr-x means
Code
Variables Functions Logic Data types The building blocks of all software. Not syntax, but the concepts that every language shares
Execution
Compilation Interpretation Runtime errors How code written in a text file becomes instructions the CPU executes, and how it fails

Learning path

Start here Terminal basics What the terminal is, what a shell does, and how to read a command without fear.
Layer 2 File system navigation Directories, paths, and permissions. The structure every developer assumes you know.
Layer 3 Writing instructions Variables, conditionals, loops. The three tools that underpin every program ever written.
Layer 4 Code structure Functions, modules, and libraries. How code is organised so it can be maintained and reused.
Ready Level 2 You understand what code is and how it runs. Level 2 covers how teams manage code together.

Before and after

Before Level 1After Level 1
TerminalA black window that looks dangerousA text interface for giving direct instructions to the OS; no more or less dangerous than a browser
“Run this command”Nod politely, open a Slack message to an engineerOpen a terminal, paste the command, read the output, know what succeeded or failed
Error messages“Something broke”A stack trace is a list of function calls; the last line is where execution stopped; work backwards
ScriptsA script is a mystical artefactA script is a text file of sequential instructions; reading it reveals exactly what it does
Code vs softwareSoftware appears fully formedCode is text; a compiler or interpreter turns that text into instructions the CPU can execute
Python vs JavaScriptDifferent languages, mysterious differencesDifferent syntax, same concepts: variables store values; functions group instructions; logic branches

Articles in this level

What is a Terminal?

The direct command interface to any computer or server. Covers what a shell is, why the terminal exists alongside graphical interfaces, and how to read and write basic commands. Includes file system navigation, common commands (ls, cd, mkdir, cat, grep), and how to interpret output and error codes.

You should read this if: An engineer has ever told you to “run this in the terminal” and you either panicked or googled “how to open terminal” for the fourth time.

What is Code?

Instructions, logic, and how software is written. Covers the concepts shared by every programming language: variables, data types, conditionals, loops, functions, and modules. Explains the difference between interpreted and compiled languages, how a text file becomes running software, and why bugs occur at the conceptual level (not the syntax level).

You should read this if: You have tried a coding tutorial and understood the syntax but not the purpose, or you want to direct an AI coding tool more precisely by understanding what it is actually producing.


Why this matters in practice

For vibe coders: Directing AI tools to write code is dramatically more effective when you understand what the AI is producing. You do not need to write Python. You do need to understand that a function takes inputs and returns an output, that a loop runs until a condition is met, and that an error at line 47 means execution reached line 47 and stopped. These concepts come from Level 1.

For product managers: Sprint reviews include decisions about code structure, refactoring, and technical debt. Knowing the difference between “this feature is slow because of an inefficient loop” and “this feature is slow because of a database query” changes the conversation. You can ask better questions and understand the answers.

For anyone reading logs: Every deployed application writes logs. Logs are the terminal output of running code. A log entry like ERROR: undefined is not a function at processPayment (payment.js:127) is readable once you know what a function is and what undefined means. You do not need to fix it. You need to describe it precisely to the person who can.

For server interactions: Every cloud server runs Linux. Every deployment pipeline runs shell commands. Every CI/CD system executes scripts. Knowing what a terminal is and how to read a shell command means you can follow deployment conversations, read CI logs, and understand what infrastructure automation is actually doing.


What comes next

Behind you
Level 0: The Foundation Hardware, operating systems, networks
You are here
Level 1: How Code Works Terminal, file systems, variables, functions, execution
Up next
Level 2: Managing Work Version control, Git, GitHub, collaboration at team scale

Start Level 2: Managing Work →

Code needs to be tracked, versioned, and shared across teams. Level 2 covers the tools that make that possible without chaos.


Further reading