Why Version Control Exists: The Pendrive Problem
Why Version Control Exists
When I started coding, I thought version control was just “something professionals use.” I used to write code, zip the folder, and move on. Only recently, while learning Git, I realized why version control had to exist in the first place.
This blog is my attempt to explain that, in very simple terms, especially for beginners like me.
How Code Was Shared Before Version Control
Before tools like Git existed, developers still had to share code somehow. From what I’ve read (and also slightly experienced), people used things like:
Pendrives
Emails
Shared folders
Manually copying files
And folder names looked like this:
project_final
project_final_v2
project_final_latest
project_final_latest_really
At the time, this felt normal. Now it feels…

The Pendrive Analogy in Software Development
The pendrive example made everything click for me.
Imagine:
One pendrive
Five developers
Everyone edits the same project
What happens?
Person A updates the code and saves it
Person B copies older code over it
Someone forgets to take the pendrive
Someone else overwrites everything
There’s no system to:
Track who changed what
Know which version is correct
Go back to a working version
This is basically manual version control, and it breaks very fast.
Problems Faced Before Version Control Systems
1. Code Gets Overwritten
Two people change the same file.
One copy replaces the other.
One person’s work is gone forever.
No warnings. No history.
2. No Change History
If something breaks:
Who caused it?
When did it change?
What exactly changed?
There’s no way to know. You just stare at the code and guess.
3. No Easy Rollback
If today’s code is broken and yesterday’s was working:
You can’t easily go back
Unless you saved a copy manually
And if you didn’t… good luck.
4. Collaboration Becomes Chaos
In teams, this gets worse:
Emails with attachments
Confusing file names
People working on outdated code
At some point, no one trusts the “latest” folder anymore.
Why This Doesn’t Scale for Teams
For one person, maybe this works (barely).
For teams, it completely falls apart.
Modern software needs:
Multiple people working at the same time
Safe collaboration
Accountability
History
The pendrive approach simply can’t handle this.

Why Version Control Became Necessary
This is where version control comes in.
Version control systems were created to:
Track every change
Prevent accidental overwrites
Keep a full history of the project
Allow many people to work together safely
Instead of guessing which folder is correct, the system knows.

From Pendrives to Modern Development
Once I understood this, version control stopped feeling “extra”.
It’s not just a tool.
It’s infrastructure.
That’s why in modern development:
Version control is mandatory
Git is everywhere
Platforms like GitHub exist
They solve real problems that developers faced for years.