# A First-Year Frontend Developer's 2024 Retrospective

> Looking back on 2024

- Published: 2025-01-19
- Source: https://yujiseok.blog/en/posts/2024

## Overview

Working as a frontend developer, I've somehow arrived at the end of 2024.
Looking back on a year I spent running around in a blur, I want to sort out what I did and what I felt along the way.
And since I recently became a first-year developer, which makes this a well-timed post, I'll add a bit of my thoughts on that too.

## How I Became a Frontend Developer

This might be a little TMI 🤭 but now that I'm a first-year developer, I felt like retracing the path that got me here one more time.
If I don't write it down somewhere, I'm afraid I'll forget it.

I majored in fashion design. Ever since I was very young, I was convinced it had to be fashion or nothing.
But as I went through university, I felt a big gap between what I was actually learning and what I wanted.
As I kept wondering whether this was really what I wanted to learn and do, I naturally drifted away from what I wanted, took a long leave of absence, and wandered around in what was sort of aimless wandering but not quite.

I developed a thirst for learning, so I made up my mind to go back to school. But right when I returned, COVID hit, and I ended up graduating having barely attended in person.
The classes in that period were mostly theory rather than the hands-on practice I had wanted.
Then I took a major that combined fashion and AI, and through that class I was introduced to a whole new world.
A world where I could express what I wanted on a screen? I was completely captivated. Once I found out about that world, I started watching all sorts of videos and following along.
Then, through a field practice program run by my school, I joined a company that combined fashion and AI as an intern.
In the real working world, I really wanted to get advice about studying development and also build up some experience. While doing fashion-related work, I kept trying to show my interest in development.
Chatting with the developers and expressing my willingness to learn was viewed positively, and I got the opportunity to switch over to being a developer.

Once my role actually changed, development just felt hard. Perhaps that was proof that I wasn't fully prepared.
I sometimes fell into frustration and felt lost about what to do and how to do it. I often found myself not even knowing what I didn't know.
One senior developer comforted me by saying that when they first started out, they often thought "Am I an idiot?" and that the beginning is hard for everyone.
Still, taking on some simple maintenance work gave me confidence that I could do it, and that led to me being put on a new project, where I delivered results.

While working on the project, I kept applying what I'd studied right away to solve problems, and I mistakenly thought that knowledge had become mine.
Once the project ended and I looked back, nothing was left in my head. The problem was that I had tried to produce results quickly before I knew the fundamentals.
I'd been stuffing things into my head, but they weren't really mine. Maybe my pot of knowledge had a hole in the bottom, I thought.
Time had passed, but I felt strongly that I was stagnating. And after the project wrapped up, I wasn't given any real role or responsibility,
and I found myself spending time at the company doing aimless development study. Naturally, I began to doubt whether I could grow any further.
I hate this kind of deadlock. So I resolved to make a decision.

I needed to choose between fashion and development.
To make that decision, I first thought about why I wanted to become a developer.
The answer was clear. I love creating something with my own hands and steadily learning new things.
I also had the ability to dig deep into the things I love.
I thought development was a field where I could use both what I love and what I'm good at. Even so, the fear was still there.
I weighed whether it was right to let go of fashion, the field I had always wanted, and take on a completely new one.
At the time, I felt that development itself was fun and a field where I could draw out my potential. So I decided to truly become a developer.
Even now, I have no regrets about that choice.

After making the decision, I thought about what to do next.
I chose to sign up for a bootcamp at a training institute.
Starting from a blank slate, I wanted to build my fundamentals as a developer through a bootcamp.
That's how I completed a 7-month bootcamp program. I picked up the skills a frontend developer needs, and I built up my collaboration skills by working on projects with my fellow students.
Working on projects with teammates, I could feel my growth accelerating. In particular, I felt a sense of accomplishment that I never got when studying alone.

Throughout the program, I learned not only hard skills but also a lot of the soft skills needed for communication.
Talking with students from other roles, I got to see things from their perspectives.
I also served as team lead, and to guide my teammates I studied harder myself, sharing and teaching what I learned to them, and sometimes even taking on the role of a mentor.
Through project-based learning, I felt just how hard it is to build one complete service, and I came to deeply respect senior developers.

After finishing the bootcamp and jumping into the job market, I felt keenly how good I'd had it back when I was learning as a student, and at that point I may have even regretted leaving my company for a while.
I filled out my résumé as best I could with other programs besides the bootcamp, but the wall facing a new grad was still high.
Because I was firmly resolved to become a developer, I approached it with a mindset of not giving up easily, and although a flood of rejection notices shook me at times, I recalled my decision each time.
When I got rejected, I focused on filling in what I lacked rather than feeling defeated, and I think the dev blog I built myself and the posts I wrote played a pretty big part in that.
That effort paid off, and I was able to begin my journey as a frontend developer.

