A while ago, I caught myself wondering:
"Am I too late?"
Not because I started coding late.
But because every week there seems to be a new AI demo building apps, writing features, fixing bugs, and explaining code faster than I can even think through the problem.
When you’re still learning, that can get in your head.
You start asking yourself:
If AI can already do this, what exactly am I trying to learn?
I’ve been there.
I’m still early in my journey. I’m building projects, learning Laravel, breaking things, fixing them, and slowly getting better at understanding how software actually comes together.
Lately I’ve been working on a team task management app.
At first it felt straightforward.
A team has members. Owner can invite other members. Tasks can be created and assigned.
Simple.
Until it isn’t.
While working on the invitation feature, I started moving logic out of controllers and into service classes. Then I added form requests. Then policies.
And suddenly I realized something that felt bigger than the feature itself.
**The hard part wasn’t writing code.
The hard part was deciding what code should exist.**
That changed how I look at AI.
AI can absolutely generate code.
Sometimes it gives surprisingly solid code.
But while building that feature, AI wasn’t the one deciding things like:
- Should this logic live in the controller or a service?
- What happens if someone sends the same invitation twice?
- Who should be allowed to invite people?
- What happens when someone leaves a team?
- How do I structure this so future me won’t hate present me?
Those decisions were still mine.
And honestly, that’s the part I actually want to learn.
When I first started coding, I treated code like a puzzle.
I kept adding pieces until the feature worked.
Once it worked, I usually didn’t want to touch it again, because I knew changing one thing might break three others.
Lately, I’ve been trying to move away from that.
I’ve started paying more attention to system design—not in the “big tech interview” way, but in the practical way.
I want to be more intentional.
Not just:
“How do I make this work?”
But also:
“Why should it work this way?”
That shift has made coding feel different.
And honestly, more interesting.
Because the more I learn, the more I realize coding isn’t mainly about syntax.
It’s about tradeoffs.
It’s about structure.
It’s about deciding what belongs where.
It’s about understanding the problem well enough to build something that won’t immediately collapse the moment you add a new feature.
That’s why AI doesn’t discourage me anymore.
If anything, it clarified what actually matters.
AI can help me write code faster.
It can explain concepts.
It can help me compare approaches.
It can even point out mistakes I didn’t notice.
But it still doesn’t replace judgment.
It doesn’t automatically know the tradeoffs inside my project.
It doesn’t know the shortcuts I took last week.
It doesn’t know what future me will struggle to maintain.
That part still comes from learning.
So if you’re just starting—or thinking about starting—and AI makes you wonder if coding is still worth learning, here’s my honest take:
This might actually be one of the best times to start.
Because now you can get unstuck faster.
You can ask better questions.
You can explore more ideas in less time.
But the real learning still happens when you decide:
- what to build
- how to structure it
- which tradeoffs you accept
- what code stays
- and what code needs to be deleted
That part still belongs to you.
I’m still learning too.
Still writing code I later refactor.
Still realizing how much I don’t know.
Still trying to go from “it works” to “this makes sense.”
And right now, that feels like progress.
AI didn’t make me want to stop learning.
It made me realize something more important:
The value isn’t just in writing code.
The value is in understanding why that code should exist at all.
Note: I use AI while learning, not to skip the work, but to understand faster, explore alternatives, and challenge my thinking.
Top comments (0)