
Eight years ago, I was absolutely convinced of one thing:
I was ahead of the curve.
Not just good.
Not just competent.
Elite.
The kind of developer who would casually refactor your entire codebase before lunch and then explain distributed systems over coffee.
There was just one small issue.
My bank account disagreed.
For six straight months, I made exactly $0 from my side projects.
Not “almost something.”
Not “about to launch.”
Not “investor talks in progress.”
Zero.
And somehow, I still thought I was winning.
At that time, I was working a regular developer job. Comfortable salary. Stable team. Safe environment.
I had two coworkers who couldn’t have been more different.
Richard.
Quiet. Focused. The kind of guy who solved algorithm problems for fun. If you asked him about time complexity, he didn’t hesitate — he just answered. Calmly. Correctly. No drama.
And then there was Ronald.
We called him “Smart Man”
Because he talked like a retired grandfather who accidentally became a software engineer.
He would say things like:
“Code is not for showing smart. Code is for solving problem.”
At the time, I internally translated that to:
“Okay, boomer.”
I believed I had already passed the “average developer” stage.
I knew JavaScript deeply. (Meaning: I could center a div without crying.)
I had built multiple CRUD apps.
I watched tech conference talks at 1.5x speed and nodded like I fully understood event loops and memory leaks.
I used phrases like:
Meanwhile, I had never shipped a product that more than five people used.
But confidence? Oh, I had that in bulk.
The Six-Month Illusion
Here’s what my daily routine looked like during that period:
6:00 AM — Wake up. Watch a productivity video.
7:00 AM — Coffee. Open laptop like a warrior entering battle.
8:00 PM — Close laptop like a philosopher questioning existence.
I built:
Total combined revenue after six months: $0
Total real users: 0
Total installs of my Chrome extension: 5
Three of those installs were my laptop, my desktop, and my friend who clicked it out of pity.
I had analytics dashboards tracking visitors.
Daily active users: 1.
Guess who that was?
Me. Testing in incognito mode.
Still, I kept thinking:
“These ideas are just too advanced for the market.”
Classic delusion.
Looking back, my biggest problem wasn’t skill.
It was ego-driven engineering.
For a simple to-do app, I built:
For who?
Nobody.
I was building skyscrapers in a desert and wondering why no one was renting apartments.
Meanwhile, Richard was freelancing quietly after work. Small gigs. Real clients. Real money.
Ronald was contributing to open source and writing blog posts about bugs he fixed.
I thought:
“They are playing small. I’m building something big.”
But “big” without validation is just expensive fantasy.
One random Tuesday during lunch break, Richard asked casually:
“So… how many users now?”
The tone wasn’t aggressive.
That made it worse.
I replied confidently:
“It’s not about users. It’s about architecture.”
There was a pause.
Ronald smiled.
That slow, grandfather smile.
Then he said:
“If nobody use it, you are architect of empty building.”
Everyone laughed.
I laughed too.
But internally?
Critical damage.
That sentence followed me home.
That night, I opened my analytics again.
0 users.
And for the first time, I didn’t blame marketing.
I asked myself:
“What if I’m not as good as I think?”
That question was the beginning of everything.
Here’s what I slowly understood over the next few months:
I wasn’t building products.
I was building validation for my ego.
I was:
Confidence without results is just delusion with good posture.
And I had perfect posture.
One night, around 1:30 AM, I was debugging a nasty async issue.
The classic:
“It works locally but breaks in production.”
After 45 minutes of frustration, I searched online and landed on an article.
It wasn’t from a famous engineer.
It wasn’t polished.
The grammar wasn’t perfect.
But it was honest.
The author explained:
No ego.
No “As a 10x engineer…”
Just real struggle.
I clicked the author’s profile.
Then another article.
Then another.
Soon I was reading story after story from developers sharing:
And something inside me shifted.
I felt relief.
Not because I solved the bug.
Because I realized:
Everyone struggles.
Even the ones who look confident.
Instead of launching another “revolutionary SaaS,” I tried something different.
I wrote a small article about a bug I fixed.
Nothing groundbreaking.
Just:
It took 40 minutes.
It felt vulnerable.
But I published it.
A few days later:
Four.
That was more users than all my apps combined.
So I wrote another one.
Then another.
I started:
And something strange happened.
Opportunities appeared.
A freelance message.
A collaboration invite.
A recruiter DM.
Someone asking if I could help debug their app.
Nothing explosive.
But real.
Over the next two years:
But also:
I stopped trying to impress imaginary senior engineers.
I started trying to be useful to real humans.
That changed everything.
Years later, I finally understood Ronald.
“Code is not for showing smart. Code is for solving problem.”
The market doesn’t reward your confidence.
It rewards value.
Nobody pays for:
People pay for:
It’s simple.
But not easy.
Becoming a senior developer wasn’t about mastering every framework.
It was about:
It wasn’t one breakthrough moment.
It was thousands of small, humbling corrections.
And honestly?
I’m grateful for those six broke months.
They destroyed the version of me that needed to look smart.
And built the version that focuses on being useful.
If you’re currently in your:
“I’m a genius but nobody pays me” phase…
Congratulations.
You’re not failing.
You’re learning.
Just don’t stay there too long.
Build small.
Ship fast.
Ask users.
Listen carefully.
Write honestly.
Help others.
And if you have someone like Smart Man in your life…
Listen.
Especially when he smiles before destroying your ego.
That smile might save you six months.
Or maybe six years.