avatar
Published on

"AI가 다 해주잖아?"라는 환상: FE의 본질과 AI 시대의 현실

Author
  • avatar
    Name
    yceffort
  • 다음은 한 개발자분께 받은 질문과 그에 대한 답변 메일을 블로그 형식으로 각색한 글입니다.
  • AI 가 작성하지 않은 글입니다 😄

들어가며

AI 만능론이 퍼지는 지금, 프론트엔드(FE) 개발의 가치를 폄하하는 목소리가 들려옵니다. "FE는 데이터만 보여주면 된다", "B2B는 더 그렇다", 심지어 "UI는 AI가 다 만든다"는 주장은, 솔직히 말해 10년 전에도 통하기 어려웠을 시대착오적인 발상입니다. 만약 AI와 Agent 가 만든 데이터만 보여줄 거라면, SQL 에디터나 JSON 에디터만 던져주면 그만이지 왜 프론트엔드가 필요할까요? B2B일수록 복잡한 데이터를 효과적으로 시각화하고, 얽힌 워크플로우를 관리하며, 안정성과 확장성을 확보하는 것이 FE의 핵심 역할입니다. 이조차 필요 없다면, 그건 서비스가 아니라 구글 드라이브 선에서 정리될 일이며 서비스로서 가치가 있을지 의심스럽습니다.

이러한 FE의 본질적인 복잡성을 간과한 채, "FE는 힙한 기술만 쫓는다"고 오해하는 시각도 있습니다. 하지만 이는 FE 개발 환경의 특성을 이해하면 쉽게 풀리는 오해입니다.

FE는 왜 '힙'해 보이는가: '정글'에서의 생존기

FE가 '힙한 기술'만 쫓는 것처럼 보이는 이유는, FE가 처한 '정글' 같은 환경 때문입니다. (결코 백엔드를 비하하려는 의도는 아닙니다.) 백엔드가 개발자가 통제 가능한 서버라는 온실이라면, FE는 사용자의 온갖 기기, 네트워크, 브라우저 확장 프로그램 위에서 동작해야 하는 정글입니다. 이 혼돈 속에서 일관된 경험을 주기 위해 호환성, 성능, 개발 경험 측면에서 기술이 끊임없이 발전하는 것은 피할 수 없는 숙명이지, 유행 추종이 아닙니다.

여기에 백엔드와의 본질적인 관심사 차이도 한몫합니다. 백엔드는 주로 데이터 처리, 비즈니스 로직, 시스템 구조와 같은 서비스의 '뼈대'를 다룹니다. 이 뼈대는 사람의 골격처럼 한번 자리를 잡으면 자주 변하지 않으며, 변화하더라도 확장성이나 안정성 같은 근본적인 차원에서 비교적 느리고 안정적으로 일어납니다.

하지만 프론트엔드는 사용자와 직접 맞닿는 얼굴이자 피부입니다. 디자인 트렌드와 사용자의 기대치는 시시각각 변하며, 이에 맞춰 최상의 경험을 제공해야 합니다. 이러한 요구에 부응하기 위해 자바스크립트 생태계는 수많은 프레임워크와 라이브러리가 경쟁하며 폭발적으로 진화해왔고, 이 역동적인 모습이 '힙한 것'만 쫓는다는 오해를 불러일으키는 것입니다. 이는 결국 프론트엔드 업무가 가진 본질적인 변화 대응의 숙명입니다.

AI는 '신'이 아니다: 위험한 맹신과 현실

"100% AI가 코드를 작성할 것"이라는 주장은 AI의 한계를 모르는 순진하고 위험한 생각입니다. 실제 산업 현장의 선도 기업들조차 AI를 '만능'이 아닌 '강력한 보조 도구'로 활용하고 있으며, 그 한계 또한 명확히 인지하고 있습니다.

  • 마이크로소프트: 코드의 약 30%를 AI가 작성한다고 밝히며, 인간 개발자와의 **'협업'**을 강조합니다. (출처: IT조선)
  • Shopify CEO (Tobi Lütke): AI를 **'도구'**로서 잘 사용하기 위해 학습해야 한다고 말합니다. (출처: X(Twitter))
  • 카카오: 바이브 코딩은 아직 프로덕션 개발 환경에 적용하기 어렵다고 분석합니다. (출처: 카카오테크)

(만약 100% 코드를 AI가 다 작성하고 관리하는 순간이 온다면, 리더고 회사고 뭐고 다 필요 없어지는 시점일 겁니다.)

