Let me summarize my entire career in one line of code:

const me = ['frontend', 'product', 'full-stack', 'all-in on AI'].join(' -> '); // 10 years in the making

Ten years. Long enough for a kid to go from elementary school to high school, and long enough for a programmer to evolve from “how do I center this div” to “do we really need to build this feature.”

Chapter One: Falling into the Frontend Pit

I got into frontend because I was lied to. Someone told me it was easy — “just slice some PSDs and write some pages.” I believed them.

You know what happened next. Before I had even warmed up to jQuery, Angular arrived. Before I learned Angular, React arrived. The moment I memorized React hooks, everyone started saying “frameworks are dead.” The frontend ecosystem churns faster than my mom asking when I’m getting married — you catch your breath for one second and a new “best practice” is already slapping you in the face.

For a while I suspected I wasn’t writing code at all. I was just a QA tester for the npm registry.

Chapter Two: The Product Detour

Tired of coding, I had a brilliant idea: become a product manager. Just talk, and let the programmers do the work.

Turned out I jumped from one pit into another — one with KPIs in it. Programmers argue with computers. Product managers argue with everyone: with developers about timelines, with designers about pixels, with the boss about budget, with users about “you literally asked for this feature.”

But it wasn’t wasted time. I picked up a skill scarce among programmers: speaking like a human. And I learned one eternal truth — requirements never stop changing, just like hair never stops leaving.

Chapter Three: Two Years of Full-Stack

Going back to code after doing product work, I saw things differently. Frontend, backend, database, deployment — I did it all. I was a one-man army.

The downside: when something broke, there was nobody to blame. Frontend down? Me. Backend down? Me. Server on fire? Also me. I was the entire supply chain of my own disasters.

Chapter Four: All-In on AI

Then AI showed up.

At first I was stubborn: “AI-written code? The variable names look like a practical joke.” Then I quietly opened an AI editor and never looked back. My current workflow: I do the thinking, AI does the typing, and I do the desk-slamming when it confidently makes things up.

Productivity multiplied several times over, but it raised a new philosophical question: if the AI writes the code, who owns the bug? (My current answer: the bug belongs to the AI, the salary belongs to me.)

The New Track: “Moving Bricks” in Manufacturing

Now for the serious part. I’ve switched tracks — manufacturing. When friends ask what I’m up to, I say: “moving bricks on a construction site.”

That’s a joke, but not entirely. Manufacturing really does involve moving: real materials, real production lines, a real world that rusts and refuses to read the documentation. There’s no “refresh and try again” here. A broken machine won’t forgive you just because you rebooted it.

And that’s exactly what excites me. The internet industry’s whole toolkit — data, process, automation, AI — is still wide-open territory in manufacturing. What one industry takes for granted as basic informatization, another still handles with Excel and paper forms like the steam age. The skill set I spent ten years accumulating suddenly feels like a cheat code here.

Can I make a splash? No idea. But if I can save one workshop a few printed forms, or save one veteran technician a few ladder climbs to check a number, that’s code written into the physical world — and honestly, that feels more rewarding than a few extra DAUs on a dashboard.

Past Forty

Past the age of “no longer confused,” standing in the halftime break of life, I drink more water and sprint less — and my mind wanders further:

  • Life: The first half was spent proving myself. The second half, I want to spend on things I actually believe in. Moving bricks or writing code — if it feels worth it, it is.
  • AI: It won’t replace you, but people who use it will. So don’t fear it. Use it — and keep one eye on it.
  • Money: Still necessary, but I’ve come to see it as a result, not a goal. Do the right things and money queues up on its own.
  • Family: Code can be refactored; a kid’s childhood can’t be rolled back. Time with family beats any framework’s lifecycle.

Ten years ago, I thought I’d write code until retirement. Ten years later, I’m standing in a workshop wearing a hard hat, phone in pocket, remotely telling an AI to fix my bugs.

Life, it turns out, is even less reliable than a requirements document — which is exactly what makes it fun.