Jaeyoon.dev

회고

AI와 일하면서 나를 잃지 않으려면

AI와 일하면서 나를 잃지 않으려면 게시글 대표 이미지

tl;dr

처음 ChatGPT를 사용했을 때 AI는 신기하지만 자주 틀리는 도구였다. 그러나 학생에서 부트캠프 수강생을 거쳐 신입 개발자가 되는 동안 AI는 내가 묻는 질문에 답하는 도구에서, 코드를 작성하고 나에게 그 결과를 검토받는 존재로 바뀌었다. 이제 내가 두려운 것은 AI가 코드를 더 빠르게 작성한다는 사실보다, 그 속도를 따라가다 문제를 이해하고 판단하는 힘까지 넘겨주는 것이다. 그래서 AI와 경쟁하기보다 문제의 맥락을 이해하고, 결과를 검증하고, 마지막까지 책임지는 개발자가 되기 위한 습관을 만들려고 한다.

AI가 신기했던 때

ChatGPT를 처음 사용해보던 때가 생각난다. 글또 9기를 시작하며 쓴 글에 ChatGPT에게 글또가 무엇인지 물어보고 맞는 답변을 대답했을 때 “오 이걸 아네!” 신기해하며 캡처했었다.

그렇게 그때의 AI는 신기한 검색창에 가까웠다. 내가 물어본 것을 알고 있으면 “와, 이것도 아네!”라며 감탄했고, 개발하다 만난 에러를 물어봤을 때 이미 시도한 방법이나 부정확한 해결책을 내놓으면 “떼잉 아직 갈 길이 멀구나”라고 생각했다. AI가 나를 평가한다는 느낌보다 내가 AI의 성능을 시험한다는 느낌이 강했다.

그 뒤 2025년 2월에 졸업했고, 3월부터 8월까지 부트캠프를 다녔다. 그리고 2026년 2월, 개발자로 일을 시작했다. 불과 몇 년 사이 내 위치도 학생에서 신입 개발자로 바뀌었고, AI와 나의 관계는 그보다 더 빠르게 변했다.

AI가 무서워진 지금

지금은 관계가 역전됐다. 예전에는 내가 AI에게 문제를 냈다면, 이제는 공부를 위해 AI에게 질문을 내고 내 답을 평가해 달라고 한다. AI가 작성한 코드를 보고 왜 이렇게 작성했는지 묻고, AI가 해결한 문제는 풀이 과정을 다시 설명해 달라고 한다. 내가 문제를 풀고 AI에게 답을 확인받던 때에서, AI가 먼저 답을 만들고 내가 그 풀이를 따라가는 때가 됐다.

“오, 맞아! 그거!”라며 빠르게 일을 끝낼 때는 분명 즐겁다. 하지만 AI가 내 의도를 잘못 이해했을 때, 어디서부터 어긋났고 왜 잘못됐는지 내가 찾아내지 못할까 봐 무섭기도, 두렵기도 하다. 나보다 훨씬 빠르게 기능을 만들고 코드를 작성하는 모습을 보면 “그렇다면 개발자로서 나의 존재 이유는 무엇일까?”라는 생각까지 이어진다.

특히 신입인 나에게 더 큰 문제는 속도가 아니라 성장할 기회를 놓칠 수 있다는 것이다. 개발자는 같은 종류의 코드를 여러 번 작성하고, 버그를 만들고, 고치고, 리뷰받는 과정에서 좋은 코드와 나쁜 코드를 구분하는 감각을 얻는다. 그런데 AI가 그 반복을 전부 대신하면 당장의 결과는 빨리 얻어도, 그 결과가 좋은지 판단할 경험은 쌓지 못할 수 있다.

윤영서님이 번역한 Addy Osmani의 글, 취향과 판단력을 얻는 법을 읽으며 이 불안의 정체를 조금 더 분명하게 볼 수 있었다. 판단력은 타고나는 능력이라기보다 수많은 시행착오가 압축되어 생기는 감각에 가깝다. AI가 반복을 대신하는 시대라면, 신입 개발자는 그 반복을 의도적으로 되찾아야 한다.

대체되지 않는 개발자가 된다는 것

처음에는 AI보다 나은 무언가를 가져야 대체되지 않을 것이라고 생각했다. 하지만 코드 작성 속도로 AI와 겨루는 것은 애초에 내가 이길 수 없는 경기다. 커뮤니케이션은 인간만의 영역이라고 단정하는 것도 위험하다. AI의 말과 글 역시 계속 좋아지고 있기 때문이다.

그래서 질문을 바꾸기로 했다. “AI보다 무엇을 더 잘해야 할까?”가 아니라 “AI를 사용하더라도 내가 끝까지 놓치지 말아야 할 일은 무엇일까?”라고.

문제의 맥락을 이해하고 나눈다

AI와 일하다 보면 “내가 원한 건 이게 아닌데?”라고 말하게 되는 순간이 있다. 요구를 간단히 요약하는 과정에서 중요한 맥락이나 제약이 빠졌기 때문이다. 함께 일하는 동료도 나와 대화할 때 비슷한 답답함을 느낄 수 있다.

좋은 커뮤니케이션은 말을 유창하게 하는 데서 끝나지 않는다. 왜 이 기능이 필요한지, 누구의 어떤 불편을 해결하는지, 무엇을 포기할 수 없는지 확인하고 서로 같은 문제를 보고 있는지 맞추는 일이다. 구현 전에 목적과 완료 조건을 내 말로 다시 확인하고, 구현 뒤에는 무엇을 만들었는지만이 아니라 왜 그렇게 결정했는지와 어떤 제약이 남았는지를 설명하는 개발자가 되고 싶다.