이처럼 AI는 예외 처리, 보안, 성능, UX까지 완벽히 책임지는 '개발자 대체재'가 아닙니다. AI가 생성한 코드를 이해하고 검증할 개발자 없이 100% 의존하는 것은, 유지보수 불가능한 기술 부채 덩어리를 쌓는 것과 같습니다. AI 활용 능력을 단순히 '속도'로만 측정하고 압박하는 것은, 개발의 본질(문제 해결, 지속 가능성, 품질)을 무시하고 보여주기식 성과에 집착하는 근시안적인 태도일 뿐입니다.

리더십의 관점이 곧 팀의 구조를 만든다

프론트엔드 개발의 가치를 축소하거나, AI를 맹신해 전략 없는 도입을 밀어붙이는 문화는, 단순한 커뮤니케이션 문제나 의견 차이로 치부하기 어렵습니다. 이는 명백히 조직 내 리더십의 기술 관점과 우선순위 설정 방식에 기인한 구조적 문제입니다.

예컨대, 명확한 비전 없이 "Agent 안 쓰면 도태된다"는 식으로 기술 트렌드에 대한 불안감을 동력 삼아 공포에 호소하는 방식은, 실질적인 전략 없이 방향 없는 질주를 강요하는 것과 다르지 않습니다. 이는 결국 보여주기식 AI 도입과 팀 내 혼란, 기술적 정합성 없는 의사결정으로 이어지며, 실질적인 혁신과는 거리가 멀어지게 됩니다.

비슷한 문제는 코드 리뷰 문화에서도 나타납니다. 코드 리뷰를 단지 '가장 잘하는 사람이 빠르게 처리하면 되는 일'로 인식하는 관점은, 코드 품질 향상이나 지식 공유, 예외 상황에 대한 방어 설계 등 팀 전체의 기술 역량 강화라는 본질적 목적을 완전히 외면하는 것입니다. 이런 사고방식은 결과적으로 특정인에게 과도한 책임을 몰아주는 히어로 코딩 문화를 고착시키며, 지식의 사일로화와 팀 역량의 편차를 심화시킵니다.

여기에 더해, "AI가 코드 쓰니까 기존 코드 품질이 떨어져도 괜찮다"는 식의 접근은, 소프트웨어 공학의 기본 원칙을 무시한 발상입니다. 코드를 '다시 만들면 되지' 수준으로 여기는 태도는, 결국 유지보수성 없는 일회성 자산을 양산하게 만들고, 이는 기술 부채와 품질 저하, 우수 인력의 이탈이라는 장기적인 리스크로 되돌아옵니다.

이 글에서 말하는 '리더십의 문제'는 단순히 특정 인물의 태도나 성격이 아닙니다. 기술을 어떻게 보고, 무엇을 우선순위로 삼으며, 어떤 기준으로 의사결정을 하는가에 대한 관점의 문제입니다. 그 관점이 잘못되어 있다면, 시스템이나 팀이 아무리 유능해도 왜곡된 방향으로 흘러갈 수밖에 없습니다.

✅ AI 시대, 프론트엔드 개발자의 역할과 재정의된 전문성

AI는 분명히 많은 영역을 자동화하고 있습니다. 디자인을 코드로 옮기거나, 단순한 CRUD 기반의 UI 구성처럼 반복 가능한 작업은 점점 더 AI의 손에 넘어가고 있습니다. 이로 인해 "손이 빠른 프론트엔드 개발자"의 역할은 축소될 가능성이 큽니다.

그러나 이것은 프론트엔드 개발의 종말이 아닙니다. 오히려 역할의 재정의와 진화가 시작된 것입니다. 앞으로의 프론트엔드 개발자는 다음과 같은 영역에서 인간 중심의 고유한 역량을 요구받게 될 것입니다:

  • 문제 정의 및 추상화 능력: 단순 구현이 아닌, 무엇을 만들지 이전에 왜 만들어야 하는지를 정의하고, 요구사항을 추상화할 수 있는 역량. AI는 목표를 해석하지 못합니다.
  • 아키텍처 및 시스템 설계 능력: AI가 생성한 코드 조각들을 단순히 조립하는 수준을 넘어, 확장 가능하고 유지보수 가능한 구조로 통합하는 설계 능력.
  • 사용자 경험과 성능 최적화에 대한 민감도: 프레임 단위의 렌더링 최적화, 인터랙션 지연 개선, 네트워크 환경을 고려한 로딩 전략 설계 등 AI가 자동화하기 어려운 미세 조정과 사용자 중심 판단력.
  • AI와 협업능력: AI의 응답을 단순히 수용하는 것이 아니라, AI에게 명확한 문맥을 제공하고 제약을 설정하며 원하는 결과를 이끌어내는 능동적 협업 설계자.

