회고

코딩의 새로운 시대를 맞이하며

AAnonymous
7분 읽기

새로운 도구가 나올 때마다 생산성이 조금 오르는 정도라고 생각했다면, 이제는 질문을 바꿔야 합니다. 지금 벌어지는 변화는 단순한 자동화가 아니라, 개발자가 시간을 쓰는 위치 자체를 바꾸고 있습니다. 이 글은 지난 몇 달 동안 제가 그 변화를 어떻게 체감했고, 어떤 기준으로 받아들이게 되었는지를 정리한 기록입니다.

문제는 속도가 아니라 역할의 이동입니다.

3개월 전의 나

불과 3개월 전까지만 해도 저는 생성형 AI를 그저 아주 똑똑한 자동완성 도구 정도로 생각했습니다.

GitHub Copilot을 처음 썼을 때도 감탄은 했습니다. 함수 이름을 적거나 주석을 남기면 제법 그럴듯한 구현이 붙었고, 반복 작업을 줄여준다는 점은 분명했습니다. 다만 거기까지였습니다. 생산성이 조금 좋아지는 도구일 수는 있어도, 개발자의 역할 자체를 바꾸지는 못할 것이라고 생각했습니다.

그다음에는 Gemini CLI를 써봤습니다. 터미널에서 대화하듯 코드를 만들고 수정하는 경험은 꽤 신선했습니다. Copilot보다 상호작용이 자연스럽고 맥락 이해도도 더 좋아 보였습니다. 그래도 여전히 생각은 비슷했습니다. 결국 더 발전한 도구일 뿐이고, 진짜 설계와 중요한 판단은 여전히 제 몫이라고 믿었습니다.

그러다 Cursor를 만났습니다. IDE 전체가 AI와 통합된 경험은 분명 이전과 달랐습니다. 파일을 넘나들며 코드를 수정하고, 프로젝트 구조를 어느 정도 파악하고, 리팩토링까지 제안하는 모습을 보면서 한 단계 더 나아갔다고 느꼈습니다. 그런데도 복잡한 비즈니스 로직이나 아키텍처 설계는 결국 사람이 끝까지 쥐고 있어야 한다고 생각했습니다. 솔직히 말하면, 제 자리도 크게 흔들리지 않을 것이라고 믿었습니다.

지금 돌아보면 그때의 저는 변화의 속도를 너무 얕게 보고 있었습니다. 사실상 변곡점은 2025년 11월 말 Opus 4.5가 출시된 시점부터였습니다.

뒤통수를 맞다

생각이 바뀐 계기는 거창하지 않았습니다. 지금 이 블로그의 개발과 운영이 그 증거입니다.

블로그 서비스를 만드는 것이 높은 난이도의 구현은 아닙니다. 그래도 예전 같으면 기획하고, 화면을 만들고, 코드를 작성하고, 배포 형태를 다듬고, 사소한 연결 작업까지 정리하느라 짧게는 며칠, 길게는 몇 주를 예상했을 일입니다. 그런데 이제는 그런 작업이 짧은 시간, 대략 하루 안에도 구축 가능합니다.

디자인과 구현, 정리와 배포 준비가 프롬프트 몇 번으로 퍼블리싱 단계까지 밀려가는 경험은 예상보다 훨씬 파격적으로 느껴졌습니다.

현재 코딩 에이전트가 제게 주는 감정은 두려움입니다.

내가 오래 쌓아온 숙련이 생각보다 빠르게 다른 방식으로 압축될 수 있다는 사실을 체감했기 때문입니다. 그동안 저는 AI 코딩 도구의 발전을 선형적으로 이해했습니다. Copilot에서 Gemini CLI로, Gemini CLI에서 Cursor로 넘어오면서 조금씩 좋아진다고 생각했습니다. 그런데 어느 순간 변화는 공허하게 비어 있던 갭을 단번에 메워버리는 느낌으로 다가왔습니다.

Claude Code와 Opus 4.5 조합을 제대로 경험해보지 않은 분들에게는 이 글이 다소 과장처럼 들릴 수 있습니다. 저 역시 몇 달 전에는 비슷하게 생각했습니다. 하지만 지금 와서 보면 이것은 코드 작성이 조금 편해진 정도가 아니라, 개발자가 어디에 시간을 써야 하는지를 다시 정의하게 만드는 변화에 더 가깝습니다.

공포에서 기준으로

처음 밀려온 감정이 공포였다는 사실을 굳이 감출 필요는 없다고 생각합니다. 구현이 빨라질수록 개발자의 가치가 줄어드는 것처럼 느껴질 수도 있기 때문입니다.

실제로 업계에서는 개인 단위, 특히 애플리케이션 빌더에 가까운 역할만으로도 제품을 만들고, 더 적은 인원으로 더 큰 결과를 내는 시대가 온다는 이야기가 계속 나오고 있습니다. 예전에는 그런 말을 다소 과장된 전망처럼 들었습니다. 하지만 직접 체감한 뒤에는 그 말의 무게가 다르게 느껴졌습니다.

그렇다고 해서 결론이 단순하지는 않았습니다. 사람의 역할이 사라진다고 보지는 않습니다. 오히려 반대로, 더 적은 인원이 더 큰 일을 할 수 있게 되면서 한 사람의 판단력과 검토 기준이 훨씬 더 중요해졌다고 보는 편이 맞습니다.

