← Back to list

The Biggest Mistake New Developers Make: Coding Before Planning

When I first started programming, I couldn’t wait to build things. I’d create a new project, write the first feature that came to mind, and…

Ayman · 2026-07-14 16:00 · 0 claps · 1.9 min read
#python #automation #excel #invoice #script
Open on Medium ↗
Wiki topics: 💻 · Programming

The Biggest Mistake New Developers Make: Coding Before Planning

When I first started programming, I couldn’t wait to build things. I’d create a new project, write the first feature that came to mind, and keep adding more code whenever a new idea popped up.

It worked , for a while.

Then the project grew.

Files became harder to navigate. Similar logic appeared in multiple places. Adding a simple feature started requiring changes across several files. Every update felt a little more stressful than the last.

The funny part is that none of these problems came from writing bad code. They came from having no plan.

The temptation to start immediately

When you’re excited about an idea, planning feels like a waste of time. You convince yourself that you’ll “organize everything later.”

Later rarely comes.

Instead, the project keeps growing around the first decisions you made in a hurry.

Scaffolding isn’t about predicting the future

One misconception is that scaffolding means designing every class, every function, and every folder before writing code.

I don’t think that’s realistic.

Instead, I try to answer a few simple questions before I begin.

  • What are the main responsibilities of this application?
  • Which parts are likely to change later?
  • If I wanted to replace one component, could I do it without touching everything else?

Those questions are usually enough to create a structure that can grow naturally.

A simple example

Recently I built a Python project for processing PDF invoices.

Instead of putting everything into one script, I separated the project into modules.

One module generates demo invoices.

Another extracts information from PDFs.

Another exports the results to Excel.

Logging has its own place.

Configuration has its own place.

Benchmarking has its own place.

At first, this looked like more work than necessary.

Later, when I wanted to add multiprocessing and plan for OCR and AI extraction, I didn’t have to rewrite the application. I only extended it.

That’s the benefit of good scaffolding.

If you’d like to see how it’s built or try it yourself, the source code is available on GitHub: PDF2Excel-Invoices

Planning saves time

Many developers think planning delays progress.

I’ve found the opposite.

Spending twenty or thirty minutes thinking about the structure can save hours, or even days of refactoring later.

The larger the project becomes, the more valuable those early decisions are.

You don’t need a perfect architecture

No project starts with a perfect design.

Mine certainly don’t.

The goal isn’t perfection.

The goal is to create enough structure that future changes feel natural instead of painful.

Good scaffolding gives your project room to grow.

And your future self will thank you for it.


메타데이터
post_id
1e4c7d1bae33
slug
the-biggest-mistake-new-developers-make-coding-before-planning-1e4c7d1bae33
url
https://medium.com/@a95yman/the-biggest-mistake-new-developers-make-coding-before-planning-1e4c7d1bae33
canonical_url
https://medium.com/@a95yman/the-biggest-mistake-new-developers-make-coding-before-planning-1e4c7d1bae33
author_url
https://medium.com/@a95yman
status
ok
fetched_at
2026-07-19 05:11:48