A Four-Year Retrospective
- #Retrospective
- #Developer
- #AI
I’ve wanted to write a blog ever since I started working as a developer. But honestly, I kept putting it off, and whenever I sat down to write, I had no idea what to say.
This time, I want to give it a proper try. For my first post, I’m looking back on the past four years.
How I Became a Developer
I studied hotel management abroad. My plan after graduation was to find a job in hospitality overseas, but COVID made that difficult. I ended up returning to Korea without much of a plan for what to do next, and I spent quite a while feeling lost.
Then, in the spring of 2021, I signed up for a government-funded coding course out of curiosity. Coding was becoming popular at the time, and I went into it casually. But once I started, I found it much more interesting than I expected and wanted to learn it in greater depth. After the course ended, I looked for a coding bootcamp. That June, I joined Vanilla Coding, a six-month frontend developer training program.
Vanilla Coding doesn’t spoon-feed you. Every week brings a new assignment, and you’re expected to sit with it, struggle through it, and find the answer yourself — the instructors show you the path, not the destination. Because I was brand new to both coding and development in general, every single week’s assignment felt impossibly hard. I’d hit a wall and think there was no way through… but then I’d tell myself: if I can’t even do this, I’m hopeless. And I’d keep at it until it clicked. Watching problems unravel one by one like that gave me a tremendous sense of accomplishment. Even if something feels out of reach, starting and refusing to let go will get you there somehow — that experience is still the biggest thing driving me forward today.
After finishing the program, I stayed at Vanilla Coding for another three months as a mentor. I wanted to keep studying, and I thought mentoring would be a valuable experience as I started a new career. The concepts I had been unsure about actually became clearer while I was mentoring. More than anything, helping other students felt rewarding, and I enjoyed it.
After those three months of mentoring, I joined a startup in Yeouido and started my career as a developer.
What I’ve Worked On
The main things I’ve worked on over the past four years are:
- Admin app modernization — migrated a Vue-based admin app to Next.js. Many screens were slow to appear because they waited for all their data to load. To improve this, I split the UI and loading states by feature and implemented streaming SSR. I also moved responsibility for composing page-specific data to a GraphQL BFF, reducing the amount of data-handling logic on the client.
- New service development — built both the user-facing interface and the admin app for a new service from the ground up. Because it was a financial service, its consent flow had many branches based on the type of agreement and each user’s circumstances. I modeled this complex flow as a state machine with XState, making screen transitions and validation logic easier to manage.
- Internal developer tooling — developed a VS Code extension to help other developers work with a new Server-Driven UI framework the company built for internal use. It lets developers write code, preview the actual rendered output, and test different conditions directly in the editor, reducing repetitive checks during development.
Looking back, I spent just as much time finding and fixing problems in existing structures as I did building new screens. Along the way, I learned that clearly defining a problem and choosing the right structure for the situation matter just as much as writing code.
The Age of AI
The development landscape has changed incredibly quickly over the past four years. The biggest change has been AI. When ChatGPT first appeared, I mainly used it for quick, minor questions. Now I use AI throughout almost every part of my work.
I search Google far less than I used to. The habit I once had of keeping up with React release notes has faded. When I don’t know something, I ask AI first and then verify the answer. The way I work is completely different from when I first started four years ago.
I write far less code from scratch now. Most of the time, I review and revise what AI produces over and over. I still feel uneasy about working this way. But looking around, other developers seem to be working in much the same way.
How Can I Survive This?
Every week brings a wave of new AI models and features. Work keeps getting easier, but sometimes I still pause and think, “What is all of this?”
At this pace, will developers really be replaced by AI? Even if we aren’t replaced completely, I can’t shake the feeling that we could be pushed aside in some way.
You can see it in job postings. AI-related skills now appear in both the requirements and preferred qualifications for frontend roles. More and more positions expect something beyond using AI as a tool.
I use AI every day, but honestly, I only have a rough understanding of the principles behind it and don’t really know how it is built. Can I use it well without that knowledge? Can I keep up with this pace of change? Maybe I need to become more than someone who simply uses AI. Maybe I need to understand it and learn how to work with it properly.
What’s Next
Lately, I’ve been thinking a lot about how I want to grow as a frontend developer. Simply learning one more technology and getting better at writing code doesn’t feel like enough to set myself apart.
AI can now handle a significant share of the coding. That gives developers more time to decide what should be built, define problems clearly, and verify whether the result is right. Rather than remaining a developer who simply writes code quickly, I want to use AI to make better decisions and raise the quality of what I build.
AI has also greatly reduced the time it takes to research something or learn a new technology. I want to use that advantage to learn and experiment more quickly while deepening my understanding of web development. Rather than stopping at implementing a screen, I want to become a developer who thinks carefully about performance, accessibility, user experience, and maintainable architecture.
At the same time, I want to study in depth how the AI I use every day is built and the principles behind how it works. My goal is to move beyond simply using what AI produces and become a developer who understands AI and can use it effectively for the task at hand.
I created this blog to document that process. I plan to keep writing about what I learn and wrestle with along the way.
I still don’t know where it will lead… but let’s go!