판단을 넘겨주지 않는다

AI의 답을 읽다가 무심코 엔터 키를 누를 때가 있다. 그러다 문득 “AI가 왜 이렇게 했지?”라는 생각이 들면, “이럴 거면 회사가 AI를 쓰지 왜 나를 쓰겠어”라는 말이 머릿속을 스친다.

AI의 답을 그대로 받아들이는 순간이 반복되면 내 생각을 점점 덜 쓰게 된다. 반대로 결과를 의심하기만 하는 것으로도 부족하다. 왜 이 선택이 현재 상황에 맞는지, 다른 선택지는 무엇인지, 어떤 대가가 따르는지 비교한 뒤 내 선택으로 만들어야 한다. AI가 낸 답이라도 승인한 뒤의 결과는 내 책임이다.

라스트 마일까지 책임진다

코드가 작성됐다고 일이 끝나는 것은 아니다. 엣지 케이스를 확인하고, 테스트와 로그로 동작을 증명하고, 실제 사용자의 불편이 해결됐는지 살펴야 한다. 문제가 생기면 원인을 설명하고 다음에는 같은 문제가 반복되지 않도록 바꿔야 한다.

AI는 초안을 빠르게 만들 수 있지만 무엇이 중요한 문제인지 정하고, 지금의 결과가 충분한지 판단하고, 배포 이후까지 책임지는 일은 여전히 사람의 몫이다. 나는 단순히 코드를 많이 생산하는 사람보다 문제를 발견하고, 선택의 근거를 설명하고, 끝까지 마무리하는 사람이 되고 싶다.

그러면 앞으로 어떻게 해야 할까

“판단력을 길러야겠다”라고 다짐만 해서는 다음 작업에서 다시 엔터 키를 연달아 누르게 될 것 같다. 우선 막히자마자 AI에게 달려가는 습관부터 줄여야겠다. 질문하기 전에 무엇이 문제인지, 기대한 결과와 실제 결과는 어떻게 다른지, 나는 원인을 무엇이라고 생각하는지 먼저 정리해 보려고 한다. 내 힘으로 답을 찾지 못하더라도 내 생각의 출발점이 있다면 AI의 답과 어디서 달라졌는지 비교할 수 있을 것이다. AI가 답을 내놓은 뒤에도 왜 이 방법을 선택했는지, 다른 방법과 비교해 어떤 장단점이 있는지 내 말로 설명할 수 있어야 한다. AI가 “완료했다”고 말하는 것도 그대로 믿지 않고 테스트와 로그, 실제 화면처럼 내가 직접 확인할 수 있는 근거를 봐야겠다.

신입인 내가 겪어야 할 시행착오까지 AI에게 모두 넘기지는 말아야겠다. 때로는 작은 기능을 직접 만들어 보고 버그의 원인도 먼저 추적해 보면서, 다른 사람이 작성한 코드도 더 많이 읽고 싶다. AI 덕분에 아낀 시간이 있다면 다음 일을 더 빨리 시작하는 데만 쓰지 않고 지금 다루는 코드를 더 깊이 이해하는 데에도 사용해야겠다. 날짜와 횟수를 정해 숙제처럼 확인하기보다는, 이해하지 못한 채 지나간 순간을 그냥 두지 않는 것이 나에게는 더 잘 맞을 것 같다.

AI가 틀렸거나 내가 질문에서 맥락을 빠뜨렸던 순간도 짧게라도 남겨두고 싶다. 그 기록이 쌓이면 AI의 오답뿐 아니라 내가 어떤 상황에서 생각과 판단을 놓치는지도 볼 수 있을 것이다. 일할 때에도 구현만 끝내는 데서 멈추지 않고, 가능하다면 한 문제를 요구사항부터 구현과 테스트, 배포 이후까지 따라가 보고 싶다. 그 과정에서 배운 원리와 선택의 근거를 내 언어로 정리하다 보면 한 시스템을 조금씩 더 깊이 이해할 수 있지 않을까 생각한다.

이렇게 한다고 AI로 대체되지 않는 개발자가 된다고 장담할 수는 없다. 그래도 언젠가 AI와의 대화 기록을 다시 보지 않고도 내가 작성한 코드를 설명하고, 동료에게 내 선택의 이유를 분명히 말할 수 있다면 적어도 생각하는 힘을 잃지는 않았다고 말할 수 있을 것 같다.

마치며

나는 검은 머리가 파뿌리가 될 때까지 개발자로 일하고 싶다. 힘들 때는 코드가 보기 싫다가도, 내가 작성한 코드로 화면이 움직이고 서비스의 불편함이 해결되는 순간에는 개발자를 꿈꾸고 도전하길 잘했다는 생각이 든다.

이 글의 퇴고에도 AI의 도움을 받았다. 처음에는 AI로 대체되지 않기 위한 글을 AI와 함께 다듬는 일이 모순처럼 느껴졌다. 하지만 중요한 것은 AI를 썼는지 아닌지가 아니라, 생각까지 넘겨줬는지인 것 같다. AI의 의견을 듣되 어떤 문장을 남길지, 어떤 생각을 내 것으로 받아들일지, 이 글에 무엇을 담을지는 내가 결정해야 한다.

지금으로서는 망망대해를 표류하는 기분이다. 계속 개발자로 살아남을 수 있을지, AI로 대체될지는 아무도 모른다. 나는 오디세우스가 아니기에 배에 누워 목적이 이루어지길 기다릴 수 없다. 노를 저어야 한다.