예전에는 구현 속도가 팀의 가장 큰 제약인 경우가 많았습니다. 이제는 무엇을 만들지, 어떤 순서로 검증할지, 어디서 위험을 통제할지가 더 중요한 질문이 되었습니다.

이 지점에서 제가 붙잡게 된 기준은 세 가지였습니다.

  • 문제를 명확하게 정의하는 일
  • AI가 이해할 수 있는 맥락을 설계하는 일
  • 마지막 결과에 대해 사람이 책임지는 일

기술이 빨라질수록 오히려 이 세 가지는 더 무거워집니다.

도구의 진화, 그리고 Claude Code

제가 체감한 흐름을 단순하게 정리하면 이렇습니다.

  • Copilot은 자동완성에 가까웠습니다. 방향을 잡으면 그다음을 빠르게 이어주는 도구였습니다.
  • Gemini CLI는 대화형 도우미에 가까웠습니다. 질문하고 답을 받으며 점진적으로 결과를 만들어가는 방식이었습니다.
  • Cursor는 똑똑한 페어 프로그래머처럼 느껴졌습니다. 프로젝트 맥락을 이해하려 하고, 함께 구현을 밀어주는 감각이 있었습니다.

반면 Claude Code는 한 단계 더 나아간 에이전트에 가깝게 느껴졌습니다. 목표를 주면 관련 파일을 살피고, 구조를 파악하고, 필요한 변경을 연결해 나가며, 확인해야 할 지점까지 이어서 생각합니다.

물론 모든 결과가 항상 완벽한 것은 아닙니다. 다만 중요한 차이는 제가 직접 모든 줄을 작성하는 사람에서, 방향을 정하고 기준을 제시하고 결과를 검토하는 사람으로 빠르게 이동하게 된다는 점입니다.

그래서 이제 제 역할은 구현자이기만 한 것이 아니라 아키텍트이자 리뷰어에 더 가까워졌습니다. 코드를 얼마나 빨리 치느냐보다, 어떤 목표를 어떤 단위로 나누어 맡길지, 무엇을 자동화하고 무엇을 끝까지 직접 확인할지 결정하는 일이 더 중요해졌습니다.

지금의 나

현재 저는 AI를 적극적으로 활용해 개발합니다. 생산성이 높아졌다는 표현으로는 부족할 정도로 작업 방식이 달라졌습니다. 예전 같으면 며칠이 걸렸을 기능이 하루 안에 윤곽을 잡는 일도 드물지 않습니다.

그렇다고 해서 사람의 역할이 줄어들었다고 느끼지는 않습니다. 오히려 보안, 예외 처리, 데이터 정합성, 구조적 일관성, 제품 판단은 더 강한 책임으로 돌아왔습니다.

흥미로운 변화는 개발 속도 자체가 병목이 아니라는 점입니다. 예전에는 이 기능을 구현하는 데 며칠이 걸리는지가 핵심 제약이었다면, 이제는 이 기능이 정말 필요한지, 어떤 기준으로 실험하고 검증할지, 어디까지를 제품의 첫 버전으로 볼지가 훨씬 더 중요해졌습니다. 기술적 한계보다 판단의 질이 결과를 좌우하는 비중이 커졌습니다.

그래서 요즘 저는 작업을 시작하기 전에 기능의 목적, 성공 조건, 제외 범위를 먼저 문장으로 적어둡니다. 그다음 작업 단위를 잘게 나누고, 마지막에는 사람이 직접 리뷰해야 할 항목을 분리합니다. AI를 잘 쓰는 방법은 막연히 더 많은 요청을 던지는 것이 아니라, 더 명확한 기준을 세우는 일이라고 느끼고 있습니다.

앞으로

제 목표는 분명합니다. 짧은 시간 안에 프로덕션 레벨의 서비스를 개발해 보고, 그 과정을 반복 가능한 방식으로 만드는 것입니다.

이제 저에게 개발은 단지 코드를 작성하는 일이 아니라, 실제 운영 환경에서도 버틸 수 있는 수준까지 제품을 끌어올리는 일이 되었습니다. 이 변화가 어디까지 갈 수 있는지 직접 확인해 보고 싶습니다.

그래서 이 블로그를 계속 쓰려고 합니다. 단순히 결과만 정리하는 공간이 아니라, 어떤 도구를 어떻게 받아들였는지, 어디서 관점이 바뀌었는지, 그리고 어떤 기준으로 적응하고 있는지를 남기는 기록이 될 것입니다. 성공하든 실패하든 이 시기의 생각과 시행착오는 충분히 남길 가치가 있다고 믿습니다.

코딩의 새로운 시대는 개발자의 역할을 없애기보다 더 압축하고 더 선명하게 만들고 있습니다. 직접 모든 줄을 작성하던 시대에서, 올바른 문제를 정의하고 결과를 검증하는 시대로 무게중심이 이동하고 있습니다.

앞으로의 차이는 누가 더 많은 코드를 생산하느냐보다, 누가 더 좋은 판단을 더 빠르게 반복하고 오퍼레이션 가능한 결과물을 생성 하느냐에서 벌어질 것이라고 생각합니다.