News Feed

직접 코드를 쓰는 시대는 끝났다

컨텐츠 정보

  • 조회 400

본문

코드를 작성하는 행위는 완전히 지나간 시대의 일이 됐다. 머지않아 AI 에이전트가 사람이 작성하는 것보다 더 나은, 더 깔끔한 코드를 만들어낼 전망이다. 컴파일러가 사람이 직접 작성한 어셈블리 코드보다 더 효율적인 결과물을 생성했던 변화와 유사한 흐름이다.

샌프란시스코의 날씨에 관한 오래된 농담이 있다. 마음에 들지 않으면 세 블록을 걸으면 된다는 이야기다. 혹은 15분만 기다리면 된다는 말도 있다. 어느 경우든 적용되며, 샌프란시스코의 날씨는 독특하다.

웹 프레임워크에 관한 비슷한 농담도 있었다. 마음에 들지 않으면 24시간만 기다리면 새로운 프레임워크가 등장한다는 말이었다. 과장처럼 들리지만 당시 상황에서는 큰 과장이 아니었다.

필자가 나이를 자주 언급하는 이유는 단순하다. 오랫동안 기술 환경을 경험해 왔기 때문이다. 1993년 필자가 인터넷에 처음 접속했을 때, 웹은 서로 연결된 문서들의 집합에 불과했다.

필자의 첫 웹페이지는 디렉터리 루트에 위치한 단일 대형 index.html 파일이었다. 얇고 넓은 레인보우 GIF 파일로 구획을 나누며 취미, 좋아하는 영화, 그리고 당시 필수로 존재했던 ‘공사 중’ 섹션을 배치했다. 깜박이는 텍스트도 빼놓지 않았다.

어제의 코딩

이후 자바스크립트와 CSS가 등장하며 웹 개발은 빠르게 변화했다. 초기 자바스크립트 개발은 오븐 장갑을 끼고 뜨개질하는 것 같은 난이도였다. 브라우저마다 문서 객체 모델(Document Object Model) 처리 방식이 달라 혼란이 컸다. 제이쿼리(jQuery)가 등장하면서 상황은 비로소 정돈되기 시작했다. 제이쿼리는 브라우저의 DOM을 최소한 제어할 수 있는 기반을 제공했다.

UI 개발은 제이쿼리로 수월해졌지만, 실제 애플리케이션 개발이나 모듈 구조 설계 같은 소프트웨어 공학적 작업은 여전히 어려웠다. 이로 인해 수많은 자바스크립트 프레임워크가 등장했다. 백본(Backbone), 노크아웃(Knockout), 미티어(Meteor), 엠버(Ember), 앵귤러JS(AngularJS) 등이 그중 실제 사용자층이 형성된 프레임워크였다. 필자가 장담할 수 있는 사실은, 그보다 훨씬 많은 프레임워크가 존재했다는 점이다. (지금도 여러 개가 남아 있다.)

결국 일정 시간이 지나 시장은 안정됐고, 어느 순간 많은 개발자가 리액트(React)(React) 중심으로 개발을 시작했다. 물론 앵귤러(Angular), 뷰(Vue), 스벨트(Svelte) 개발자도 존재했다. 그러나 단일 페이지 애플리케이션(SPA)이 항상 최선의 접근은 아니라는 사실이 곧 드러났다. 대다수 웹 사용 목적이 블로그 게시나 문서 공유였고, 결국 개발 방식은 초창기의 구조로 되돌아갔다.

이 모든 설명은 결국 하나의 결론으로 이어진다. 웹 개발은 어렵고 기묘하며 다양한 해결 과제를 품은 영역이다.

그리고 여기서 필자가 하고 싶은 핵심 주제가 등장한다. 이제 이런 문제들을 더는 신경 쓸 필요가 없다는 것이다.

오늘의 코딩

지난 3월, 지금 감각으로는 AI 시대의 수십 년 전처럼 느껴지는 시점에, 필자는 새롭게 등장한 ‘바이브 코딩’에 관해 기사를 작성했다. 현재는 이것을 그냥 ‘코딩’이라고 부른다. 혹은, 사실 더 나아가 코딩이라고 부르지도 않는다. 이제는 소프트웨어 개발이다.

필자는 진행 중인 작은 프로젝트를 위해 웹페이지를 바이브 코딩 방식으로 제작했는데, 실제로 잘 작동했다. 인증, 로깅, API 키, 상태 관리 등 필요한 기능이 모두 구현됐다. 필자는 선호하는 프레임워크 아스트로를 반드시 사용하도록 클로드 코드에 요청했으며, 생성된 코드는 상당히 우수했다. 약 일주일 만에 얻은 결과물 치고는 놀라운 수준이었다.

필자는 어느 순간 코드 한 줄도 작성하지 않았다는 사실을 깨달았다. 이후에는 코드 자체를 확인하는 행위도 중단했다. 아스트로 방식에서 조금 벗어난다 해도 개의치 않았다.

다만 필자는 완전히 손을 떼지는 않았다. 로깅과 인증 기능을 교체 가능하도록 만들기 위해 인터페이스 기반 설계를 적용하라고 지시했다. 구현체가 아닌 인터페이스를 기준으로 개발하는 방식이 좋은 설계라는 사실은 변하지 않는다.

그러나 곧 이런 생각에 도달했다.
머지않아 클로드가 인터페이스 기반 설계가 올바른 방식이라는 점을 지시하지 않아도 스스로 파악할 것이라는 사실이다.
바로 그것이 ‘올바른 개발 방식’이기 때문이다.

내일의 코딩

과거 어셈블리 개발자가 컴파일러 등장 이후 느꼈던 변화가 지금 재현되고 있다. 숙련된 개발자는 깔끔하고 구조화된 어셈블리 코드를 직접 작성할 수 있었다. 초기 컴파일러는 다소 비효율적이었지만, 이후 컴파일러는 빠르게 발전하며 사람이 작성한 코드보다 더 최적화된 결과물을 지속적으로 만들어냈다. 결국 대부분은 어셈블리를 작성하지 않게 됐다. (물론 지금도 일부는 작성한다.)

필자가 말하고 싶은 바는 단순하다. 코드를 작성하는 시대는 끝났다.

머지않아 AI 에이전트는 사람이 작성할 수 있는 어떤 코드보다 더 나은 구조와 품질의 코드를 생성할 것이다. 이는 우리가 사용하는 웹 프레임워크가 무엇인지가 점점 중요하지 않게 된다는 의미다. 어떤 프레임워크를 사용하든 최종 웹 애플리케이션은 정상적으로 작동하며 요구 기능을 수행할 것이고, 개발자는 특정 프레임워크나 언어를 신경 쓰지 않을 것이다.
dl-itworldkorea@foundryco.com

관련자료

댓글 0
등록된 댓글이 없습니다.
Member Rank