=SUM(A1:A10)
A small calculation many of us wrote long before we thought of ourselves as capable of programming a machine.

Everyone thinks their first programming language was Python. Or maybe they dabbled with JavaScript. The truth is, for most of us, it was Excel.

We just didn't know we were programming.

The Accidental Coder

I've watched accountants build cash-flow models that would make a software architect weep. Not from beauty; from terror. Twenty-four tabs deep, each one feeding the next, held together by formulas that stretch across entire alphabets of columns. One wrong click and months of work vanishes.

But here's the thing: those spreadsheets worked. They ran businesses, made decisions. They turned ideas into executable logic that a computer could understand and repeat.

The person hunched over that workbook at 2 AM, debugging why the Q3 numbers don't match, muttering "why is this returning #REF?" is programming. They just don't call it that.

Programming, Hidden in Plain Sight

Spreadsheets are a programming language disguised as a calculator. They translate human ideas into machine instructions. They store data, manipulate it, and output results. The only difference between =VLOOKUP(B2,Table1,3,FALSE) and a database query is syntax.

But because spreadsheets don't look like what we imagine programming to be (no dark terminals, no mysterious syntax highlighting), we tell ourselves they're something else. Something safer. Something for "business people."

This illusion has consequences. I've seen brilliant analysts apologize for their "messy" spreadsheets that elegantly solve problems most programmers would struggle with. They've internalized the myth that what they do isn't "real" programming.

Why Sheets Work

Three reasons spreadsheets became the world's most popular programming language. First, there's immediacy. Type a formula and the result appears. No compilation, no deployment, no ceremony. The feedback loop is instant and addictive. Second, transparency. The logic lives next to the data it operates on. Want to understand how a number was calculated? Look left. Look up. Follow the trail of cells like breadcrumbs. Finally, accessibility. A browser is enough. No development environment to set up, no syntax to memorize before you can be productive.

That combination creates something powerful: a place where problems get solved one cell at a time.

The Progression

Everyone starts simple. Some climb every level of complexity.

Spreadsheets as Programming Progression

Wizard Level
QUERY() + Apps Script
Advanced Users
Nested IFs + INDIRECT()
Power Users
VLOOKUP, INDEX/MATCH
Casual Users
SUM, COUNTIF, basic filters
Beginners
Writes =A1+B1 for first time

What makes spreadsheets different from "real" code isn't capability. It's style. Spreadsheets are casual, improvised, visual by default. They're not designed for maintainability. They're designed for solving problems quickly, for getting answers while the question still matters.

I've watched people who wouldn't call themselves technical build things in Excel that would shock a systems engineer obsessed with clean architecture:

Those spreadsheets were fragile in the way early systems often are, and critical in the way core systems always become. They emerged from necessity, took shape through iteration, and eventually became indispensable.

The Gateway

For many, solving the immediate problem is enough. But for some, this is where it starts: the realization that you can make a machine do what you want.

The first step gets taken because someone had a question, a blank sheet, and no other option. Spreadsheets solve immediate problems, and solving immediate problems builds confidence that bigger ones might be solvable too.

That early confidence carries far. Plenty of careers, mine included, began with the discovery that a small grid of cells could do more than add numbers. The spreadsheet teaches the fundamental lesson of programming: that complex problems can be broken down into small, manageable pieces.

The Grid as Garden

A spreadsheet looks sterile, just a grid. But once you live in it long enough, it feels more like a garden. Rows that need pruning, formulas that sprawl until they choke the light, dead references you trim back to keep things alive. It is not elegant code, but it grows into something that works. Which is programming too.

Related reading
Latest entries

Like this? Subscribe via email here.