기계 말의 시대

발행: (2026년 1월 2일 오전 09:05 GMT+9)
7 min read
원문: Dev.to

Source: Dev.to

우리는 아직 AI에게 더 빠른 말을 가르치고 있다

오늘 개발자 피드를 스크롤하면 같은 논쟁이 반복되는 것을 볼 수 있다:

  • AI가 소프트웨어 엔지니어를 대체할까?
  • AI가 생성한 코드는 안전하거나 유지보수하기 쉬운가?
  • “바이브 코딩”은 나쁜 습관인가?

이 모든 논의는 숨은 전제를 공유한다—즉, 오늘 우리가 소프트웨어를 만드는 방식은 근본적으로 동일하게 유지될 것이며, AI는 그 과정에 보조 역할만 할 것이라는 가정이다.

나는 그 가정이 틀렸다고 생각한다.

추상화에 대한 짧은 회고

나는 임베디드 시스템 엔지니어로서 마이크로컨트롤러용 코드를 작성하면서 소프트웨어 여정을 시작했다. 고수준 언어로 이미 간주되는 Embedded C 이전에 나는 어셈블리 언어를 다뤘다. 두 경우 모두 최종 결과는 동일했다: EEPROM에 기록된 헥스 코드가 하드웨어에서 미리 정의된 로직을 실행한다.

그 후 부수적인 취미로 ActionScript(RIP Flash)를 다루었고, 이는 결국 나를 JavaScript 생태계로 이끌어 웹 개발 쪽으로 커리어를 전환하게 했다. 그 전환을 통해 “고수준”이 시간이 지나면서 얼마나 빠르게 변하는지를 직접 목격했다.

HTML5와 Web 2.0이 부상하면서 JavaScript 개발은 급격히 진화했다. jQuery는 DOM 조작을 단순화했고, Angular와 Meteor 같은 프레임워크는 추상화를 한층 더 높였다. Node.js는 JavaScript를 서버로 끌어들였으며, Webpack, Parcel, 그리고 이후의 Vite 같은 번들러는 복잡성을 점점 더 자동화했다.

하지만 이러한 변화 속에서도 한 가지는 변하지 않았다: 최종 출력은 여전히 순수한 JavaScript, HTML, CSS였다. 우리는 레이어를 제거한 것이 아니라, 기존 레이어 위에 새로운 레이어를 계속 쌓아 올린 것이다.

AI는 기계식 말이다

말이 수레를 끄는 모습을 상상해 보라. 인간이 처음으로 엔진을 발명했을 때 가장 자연스러운 생각은 자동차를 만드는 것이 아니라, 생물학적 말을 기계식 말로 바꾸는 것이었다. 같은 수레, 같은 사고 모델, 단지 동력만 달라진 것이다. 진정한 도약은 그 이후에 일어난다.

우리가 오늘 AI를 사용하는 방식은 바로 이와 같다.

대부분의 AI 도구는 React 컴포넌트를 작성하거나, 보일러플레이트를 생성하거나, 기존 코드를 리팩터링하는 데 초점을 맞춘다. 다시 말해, AI는 같은 시스템에서 같은 일을 더 빠르게 수행하는 기계식 말에 불과하다.

이는 유용하지만, 진정한 파괴적 혁신은 아니다.

우리가 이야기하지 않는 도약

소프트웨어 역사를 돌아보면, 우리는 인간의 의도와 기계 실행 사이의 간극을 메우기 위해 추상화 레이어에 의존해 왔다. 읽기 쉽고 유지보수 가능한 코드는 주로 인간을 위한 것이며, 기계를 위한 것이 아니다.

따라서 진짜 질문은 AI가 더 나은 React 코드를 쓸 수 있느냐가 아니다.

진짜 질문은: *AI가 우리 추상화 자체를 전혀 필요로 하지 않을 때는 무엇이 일어날까?*이다.

React 코드를 작성하도록 AI에 요청하는 대신, 우리는 AI에게 우리의 의도를 만족시키는 최종 실행 로직을 직접 생성하도록 요구할 수 있다—우리 의도를 만족시키는 가장 낮은 수준의 표현이다. 프레임워크, 언어, 그리고 코드 구조조차도 주요 산물이 아니라 구현 세부 사항이 된다.

그때가 되면, 어제의 “고수준” 도구는 오늘의 저수준 배관이 될 것이다.

개발자에게 의미하는 바

이 변화가 소프트웨어 엔지니어를 사라지게 하지는 않겠지만, 소프트웨어 엔지니어링의 모습은 바뀔 것이다. 초점은 한 줄 한 줄 코드를 작성하는 것에서 목표, 제약, 동작, 결과를 정의하는 쪽으로 이동한다.

그 세계에서 프로그래밍은 문법보다 의도에 더 가깝게 된다.

오늘 대부분의 AI 논의는 여전히 더 빠른 말을 만드는 데 머물러 있다.

하지만 자동차로 진화하는 시대는 멀지 않았다.

Back to Blog

관련 글

더 보기 »