토스 Frontend Fundamentals 2회차 모의고사 후기

박진현·2026년 3월 29일

이번에도 토스 Frontend Fundamentals 모의고사에 참여했다.

1회차는 내가 직접 많이 손으로 풀어냈다면,
이번 2회차는 조금 다르게 접근했다.
이번에는 의도적으로 거의 전부를 AI에 의존해서 진행했다.

하네스처럼 별도의 강한 장치는 두지 않았고,
대신 내가 정리한 frontend fundamental 관점과 원칙만 주고
약 2시간 반 동안 AI와 계속 플랜을 짜면서 과제를 풀었다.

내가 이번에 진짜 확인해보고 싶었던 건 단순히 “AI가 코드 몇 줄 잘 쓰는가”가 아니었다.
frontend fundamental 수준의 스킬과 방향성만 주었을 때, 실제로도 만족스러운 구조와 구현까지 끌고 갈 수 있는가가 궁금했다.

결론부터 말하면, 결과물이 “납득되는 수준”까지 올라가지는 않았다.


이번에 해보고 싶었던 것

이번 과제는 이미 동작하는 코드를 개선하는 리팩토링 과제였다.
그래서 오히려 AI의 실력이 더 잘 드러날 거라고 생각했다.

처음부터 새로 만드는 문제에서는
그럴듯한 구조를 빠르게 뽑아내는 것만으로도 좋아 보일 수 있다.
그런데 레거시 리팩토링은 다르다.

  • 기존 코드의 맥락을 읽어야 하고
  • 어디를 건드려야 하는지 판단해야 하고
  • 추상화의 범위를 조절해야 하고
  • “예쁘게”가 아니라 “정당하게” 바꿔야 한다

이런 문제들은 결국 설계 감각과 판단력이 더 중요하다.

그래서 이번에는 일부러 직접 구현에 깊게 개입하기보다,
AI에게 방향을 주고 플랜을 함께 세우는 식으로 진행했다.


결과적으로 느낀 점

AI가 못한 건 아니다.
오히려 꽤 그럴듯한 제안도 했고, 빠르게 정리해주는 부분도 분명 있었다.

그런데 끝까지 보고 나면 늘 비슷한 아쉬움이 남았다.

1. 겉보기엔 그럴듯한데, 보고 있으면 미묘하게 마음에 안 든다

구조를 나누고, 이름을 붙이고, 패턴을 적용하는 것까지는 한다.
그런데 그 결과물이 정말 내가 납득할 수 있는 수준인가 보면 그렇지는 않았다.

왜 어색한지 바로 설명하기 어려운 순간도 많았는데,
계속 보다 보면 결국 이런 문제들이 보였다.

  • 추상화의 단위가 어중간하다
  • 인터페이스가 예측 가능하지 않다
  • 책임이 분리된 것 같지만 실제로는 여전히 섞여 있다
  • “이렇게도 할 수는 있겠다” 수준이지 “이게 맞다”는 느낌은 아니다

즉, 형태는 만들 수 있는데 설계의 밀도가 부족하다는 느낌이었다.

2. 플랜은 같이 짤 수 있는데, 품질은 자동으로 올라가지 않는다

이번에 2시간 반 동안 플랜을 꽤 오래 잡았다.
문제를 어떤 기준으로 볼지, 어떤 순서로 정리할지, 어떤 방향으로 리팩토링할지 계속 같이 조정했다.

그런데 그 과정에서 느낀 건,
좋은 플랜을 세우는 것과 좋은 결과물이 나오는 것은 완전히 다른 문제라는 점이었다.

특히 frontend fundamental처럼
“예측 가능한 인터페이스”, “UI와 코드의 대응”, “적절한 추상화” 같은 영역은
체크리스트처럼 적용한다고 해결되지 않았다.

원칙을 안다고 해서 바로 좋은 구조가 나오는 게 아니라,
그 원칙을 어느 순간에, 어떤 강도로 적용할지 판단해야 했다.
그 부분은 결국 사람이 끝까지 붙잡아야 했다.

3. 내가 원하는 건 ‘동작하는 코드’가 아니라 ‘납득되는 코드’였다

이번에 다시 느꼈다.

AI는 동작하는 코드를 꽤 잘 만든다.
조금 정돈된 코드도 만들어준다.
그런데 내가 정말 원했던 건 그게 아니었다.

내가 원하는 건
읽었을 때 납득되고, 구조를 봤을 때 의도가 드러나고, 다음 수정이 덜 두려운 코드였다.

그 기준으로 보면 아직은 아쉬움이 컸다.


오히려 더 분명해진 것

이번 경험 덕분에 개발자가 해야 할 일이 더 선명해졌다.

예전에는
“앞으로는 AI가 다 하지 않을까?”
라는 생각을 꽤 자주 했는데,

이번에는 반대로
그래서 더더욱 사람이 설계를 봐야 하는구나
라는 쪽으로 생각이 정리됐다.

특히 이런 것들:

  • 어떤 문제를 먼저 풀어야 하는지 정하는 일
  • 지금 필요한 추상화와 과한 추상화를 구분하는 일
  • 인터페이스가 정말 예측 가능한지 판단하는 일
  • 코드가 ‘예쁜 척’만 하는지, 정말 읽기 좋은지 가려내는 일

이건 아직 사람이 해야 한다는 생각이 들었다.


개인적으로 남은 아쉬움

돌아보면 이번에는 내가 AI를 너무 “실험 대상”처럼 다뤘던 것 같기도 하다.

frontend fundamental 스킬만 주면 어디까지 갈 수 있는지,
플랜만 잘 짜면 구현도 따라오는지 보고 싶었는데,
결과적으로는 내가 기대한 수준까지 가지 못했다.

그리고 그게 꽤 선명하게 보였다.

아마 내가 정말 만족할 만한 결과를 원했다면
중간중간 더 많이 개입했어야 했을 거다.

  • 이 인터페이스는 왜 이렇게 잡았는지
  • 이 추상화는 왜 필요한지
  • 이 책임 분리는 정말 맞는지
  • 지금 이 네이밍이 정말 예측 가능한지

이런 걸 더 집요하게 확인했어야 했다.

즉,
AI에게 맡기는 실험은 했지만, 결국 책임까지 넘길 수는 없었다.


마무리

이번 2회차는 단순히 모의고사를 푼 시간이 아니라,
AI와 함께 리팩토링할 때 어디까지 맡길 수 있고 어디서부터 직접 개입해야 하는지를 점검해본 시간이었다.

결론은 명확했다.

AI는 분명 강력한 도구다.
하지만 frontend fundamental 같은 영역에서는
아직 좋은 방향으로 끌고 가는 사람의 기준과 판단이 훨씬 중요하다.

이번엔 결과물이 아주 마음에 들진 않았지만,
오히려 그래서 더 많이 배웠다.

  • 내가 어떤 코드를 좋은 코드라고 생각하는지
  • 내가 어디에서 어색함을 느끼는지
  • 그리고 아직 내가 직접 책임져야 하는 영역이 무엇인지

이걸 다시 확인할 수 있었기 때문이다.

3회차가 열린다면 아마 또 참여할 것 같다.
다음엔 AI를 더 잘 쓰는 방식까지 포함해서,
조금 더 내가 원하는 방향으로 풀어보고 싶다.

profile
Product Manager (ex-Frontend Developer)

0개의 댓글