AI 코딩 시대, 웹 개발자의 경쟁력
AI 코딩 시대, 웹 개발자의 경쟁력
앞선 글에서는 가짜 생산성이 아닌 진짜 생산성, 즉 완성도가 있고 운영 가능한 제품이나 서비스에 대해서 이야기했다. 그렇다면 이어서 이런 질문이 생긴다. 코딩 자체는 AI가 너무나 쉽게 해 주는 시대가 되었는데, 웹 개발자는 앞으로 무엇을 해야 할까.
AI가 세상에 나오기 전에는 웹사이트나 모바일 앱을 만드는 것 자체가 전문적인 기술이었다. 알고리즘, 자료구조, 프로그래밍 언어, SQL문, 플랫폼 구조, 성능 개선, 보안 등 수많은 과목과 기술을 학습해야 했다. 홈페이지 하나를 만들기 위해서도 HTML, CSS, 자바스크립트, 나중에는 타입스크립트와 Next.js 같은 기술을 알아야 했다. 데이터베이스 테이블을 설계하고, 서버에는 어떻게 배포할지, 프론트엔드와 백엔드에서는 어떤 프로세스가 수행되어야 할지 설계해야 했다. 또한 많은 개발자가 어려워하는 UX/UI와 프론트엔드 개발 역시 감각과 경험이 필요했다.
하지만 이제 AI 시대에는 위의 사항들을 모두 깊이 알지 못해도, 프롬프트를 잘 입력하고 여러 도구를 사용하면 빠르게 디자인 시안을 보여주고 웹사이트와 앱의 초안을 만들 수 있다. 예전에는 와이어프레임을 만들고 디자인하고 개발하고 수정하는 과정이 꽤 길었다. 이제는 생각을 글로 설명하면 AI가 어느 정도 화면과 기능을 만들어준다.
중요한 것은 이것이 더 이상 기존 웹 개발자만 할 수 있는 일이 아니라는 점이다. 어느 정도 컴퓨터를 다룰 줄 알고 머릿속의 생각을 글로 설명할 수 있다면 누구나 웹사이트나 앱의 초안을 만들 수 있는 시대가 되어 버렸다.
그렇다면 기존 웹 개발자의 가치는 사라지는 걸까. 가치가 사라지지 않게 하기 위해서는 무엇을 해야 할까.
AI가 코딩을 잘하기 때문에 일반적인 소개 페이지, 랜딩 페이지, 관리자 기능, 게시판 정도는 빠르게 만들 수 있다. 이런 기능 자체만으로는 더 이상 큰 경쟁력이 되기 어렵다.
그럼 개발 프로세스로 생각해보자.
하나의 제품이나 서비스를 만들기 위해 가장 처음 출발하는 것은 문제나 목표 정의이다. 그 이후 그 문제나 목표를 달성하기 위해 요구사항을 수집하고 정리한다. 그리고 어떻게 개발할지 설계한다. 설계에서는 어떤 기능을 만들 것인지, 어떤 기술을 써서 구현할 것인지도 중요하다. 하지만 보다 신경 써야 하는 것은 비기능 요구사항이다. 성능, 보안, 유지보수, 확장성, 안정성 같은 것들이다. 그다음이 구현이고, 구현 다음에는 테스트와 배포가 남아 있다.
AI는 이 모든 과정을 어느 정도 도와줄 수 있다. 요구사항 정리도 도와주고 설계 초안도 만들어주고 테스트 코드도 작성해줄 수 있다. 하지만 AI가 가장 직접적으로 빠르게 대신해주는 것은 구현, 즉 코딩에 가깝다. 나머지 과정은 AI가 도와줄 수는 있지만, 무엇이 맞는 방향인지 판단하고 결과에 책임지는 것은 결국 사람의 몫이다.
이 과정에서 내가 생각하는 가장 중요한 것은 문제 정의다. 논문을 쓸 때도 가장 중요한 것이 문제 정의였다는 생각이 스쳐 지나간다. 문제가 명확하면 그 해결 방안을 찾고 해결하는 과정과 증거를 논리적으로 설명하면 논문이 된다.
제품이나 서비스도 마찬가지이다. 누가, 어떤 상황에서, 어떤 문제 또는 목표를 가지고 있는지 명확히 정의해야 한다. 그 문제를 해결하는 것이 정말 필요한 일인지, 사용자가 반복해서 겪는 문제인지, 해결되었을 때 시간이나 비용이 얼마나 줄어드는지도 봐야 한다.
이 문제는 예전에는 웹 개발자 관점에서 본인의 일이 아니었다. 좋은 아이디어나 의뢰자가 요청한 것을 시스템적으로 잘 설계하고 문제 없이 구현하는 것이 경쟁력이었다. 하지만 지금은 다르다. 일반적인 웹 개발자로 남으려면 웹사이트를 만들려는 분야의 도메인 전문가까지는 아니더라도, 최소한 그 분야의 업무 흐름과 문제 구조를 이해하는 사람이 되어야 한다.
개발자가 모든 분야의 전문가가 될 필요는 없다. 하지만 자신이 만드는 시스템이 어떤 현장의 문제를 해결하는지는 이해해야 한다. 문서에 적힌 요구사항만 보고 만드는 것이 아니라, 실제 사용자가 어떤 상황에서 왜 그 기능을 필요로 하는지 알아야 한다.
또한 AI 시대에 맞는 시스템을 만들기 위해서는 결국 데이터를 어떻게 축적하고 어떻게 이용할 것인가에 대한 설계가 중요하다. 해당 도메인을 알아야 어떤 데이터를 쌓아야 하는지 알 수 있다. AI는 그 데이터로 어떤 처리를 할 것인지, 사람은 어떤 피드백을 남길 것인지도 설계해야 한다.
AI 시대의 시스템은 단순히 기능을 만드는 것에서 끝나지 않는다. 제품을 사용할수록 데이터가 쌓이고 그 데이터가 다시 더 나은 판단과 자동화로 이어지는 구조를 만들어야 한다. 결국 경쟁력은 화면이 아니라 데이터의 흐름에서 생길 수 있다.
이러한 데이터 생태계, 즉 Data Ecosystem을 끌어내는 것이 경쟁력 있는 웹 개발자의 길이 아닐까라는 생각이 든다. 남의 데이터나 누구나 쉽게 접근할 수 있는 데이터만 사용하는 제품은 쉽게 복제될 수 있다. 하지만 사용자의 행동, 선택, 피드백, 결과가 계속 쌓이는 시스템은 시간이 지날수록 차별화될 수 있다.
그래서 이제는 “저는 React와 Next.js를 잘합니다”라는 말보다
저는 특정 산업의 문제를 웹과 AI와 데이터로 해결합니다.
라고 말할 수 있어야 한다.
병원 예약 홈페이지를 만드는 사람이 아니라 병원의 예약, 대기, 환자 안내 업무를 자동화하는 사람이 되어야 한다. 쇼핑몰을 만드는 사람이 아니라 특정 도매업체의 주문, 재고, 정산 흐름을 하나의 시스템으로 연결하는 사람이 되어야 한다. 교육 플랫폼을 만드는 사람이 아니라 학원의 평가, 피드백, 학습 기록을 연결하는 시스템을 만드는 사람이 되어야 한다. 금융 대시보드를 만드는 사람이 아니라 투자자의 판단, 위험 관리, 실행 기록을 하나의 흐름으로 연결하는 사람이 되어야 한다.
웹 개발자는 더 이상 웹사이트만 만들어주는 사람이 아니다. 특정 분야의 업무를 이해하고 그 분야의 문제를 시스템으로 바꾸는 사람이 되어야 한다.
과거에는 무엇을 만들 수 있는가가 중요했다. 이제는 무엇을 만들어야 하는가가 더 중요하다. 다른 사람이 쉽게 복제할 수 없는 데이터가 쌓이는지, 시간이 지나도 유지할 수 있는 시스템인지도 봐야 한다.
웹 개발자는 사라지는 것이 아니다. 다만 웹 개발만으로 경쟁하던 시대가 끝나고 있다.
앞으로 살아남는 웹 개발자는 가장 많은 기능을 만드는 사람이 아닐 것이다. 가장 중요한 문제를 선택하고 특정 분야의 업무와 데이터를 이해하며, 오랫동안 안정적으로 작동하는 시스템을 만드는 사람이 될 것이다.
AI 시대의 웹 개발자는 코드를 많이 쓰는 사람이 아니라 문제와 데이터와 운영을 하나의 시스템으로 묶는 사람이 되어야 한다.