And now, that same me has somehow become a first-year frontend developer and is writing a retrospective about it.
After wondering how best to write it, I decided to organize my work and personal activities by half-year in 2024.

## What Did I Do in the First Half?

After joining last November, I had an onboarding period where I handled simple tasks and settled into the team.
From the first half of 2024, I took on several domains, and the share of my contribution to the actual service grew.

Here's what I worked on in the first half:

- Introducing multilingual support ([Spanish](https://coloso.global/es))
- Expanding the [cart](https://coloso.global/en/cart) feature to the global service
- Migrating the lecture room to a workspace
- Introducing the curriculum on the detail page

It was really rewarding to see my code reflected in the live service and contributing to it.
During this period, I went through the process of understanding the overall flow of the service and picking up knowledge about each domain.
Handling several domains in a short time meant frequent context switching, and I sometimes lost my direction and floundered.
But through that, I started thinking about how I could work more efficiently and nimbly.
I realized that development isn't just about applying technology; it also requires understanding and thinking about the service itself.

## What Did I Do in the Second Half?

I analyzed my contribution to the Coloso service in the second half quantitatively.
I created a total of 117 PRs, 111 of which were merged, and through 351 commits I contributed 16,101 lines of code to the product.
Knowing that code I wrote was being applied to the actual service and delivering value to many users gave me a great sense of fulfillment and responsibility.

Here's what I was in charge of:

- Introducing curation to the event pages
- Introducing marketing tools
- [Developing the GenCon landing page](https://yujiseok.blog/post/2024-gencon)
- Introducing Tailwind CSS to the lecture room
- Introducing additional member information input
- Project cleanup
  - [Introducing TanStack Query automatic invalidation](https://www.yujiseok.blog/post/tanstack-query-automatic-invalidation-after-mutations) / establishing a cache strategy
  - Migrating icons to a workspace

Compared to the first half, the work where I owned a feature independently and saw it through from start to finish increased.

The event page catalog work left the biggest impression on me.
Through this project, we were able to cut down significantly on the costs of creating and maintaining event pages and on design resources.
I came away with an important realization: the end-user experience of the service matters, but improving the internal back-office system to boost the productivity of our colleagues is just as important a development task.
Since it was the largest project since I joined, I set my own development principles for a more systematic design and tried to build on them to develop in an organized way.
I was left wishing I had analyzed the planning document more carefully and allocated time to each phase more efficiently.

After that, while developing the additional member information feature, I tried to improve on the problems I'd run into during the catalog work.
In particular, I realized there are limits to reading and analyzing a planning document alone, so I tried to communicate actively with the planner.
Resolving questions and parts I didn't understand by talking directly made it much easier to grasp the intent behind the plan.
I also wrote a [tech spec](https://blog.banksalad.com/tech/we-work-by-tech-spec/) for the feature I owned, documenting the background, goals, and plan for introducing it, and that helped me understand the requirements much more clearly.
Thanks to these improvements, I felt far less time pressure during development, and with some breathing room, I was able to go beyond simply adding features and improve existing code at the same time.
As a result, I experienced a big jump in my overall development productivity.

During the year-end project cleanup, there were tasks where I didn't fully reach the goals I had originally planned.
Even though I couldn't produce all the results I'd hoped for,
I think the process of facing technical limits and looking for solutions, the experience of dealing with unexpected problems, and the lessons I learned from failure will be valuable assets for future projects.
I realized that even when you can't produce a perfect result, the learning and growth along the way can be an even more valuable experience.
In particular, I felt firsthand that writing down the problems I faced and how I solved them becomes a really useful asset when a similar situation comes up later.

## And Personally?

By mentoring the second cohort of the bootcamp, I was able to fulfill my dream of becoming someone's mentor, at least in the short term.
It was really daunting when I first started mentoring, but the saying that humans are creatures of adaptation really hit home.
Through mentoring and communicating with my mentees, I got to revisit what I knew and understand it more deeply.
I felt that growing together with others is worth more than just growing on your own.
Watching my mentees grow and improve, I was really proud that I'd been of at least a little help to them.

> While mentoring, I came to have a deep respect for people like Yoo Jae-suk, who host shows on TV..
> I was drained after talking for just an hour, but they talk all day long.. I thought that was truly amazing.

## What About 2025?

Looking back as I wrap up 2024, time flowed by like water. Why does time go so fast..
I had a lot of experiences and learned a lot, but there was plenty I didn't record properly.
I'll bury those regrets in 2024 and turn them into satisfaction in 2025.

I don't want to just passively handle the work I'm given; I want to be a developer who finds the improvements a service needs on my own and solves them.
And I set a very modest goal: to build one service this year that brings in even 10 won in my bank account. 💸

I've also set a goal of learning languages and getting language certifications to open myself up to a new world. 🇫🇷🇯🇵

As I wrap up this slightly late retrospective, I hope 2025 turns out to be a year I can be satisfied with myself.
