
우리는 때때로 기술의 발전을 바라보며 많은 착각을 합니다. 특히 최근 몇 년 동안 급격하게 발전한 인공지능 기술을 보면서 이제는 AI가 개발자를 대신하여 프로그램을 만들고, 머지않아 소프트웨어 개발 자체를 담당하게 될 것이라는 이야기를 어렵지 않게 접할 수 있습니다. 실제로 AI는 코드를 작성하고, 오류를 분석하며, 문서를 생성하고, 디자인 시안까지 제안할 수 있을 정도로 발전하였습니다. 이러한 모습을 보면 마치 AI가 프로그램을 스스로 개발하는 것처럼 보이기도 합니다.
하지만 저는 CMS를 직접 설계하고 개발하는 과정을 경험하면서 전혀 다른 결론에 도달하게 되었습니다. AI는 프로그램을 완성하는 존재가 아니라, 개발자의 생각과 의도를 구현하는 데 도움을 주는 매우 강력한 도구에 가깝다는 것입니다.
처음 AI를 접했을 때만 하더라도 저 역시 많은 기대를 가지고 있었습니다. 원하는 기능을 설명하면 코드를 작성해 주었고, 오류가 발생하면 원인을 분석하여 해결 방법을 제시해 주었습니다. 과거에는 수십 분, 길게는 몇 시간씩 소요되던 작업이 단 몇 분 만에 해결되는 경우도 있었습니다. 이러한 경험은 분명 놀라운 것이었습니다. 그래서 많은 사람들이 AI가 개발자를 대체할 수 있다고 생각하는 것도 어쩌면 당연한 일인지 모릅니다.
그러나 실제로 규모가 있는 프로젝트를 개발하기 시작하면 전혀 다른 현실을 마주하게 됩니다.
프로그램 개발은 단순히 코드를 작성하는 작업이 아닙니다. 무엇을 만들어야 하는지 결정하는 과정이며, 어떤 구조로 설계해야 하는지 고민하는 과정입니다. 또한 현재의 기능뿐만 아니라 앞으로의 확장성, 유지보수성, 성능, 사용자 경험까지 함께 고려해야 하는 종합적인 판단의 과정이기도 합니다.
AI는 이미 존재하는 데이터와 학습된 패턴을 기반으로 답변을 생성합니다. 따라서 질문이 명확할수록 좋은 결과를 제공할 수 있습니다. 반대로 질문 자체가 모호하거나 방향성이 정해지지 않았다면 AI 역시 정확한 답을 제시하기 어렵습니다. 결국 AI의 결과물은 사용자가 얼마나 명확하게 목적과 방향을 제시하느냐에 따라 크게 달라집니다.
저는 DXCMS를 개발하면서 이 사실을 더욱 깊이 체감하게 되었습니다. 실제로 가장 많은 시간을 사용한 부분은 코드를 작성하는 일이 아니었습니다. 플러그인 구조를 어떻게 설계할 것인지, 테마 시스템을 어떤 방식으로 구성할 것인지, 코어를 수정하지 않고도 기능을 확장할 수 있도록 어떤 구조를 만들어야 하는지 고민하는 데 훨씬 많은 시간이 소요되었습니다.
특히 CMS는 단순한 프로그램이 아닙니다. 하나의 생태계를 만들어 가는 플랫폼입니다. 따라서 현재 필요한 기능만 구현해서는 안 됩니다. 앞으로 추가될 수많은 스킨과 플러그인, 그리고 이를 활용할 사용자와 개발자들까지 고려해야 합니다. 이러한 부분은 단순히 코드를 생성하는 능력만으로 해결할 수 있는 문제가 아닙니다.
AI는 개발자가 방향을 결정한 이후에 비로소 진가를 발휘합니다. 개발자가 목표를 설정하고 구조를 설계하면 AI는 그 설계를 바탕으로 코드를 작성하고, 반복 작업을 줄여 주며, 더 효율적인 방법을 제안할 수 있습니다. 다시 말해 AI는 설계자가 아니라 매우 뛰어난 보조 개발자에 가깝습니다.
많은 분들이 AI가 코드를 생성하는 모습을 보면서 개발의 본질이 코딩이라고 생각하시기도 합니다. 하지만 실제 개발 현장에서 코딩은 전체 과정의 일부에 불과합니다. 건물을 짓는 과정에 비유한다면 코딩은 벽돌을 쌓는 작업에 해당합니다. 더 중요한 것은 어떤 건물을 지을 것인지 결정하는 설계도이며, 그 설계도를 그리는 사람의 경험과 판단입니다.
AI는 훌륭한 기술자가 될 수는 있지만, 건축가가 되기는 어렵습니다.
특히 플랫폼이나 프레임워크, CMS와 같은 대규모 프로젝트에서는 이러한 차이가 더욱 분명하게 나타납니다. 수많은 기능이 서로 연결되고, 수년 뒤의 확장성까지 고려해야 하는 상황에서는 결국 사람의 경험과 철학이 중심이 될 수밖에 없습니다. AI는 과거의 데이터를 기반으로 답을 제시할 수는 있지만, 미래를 설계하고 새로운 방향을 제시하는 역할까지 수행하기는 어렵습니다.
오히려 AI 시대가 될수록 사람의 판단력은 더욱 중요해질 것이라고 생각합니다. 과거에는 개발자가 구현에 많은 시간을 사용했다면, 앞으로는 무엇을 구현해야 하는지 결정하는 능력이 더욱 중요한 가치가 될 것입니다.
저는 DXCMS를 개발하면서 AI로부터 많은 도움을 받았습니다. 혼자였다면 몇 년이 걸렸을 작업을 훨씬 빠르게 진행할 수 있었던 것도 사실입니다. 그러나 동시에 AI만으로는 지금의 DXCMS가 탄생할 수 없었다는 사실도 분명하게 깨달았습니다. 수많은 설계 변경과 방향 수정, 기능 우선순위 결정, 생태계 전략 수립은 결국 사람이 해야 하는 일이었기 때문입니다.
그래서 저는 AI를 개발자의 경쟁자가 아니라 개발자의 도구라고 생각합니다. 계산기가 수학자를 없애지 못했고, 컴파일러가 개발자를 없애지 못했던 것처럼 AI 역시 개발자를 대체하기보다는 더욱 강력하게 만들어 주는 도구가 될 가능성이 높습니다.
우리가 종종 착각하는 것은 AI가 프로그램을 만든다고 생각하는 점입니다. 그러나 실제로 프로그램을 만드는 것은 여전히 사람입니다. AI는 개발자가 생각한 것을 더 빠르고 효율적으로 구현하도록 도와주는 역할을 수행할 뿐입니다.
결국 프로그램의 완성도를 결정하는 것은 AI의 성능이 아닙니다. 개발자의 철학이며, 경험이며, 판단력입니다. AI는 명령을 수행하는 존재일 수는 있지만 방향을 결정하는 존재는 아닙니다. 그리고 그 방향을 결정하는 역할만큼은 앞으로도 오랫동안 사람의 영역으로 남아 있을 것이라고 생각합니다.
AI는 프로그램을 완성할 수 없다
DX