온라인에서 AI 개발에 관한 영상을 보다 보면 “누구나”, “딸깍 한 번이면” 프로그램을 만들 수 있다는 표현을 자주 만납니다. 정말 아무것도 모르는 사람도 생각만 있으면 원하는 프로그램을 완성할 수 있을까요? 오랫동안 개발 현장에서 일했던 경험을 바탕으로 직접 확인해 보기로 했습니다.
결론부터 말씀드리면 AI는 분명 매우 강력한 개발 도구였습니다. 제가 다시 현업으로 돌아간다면 개발 시간을 과거의 10분의 1 수준까지 줄일 수 있겠다는 생각도 들었습니다. 다만 그 놀라운 속도는 무엇을 만들지 설계하고, AI의 결과를 판단할 수 있는 사람이 사용할 때 비로소 의미가 있었습니다.
20년 동안 프로그램의 처음과 끝을 경험했습니다
저는 20여 년 동안 현장에서 프로그램을 개발했습니다. 지금처럼 AI가 코드를 작성해 주는 시대가 아니었기 때문에 필요한 기능을 직접 설계하고 구현하며 하나씩 완성했습니다.
대기업에서 근무했지만 제가 속한 팀은 특정 화면 몇 개만 만드는 조직이 아니었습니다. 회사 업무를 분석하고, 데이터베이스를 설계하고, 프로그램을 개발했습니다. 완성된 프로그램을 사용자에게 교육하고, 실제 사용 과정에서 나온 의견을 반영하고, 문제가 생기면 유지보수하는 일까지 담당했습니다.
프로그램이란 코드만으로 완성되는 것이 아니라는 사실을 자연스럽게 배웠습니다. 사용자가 어떤 일을 하는지 이해해야 했고, 그 업무를 데이터와 화면으로 어떻게 옮길지 결정해야 했습니다. 지금의 기능 하나가 나중에 어떤 문제를 만들 수 있는지도 생각해야 했습니다. 이런 판단들이 쌓여야 비로소 실제 현장에서 사용할 수 있는 프로그램이 되었습니다.
AI로 학원 수업일지를 만들어 보았습니다
LLM을 이용한 개발이 어느 정도까지 가능한지 알아보기 위해 학원에서 실제로 필요한 프로그램을 만들었습니다. 반별 수업 내용을 기록하고, 학생들에게 안내할 숙제를 정리하는 온라인 수업일지였습니다.
처음에는 아주 단순한 업무처럼 보였습니다. 수업 내용을 입력하고 저장한 뒤 다시 확인하면 되는 정도라고 생각할 수 있습니다. 그러나 실제로 만들기 시작하자 필요한 데이터베이스 테이블은 10개 안팎으로 늘어났고, 화면도 비슷한 수만큼 필요해졌습니다.
반과 학생은 어떻게 연결할지, 수업일지는 날짜별로 어떻게 보관할지, 숙제는 반 전체와 개별 학생을 어떻게 구분할지 결정해야 했습니다. 잘못 작성한 기록을 수정할 수 있어야 했고, 지난 기록을 찾는 방법과 사용자별 권한도 생각해야 했습니다. 겉으로는 단순해 보이는 업무 안에도 수많은 선택이 숨어 있었습니다.
업무를 이해하고 데이터의 관계를 정하며 화면의 흐름을 설계하는 일은 여전히 사람의 몫이었습니다.
LLM은 유능한 팀원처럼 일했습니다
개발 과정에서 LLM은 무척 효율적인 팀원이었습니다. 제가 기능의 목적과 구조를 구체적으로 설명하면 필요한 코드를 빠르게 작성했고, 반복 작업도 지치지 않고 처리했습니다. 오류가 생겼을 때 원인을 함께 찾고 다른 해결 방법을 비교하는 일도 가능했습니다.
제가 전체 구조를 바라보면서 작업을 나누어 전달하면 LLM은 각 부분을 놀라운 속도로 구현했습니다. 과거에는 직접 작성하느라 많은 시간이 필요했던 코드가 짧은 시간 안에 만들어졌습니다. 그래서 AI가 개발 생산성을 크게 높인다는 주장에는 충분히 공감합니다.
그러나 팀원에게 일을 맡기려면 먼저 책임자가 전체 업무를 이해해야 합니다. 무엇을 맡길지, 결과가 요구사항에 맞는지, 다음 작업과 충돌하지 않는지 판단할 수 있어야 합니다. LLM과의 개발도 마찬가지였습니다.
‘딸깍’으로 완성된다는 말이 놓치는 것
AI에게 한 문장으로 요청해도 그럴듯한 화면이나 간단한 시제품은 빠르게 나옵니다. 이 경험 자체는 매우 흥미롭고, 처음 개발을 시작하는 사람에게 좋은 계기가 될 수 있습니다. 다만 시제품이 보인다는 것과 실제로 계속 사용할 프로그램이 완성되었다는 것은 다른 이야기입니다.
사용 중 데이터가 잘못 저장되면 어떻게 복구할지, 여러 사람이 동시에 사용할 때 문제가 없는지, 개인정보는 안전한지, 권한이 없는 사람이 다른 기록을 볼 수 없는지 확인해야 합니다. 새로운 기능을 추가할 때 기존 기능이 깨지지 않는지도 살펴야 합니다.
- 업무에 필요한 데이터는 무엇이며 서로 어떻게 연결되는가?
- 사용자는 어떤 순서로 화면을 이동하고 작업하는가?
- 잘못된 입력과 예상하지 못한 상황은 어떻게 처리하는가?
- AI가 만든 결과가 정확하고 안전하다는 것을 어떻게 확인하는가?
- 나중에 기능이 늘어나도 수정할 수 있는 구조인가?
이 질문에 답하지 않은 채 코드를 계속 붙이면 처음에는 빠르게 보이지만 프로그램이 커질수록 방향을 잃기 쉽습니다. AI가 부족해서가 아니라, AI가 따라갈 설계와 기준이 없기 때문입니다.
초보자는 AI로 개발할 수 없다는 뜻은 아닙니다
이 글은 개발 경험이 없는 사람은 AI를 사용하면 안 된다는 이야기가 아닙니다. 오히려 AI 덕분에 더 많은 사람이 자신의 생각을 실제 결과로 만들어 볼 수 있게 되었습니다. 예전처럼 모든 문법을 외우고 모든 코드를 혼자 작성할 정도의 능력이 반드시 필요한 것도 아닙니다.
다만 LLM을 제대로 부리려면 최소한 프로그램의 구조를 이해하고, 요구사항을 나누어 전달하며, 나온 결과를 검증할 수 있어야 합니다. 처음부터 큰 서비스를 한 번에 만들기보다 작은 기능을 직접 기획하고 완성해 보는 경험이 필요한 이유입니다.
숙련된 개발자와 처음 시작한 학생이 같은 AI를 사용한다고 해서 같은 과정과 결과가 나오지는 않습니다. AI가 코드를 작성하는 속도는 같을 수 있지만, 어떤 질문을 하고 어디에서 문제를 발견하며 무엇을 수정할지는 사용자의 경험과 판단에 따라 달라집니다.
AI 시대의 핵심은 프로그램을 기획하는 능력입니다
제가 이번 경험을 통해 가장 크게 느낀 것은 기획의 중요성이었습니다. 여기서 말하는 기획은 멋진 아이디어를 떠올리는 것만을 의미하지 않습니다. 현실의 문제를 정확히 관찰하고, 해결 과정을 작은 기능으로 나누고, 필요한 데이터를 정하고, 완성의 기준을 세우는 일입니다.
AI는 이렇게 정리된 생각을 빠르게 코드로 옮기는 데 탁월합니다. 반대로 생각이 정리되지 않은 상태에서는 계속 다른 결과를 내놓고, 사용자는 그때마다 요청을 바꾸게 됩니다. 작업은 많아지지만 프로그램은 좀처럼 완성되지 않습니다.
앞으로의 개발자는 모든 코드를 직접 작성하는 사람이라기보다, 문제를 설계하고 AI와 협업하며 결과를 책임지는 사람에 가까워질 수 있습니다. 코딩 지식은 사라지는 것이 아니라 AI에게 정확히 지시하고 결과를 판단하기 위한 기반으로 역할이 달라지고 있습니다.
그래서 수업의 방향도 달라져야 합니다
머스트 컴퓨터학원은 앞으로 학생들이 단순히 문법을 따라 입력하는 데서 멈추지 않도록 하려 합니다. 프로그램을 만들기 전에 누구를 위한 것인지, 어떤 문제를 해결할 것인지, 어떤 데이터와 화면이 필요한지 먼저 생각하게 하려고 합니다.
작은 프로그램이라도 직접 기획하고, 기능을 순서대로 나누고, AI가 만든 결과를 시험하고, 문제가 생기면 원인을 찾아 수정하는 경험이 중요합니다. 이 과정을 반복한 학생은 새로운 도구가 등장해도 자신의 생각을 구체적인 결과로 바꿀 수 있습니다.
AI가 많은 코드를 대신 작성해 주는 시대일수록 사람에게는 더 좋은 질문과 더 분명한 판단이 필요합니다. 그래서 코딩 교육의 중심도 ‘얼마나 많이 외웠는가’에서 ‘무엇을 왜 만들고, 어떻게 완성할 것인가’로 이동해야 합니다.
AI는 개발을 없애는 도구가 아니라 개발자의 능력을 확대하는 도구입니다
“딸깍 한 번이면 누구나 무엇이든 만들 수 있다”는 말은 AI 개발의 놀라움을 보여 주기에는 좋습니다. 그러나 실제 업무에 사용할 프로그램을 완성하는 과정까지 설명하기에는 부족합니다.
AI는 분명 개발의 속도를 크게 높여 줍니다. 저 역시 과거의 경험을 바탕으로 LLM을 팀원처럼 활용하면서 그 가능성을 직접 확인했습니다. 하지만 빠른 코딩보다 먼저 필요한 것은 해결할 문제를 이해하고 전체 과정을 설계하는 능력이었습니다.
모든 코드를 혼자 작성할 필요는 없습니다. 대신 AI에게 무엇을 맡길지 설명하고, 결과를 읽고, 잘못된 부분을 고쳐 갈 수 있을 만큼은 배워야 합니다. 앞으로의 코딩 교육이 기획과 문제 해결을 더 중요하게 다루어야 하는 이유입니다.
코딩 이야기 전체 글 보기 →