직장인 개발자의 사이드 프로젝트 도전기
같은 AI를 쓰는데 왜 어떤 사람은 하루 만에 앱을 만들고, 어떤 사람은 일주일째 같은 화면에서 헤맬까요.
저는 후자였습니다. 퇴근 후 제 앱 'After Work'를 만들면서 요즘 유행하는 '바이브 코딩'에 푹 빠졌는데요. 처음에는 정말 마법인 줄 알았습니다. "이거 만들어줘" 하면 눈 깜짝할 사이에 화면이 나오니까요. 그런데 버튼을 누르면 아무것도 안 되고, 하나를 고치면 다른 게 망가지고. 열정만 넘치는 덜렁대는 신입사원 같다고 느꼈습니다.
그런데 계속 부딪히다 보니 조금씩 요령이 생기더라고요. 그리고 깨달았습니다. AI를 잘 쓰는 건, 일을 잘 시키는 것과 같다는 걸. 오늘은 제가 앱을 만들면서 몸으로 깨달은 다섯 가지를 나눠보려 합니다.
저는 MBTI J 성향답게 계획을 먼저 세우는 편입니다. AI한테 코딩을 시킬 때도 마찬가지였습니다. 바로 "이거 만들어줘"라고 던지는 대신, 먼저 간단한 계획서를 씁니다. 거창한 문서가 아닙니다. "이 기능은 뭘 하는 건지, 완성되면 어떤 모습인지, 주의할 점은 뭔지"를 정리하는 겁니다.
그리고 이 계획서를 AI한테 주면서 이렇게 말합니다. "이거 읽고, 궁금한 게 있으면 나한테 질문해." 그러면 AI가 제가 미처 생각 못한 빈틈을 짚어줍니다. "카메라 권한을 사용자가 거부하면 어떻게 하나요?", "타이머가 도중에 앱을 꺼도 유지되어야 하나요?" 같은 질문들이요. 이 질문에 답하다 보면, 제 머릿속에만 있던 모호한 그림이 선명해집니다.
처음에는 좀 어색했습니다. AI한테 질문을 받는다는 게. 그런데 몇 번 해보니까, 이 대화가 잠깐이면 끝나는데 그 잠깐 덕분에 수정에 쏟는 반나절을 아꼈습니다.
회사에서 동료와 일을 할 때도 그렇잖아요. "알아서 해봐"보다 "이 방향으로, 이 범위에서, 이건 꼭 지켜서"가 훨씬 좋은 결과를 만듭니다. AI도 다르지 않았습니다.
After Work 앱의 메인 대시보드를 처음 만들 때의 일입니다. 이 화면 하나에 들어가는 게 꽤 많습니다. 주간 퀘스트 카드, 20분 타이머 시작 버튼, 연속 성공 스트릭, 랭킹, 잔디 그래프까지. "대시보드 만들어줘"라고 한 번에 시켰습니다.
AI가 뭔가를 쏟아냈는데, 열어보니 엉망이었습니다. 퀘스트 카드를 고치면 타이머 버튼이 밀려나고, 랭킹을 수정하면 잔디 그래프가 깨지고. 한 화면 안에서 끊임없이 두더지 잡기 게임을 하는 기분이었습니다.
결국 "퀘스트 카드만 먼저 만들어줘", "타이머 버튼만 추가해줘", "잔디 그래프는 따로 만들어줘" — 이렇게 한 조각씩 시키니까 한 번에 됐습니다. 다섯 가지를 한꺼번에 시킨 건 제 욕심이었던 거죠.
사람한테 일을 시킬 때도 마찬가지 아닙니까. "이번 분기 마케팅 전략 짜줘"라고 던지면 상대방도 막막합니다. "인스타 채널 콘텐츠 캘린더 먼저 잡아줘"라고 쪼개서 시켜야 원하는 결과가 나오죠. 큰 일을 작게 쪼개는 능력. 이건 AI 시대 이전에도 일 잘하는 사람의 기본기였습니다.
이틀간 몰입해서 기능들을 만들었을 때의 일입니다. AI가 화면을 만들어줬는데, 겉보기엔 그럴싸했습니다. 톱니바퀴처럼 잘 맞물려 돌아가는 것 같았죠.
그런데 직접 만져보니 이야기가 달랐습니다. 모델하우스에 가면 멋진 주방이 있잖아요. 그런데 수도꼭지를 틀면 물이 안 나오는 것처럼. 버튼을 누르면 아무 반응이 없고, 연결되어야 할 화면은 끊겨 있었습니다. AI 입장에서는 거짓말을 한 게 아닙니다. 화면을 만든 건 사실이니까요. 다만 제가 원한 '완료'가 아니었을 뿐입니다.
그때 깨달았습니다. AI의 "완료"와 내 "완료"는 기준이 다르다는 걸. 이후로는 시킬 때 "버튼을 누르면 실제로 다음 화면으로 넘어가는지 테스트", "데이터가 진짜로 저장되는 것까지 테스트를 성공해야 함" 같은 완료 기준을 명확하게 적어줍니다. 이 한 줄을 추가하는 것만으로 결과가 확 달라졌습니다.
"만들어줘"에서 끝나면 AI는 자기 기준으로 완료합니다. "만들고 나서 이걸 직접 테스트해서 통과해야 끝이야"까지 붙여줘야 진짜 완료가 나옵니다. 검수 기준 없이 납품받는 사람은 없잖아요.
앱 개발 초반, AI한테 화면을 고쳐달라고 했는데 A를 고치면서 멀쩡하던 B가 망가지는 일이 반복됐습니다. "여기 고쳐줘" → 깨짐 → "다시 고쳐줘" → 또 깨짐. 두더지 잡기가 끝나지 않았습니다.
처음에는 계속 같은 말을 반복했습니다. "아니 그거 말고 이거 고쳐달라니까." 당연히 결과도 똑같았죠. 벽에 같은 방향으로 계속 머리를 박는 격이었습니다.
어느 순간 멈추고 생각을 바꿨습니다. 같은 지시를 반복하는 게 아니라, AI가 왜 틀렸는지를 먼저 파악하기로요. 살펴보니 AI가 전체 파일을 한꺼번에 수정하고 있었습니다. 그래서 "이 파일은 건드리지 마. 이 부분만 수정해"라고 범위를 좁혀서 다시 시켰더니 한 번에 해결됐습니다.
"다시 해봐"와 "이번엔 이렇게 해봐"는 완전히 다른 지시입니다. 같은 말을 반복하는 건 AI 탓이 아니라 제가 피드백을 바꾸지 않은 탓이었습니다. 사람도 같은 지적을 세 번 반복했는데 결과가 동일하다면 접근 방법을 다시 고민해야하는 것과 같은 이치입니다.
AI가 만들어준 앱 화면은 대부분 '기능적으로는' 괜찮았습니다. 솔직히 예전 같으면 며칠 걸렸을 일을 몇 분 만에 해주니 대단하긴 합니다.
빠르게 만들어지는 건 좋았습니다. 하지만 한편으로는 욕심이 생겼습니다. 나도 이 코드를 이해하고 싶다는 욕심. AI가 짜준 코드를 복사해서 붙여넣기만 하면 앱은 돌아가지만, 나중에 버그가 생기거나 기능을 업데이트해야 할 때 스스로 손댈 수가 없으니까요. 이 프로덕트를 오래 운영하려면 결국 제가 이해하고 있어야 했습니다. 개발자로서도 성장하고 싶었고요.
그래서 만들면서 동시에 배우기로 했습니다. 다만 문법 하나하나에 집착하지는 않습니다. 세미콜론을 어디에 찍는지, 변수 선언 방식이 뭔지 등은 AI가 알아서 해주면 됩니다. 제가 이해하려는 건 더 큰 그림입니다. 파일들이 어떤 구조로 정리되어 있는지, 사용자가 버튼을 누르면 데이터가 어떤 경로로 흘러가는지, 그 데이터가 어디에 저장되는지. 쉽게 말해 나무 한 그루의 잎맥이 아니라, 숲의 지도를 먼저 읽는 겁니다.
이렇게 큰 그림을 잡아두니까 AI가 짠 코드를 볼 때 "아, 이 파일이 여기서 이 역할을 하는 거구나"가 보이기 시작했습니다. 또, 코딩을 하다가 새로운 개념이 나오면 AI가 자동으로 이론을 설명하도록 했습니다. 그리고 다음날 설명했던 내용을 제가 잘 기억하는지 퀴즈를 내도록 시켰습니다. 그렇게 AI가 문제를 내고 제가 풀면서 정말로 이해했는지 확인하는 거죠.
결국 "돌아간다"와 "왜 돌아가는지 안다"는 다른 차원이더라고요. AI한테 일을 시키되, 그 과정에서 내가 배워야 이 프로덕트를 끝까지 책임질 수 있습니다. AI는 조수이자 선생님이기도 했습니다.
다섯 가지를 쓰고 보니 결국 하나로 모입니다.
AI를 잘 쓰는 법은, 일을 잘 시키는 법과 같았습니다.
계획을 먼저 세우고, 작게 쪼개서 시키고, 완료 기준을 명확히 하고, 실패하면 방식을 바꾸고, 그 과정에서 나도 함께 배운다. AI 이전에도 일 잘하는 사람들이 해오던 것들입니다. 도구가 AI로 바뀌었을 뿐, 본질은 그대로입니다.
바이브 코딩 시대라고 해서 사람이 할 일이 없어진 게 아닙니다. 코드를 직접 타이핑하는 시간은 줄었지만, 방향을 잡고, 판단하고, 품질을 책임지는 일은 오히려 더 중요해졌습니다.
AI는 열정 넘치는 신입사원입니다. 시키면 불평 없이 밤새 일하는, 세상에서 가장 성실한 신입. 하지만 그 신입을 제대로 이끄는 건 결국 사수의 역량이더라고요.
여러분도 AI를 쓰면서 비슷한 경험을 하고 계신가요? 잘 시키는 요령이 있다면, 댓글로 알려주세요. 저도 배우고 싶습니다.
제가 만들고 있는 앱의 사전예약 페이지 입니다.
응원 부탁드려요!
:)