이러한 역량을 갖춘 개발자는 더 이상 "코드 작성자"가 아니라, 도메인을 설계하고 시스템을 조율하며 기술을 통해 비즈니스 가치를 실현하는 기술 전략가로 자리 잡을 것입니다. AI는 강력한 도구이지만, 그 도구를 언제, 어떻게, 왜 써야 하는지는 결국 사람이 결정합니다.

따라서 AI 활용 능력만으로는 충분하지 않습니다. 탄탄한 프론트엔드 전문성 위에, AI를 파트너로 활용할 수 있는 이성적 판단력과 설계 사고가 더해질 때 비로소 경쟁력을 갖추게 됩니다.

AI를 부정하는 게 아니라, 제대로 다루자는 것

이 글에서 강조하고자 했던 핵심은 AI를 거부하거나 무시하자는 것이 아닙니다. 오히려 지금 우리는 AI를 "어떻게 활용할 것인가"를 진지하게 고민해야 하는 전환점에 서 있습니다.

AI는 이미 많은 생산성 향상을 이끌었고, 단순 작업이나 반복적인 구현은 AI가 더 빠르고 정확하게 수행할 수 있습니다. 하지만 그렇기 때문에 더더욱, AI를 도구로 쓸 사람의 안목과 판단력, 설계력은 이전보다 훨씬 중요해졌습니다.

문제는 AI 그 자체가 아닙니다. 전략 없이 AI를 맹신하거나, AI를 만능 해결사처럼 과대평가하는 태도가 문제입니다. 그로 인해

  • 코드의 목적이나 맥락을 고려하지 않고 바로 적용되는 AI 출력은 오히려 유지보수를 어렵게 만들고,
  • 문제의 본질을 이해하지 못한 채 도입한 AI 기능은 사용자 경험을 해칠 수 있으며,
  • AI가 생성한 코드나 결과물을 비판 없이 수용하는 문화는 기술 부채를 구조화

와 같은 문제가 발생할 것입니다.

AI는 강력한 도구이지만, 도구는 목적이 있어야 의미가 있습니다. 진짜 중요한 건 AI를 어디에, 왜, 어떤 방식으로 써야 하는지를 판단할 수 있는 사람입니다. 그 판단력을 가진 개발자가 앞으로 더 주도적인 역할을 하게 될 것입니다.

이 글은 AI의 시대에 어떻게 살아남을지를 말하는 글이 아닙니다. AI가 바꿔놓을 개발 환경에서 무엇이 더 중요해질지를 말하는 글입니다.

마치며

AI로 인해 변화하는 환경 속에서 때로는 좌절감을 느끼고, 자신의 역할과 가치에 대해 회의감이 드는 것은 어쩌면 당연한 일입니다. 기술 변화의 속도가 빠르고, 그에 대한 이해도가 조직 내에서 고르지 않을 때, 이러한 혼란은 더욱 커지기 마련입니다.

하지만 중요한 것은, 리더십의 오해나 조직의 단기적인 방향성이 프론트엔드 개발의 본질적인 가치나 개발자 개개인의 역량을 전부 대변하지는 않는다는 사실입니다. AI는 도구이며, 그 도구를 제대로 이해하고, 비판적으로 활용하며, 사용자에게 진정한 가치를 전달하는 것은 결국 깊이 있는 지식과 경험을 갖춘 개발자의 몫입니다. "AI가 다 해주잖아?"라는 질문은, 오히려 "AI를 어떻게 활용해서 더 나은 가치를 만들 것인가?"라는 질문으로 바뀌어야 합니다.

따라서 우리는 'AI가 다 해줄 것'이라는 환상이나, FE의 가치를 폄하하는 시각에 위축될 필요가 없습니다. 기본기를 더욱 탄탄히 다지고, 문제를 설계하고, AI를 도구로 삼아 복잡한 상황을 해결할 수 있는 개발자로서의 역량을 증명해 나가야 합니다.

만약 현재 몸담은 조직에서 이러한 가치를 인정받거나 건강한 논의를 하기 어렵다고 느껴진다면, 그것이 개발자로서의 능력 부족을 의미하는 것은 결코 아닙니다. 때로는 환경 자체가 성장을 가로막거나 잘못된 방향을 강요할 수도 있습니다. 스스로의 가치를 믿고, 꾸준히 학습하며, 때로는 더 나은 환경을 찾아 나서는 용기도 필요합니다. 기술은 계속 변하지만, 사용자와 기술을 잇는 인터페이스를 만들고, 그 경험을 책임지는 프론트엔드 개발자의 중요성은 결코 사라지지 않을 것입니다.