Google 검색과 Stack Overflow의 등장은 프로그래밍 방식을 변화시켰다. 매뉴얼을 읽는 대신 검증되지 않은 코드를 복사해 붙여넣어도 작동하는 결과물을 낼 수 있는 시대가 열렸기 때문이다. 최근의 AI 에이전트 도입 역시 유사한 경로를 따른다. 단순히 코딩 속도를 높이는 도구를 넘어, 숙련된 노동자의 기술을 반숙련 혹은 비숙련 노동자가 대체하는 '데스킬링(Deskilling)' 현상이 프로그래밍 전반으로 확산되고 있다.
이는 지난 10년간 프론트엔드 개발 생태계가 겪은 양상을 반복한다. 과거 HTML과 CSS의 세밀한 제어 능력이 프레임워크라는 추상화 뒤로 사라졌듯, 이제는 로직 설계 능력 자체가 AI라는 추상화 계층 아래로 숨어들고 있다. 기업은 이를 통해 비용을 절감하고 인력 교체를 용이하게 만들지만, 개발자의 시장 협상력과 소프트웨어의 품질은 하락하고 있다.
프론트엔드 '잃어버린 10년'과 데스킬링의 메커니즘
과거 프론트엔드 개발자는 시맨틱 HTML을 설계하고 CSS로 스타일을 잡으며, 브라우저별 렌더링 차이를 개별적으로 해결하고 웹 접근성 표준과 네트워크 성능을 최적화하는 전문 지식을 갖춰야 했다. 점진적 향상법(Progressive Enhancement)을 적용해 구형 브라우저에서도 서비스가 동작하게 만드는 작업은 숙련된 전문 지식이 필요했다. 이러한 숙련 노동이 새로운 기술 도입으로 인해 반숙련 또는 비숙련 노동자로 대체되는 과정을 데스킬링(Deskilling)이라 한다. 기술이 복잡한 작업을 단순화하면 기업은 운영 비용을 절감하고 신규 인력의 진입 장벽을 낮춘다.
React나 Next.js 같은 프레임워크는 브라우저를 단순한 컴파일 타겟으로 취급한다. 개발자는 이제 웹 브라우저를 JVM이나 iOS 같은 일반적인 앱 런타임과 동일하게 취급하며 코드를 작성한다. Shadcn 같은 현대적인 컴포넌트 라이브러리에서 라디오 버튼 하나를 가져와 배치할 때, 내부의 HTML 마크업 구조나 브라우저별 세부 동작, 페이지 로드 시의 성능 저하 문제를 깊게 고민하지 않는다. 프레임워크의 추상화 계층이 웹의 동작 원리와 표준 사양을 가리기 때문이다. 웹 표준에 대한 이해 없이 프레임워크의 문법과 API 사용법만 익히면 상용 수준의 화면을 빠르게 구현할 수 있다.
기업은 프론트엔드와 백엔드 영역을 모두 수행하는 풀스택 개발자 중심의 인력 구조를 채택했다. 여기서 풀스택은 내부 동작 원리를 모두 꿰뚫고 있는 전문가가 아니라, 자바스크립트 기반 프레임워크를 활용해 양쪽 기능을 구현하는 제너럴리스트를 뜻하는 경우가 많다. 동일한 개발자가 React Native나 Electron을 사용하여 모바일 앱과 데스크톱 앱까지 동시에 제작하는 사례가 일반화되었다. 특정 플랫폼의 깊은 전문성보다 도구 활용 능력이 우선시되면서 개발자의 대체 가능성이 커졌고, 이는 개별 노동자의 협상력 하락으로 이어졌다.
AI 에이전트라는 '누수되는 추상화'와 바우하우스적 대안
이러한 프레임워크 중심의 데스킬링은 이제 AI 에이전트의 등장으로 가속화되고 있다. 컴파일러가 항상 동일한 기계어를 내놓는 것과 달리 AI 코딩 도구는 프롬프트의 단어 하나나 모델 버전 차이로 결과가 바뀌는 비결정적(Non-deterministic) 특성을 가진다. 이는 추상화 계층 아래의 복잡성이 그대로 드러나는 누수되는 추상화(Leaky Abstraction) 현상이다. LLM 프롬프팅은 논리적 설계보다 최적의 키워드를 찾아내던 구글푸(Google-fu) 과정과 유사하며, 확률적으로 적절해 보이는 조합을 탐색하는 작업이다. 따라서 사용자가 AGENTS.md나 SKILL.md 파일을 수정해도 모델이 스스로 오류 패턴을 학습해 완전히 교정하는 것은 불가능하다.
기업은 코드의 품질보다 도입 속도와 비용 절감에 우선순위를 둔다. 기술적 완성도가 낮아도 브랜드 충성도나 가격 경쟁력이 높다면 매출에 즉각적인 타격이 오지 않기 때문이다. 기업은 깊은 이해를 가진 전문가 대신 프레임워크와 AI를 적당히 다루는 제너럴리스트를 선호하며, 저품질 코드의 위험보다 인건비 절감과 인력 교체의 유연성이라는 단기적 이득을 위해 AI 도입을 추진한다.
산업 공정의 효율성과 예술적 완성도를 결합했던 20세기 초 바우하우스(Bauhaus) 모델은 여기서 대안이 된다. 바우하우스 디자이너들이 공장 생산 방식을 수용하면서도 재료의 물성을 연구했던 것처럼, AI라는 자동화 도구를 사용하되 HTML, CSS, 기초 로직 같은 기본 재료에 대한 이해도를 유지하는 방향이다. 추상화 계층에서 누수가 발생했을 때 이를 수정하는 능력은 기본기에서 나온다. 도구가 만드는 결과물을 검토하고 기존 코드베이스에 통합하는 능력만이 AI가 만든 저품질 코드의 양산을 막는 제어 장치가 된다.
AI가 구현의 진입장벽을 낮추며 코드 생산성은 수치상으로 급증했다. 하지만 추상화된 도구에 의존하는 시간이 길어질수록 언어의 본질과 하부 구조에 대한 이해도는 낮아진다. 도구가 제공하는 정답에 매몰된 개발자는 결과물의 오류를 검증할 능력을 상실하게 된다. 결국 단순 구현 능력은 가치를 잃고, 복잡한 시스템을 설계하고 검증하는 아키텍처 역량이 개발자의 실질적 등급을 결정한다.
AI가 구현의 진입장벽을 낮추며 코드 생산성은 수치상으로 급증했다. 하지만 추상화된 도구에 의존하는 시간이 길어질수록 언어의 본질과 하부 구조에 대한 이해도는 낮아지는 데스킬링 현상이 가속화된다. 도구가 제공하는 정답에 매몰된 개발자는 결과물의 오류를 검증할 능력을 상실하게 된다. 결국 단순 구현 능력은 가치를 잃고, 복잡한 시스템을 설계하고 검증하는 아키텍처 역량이 개발자의 실질적 등급을 결정한다.




