개인적으로 Claude Code를 사용하게 되면서, 코드를 직접 작성하는 데 쓰는 시간은 거의 0에 가깝다고 해도 과언이 아니게 된 것 같다.
작년 말부터 지금까지 반년 정도 사용하면서 느낀 점과, AI를 어떤 태도로 활용해야 할지에 대한 생각을 정리해보려고 한다.
느낀 점
- 생산성이 비약적으로 높아졌다.
- 코드의 퀄리티는 기존 코드베이스나 개발자의 역량 수준을 크게 벗어나지 않는 것 같다.
- 인지 부채가 늘어나기 쉬운 환경이다.
- 스펙만 어느 정도 정의해주면, 특정 기술을 깊게 이해하지 못하더라도 동작하는 코드를 빠르게 만들어준다.
- 그래서 의식적으로 코드를 읽고 이해하려고 하지 않으면, 점점 “제대로 알지 못하는 영역”이 늘어나게 된다.
- AI에게 주는 가이드라인이자 안전망의 역할로써 테스트 코드는 반드시 필요하다.
- 학습 효율 자체는 확실히 좋아진 것 같다.
- 예전에는 공식 문서를 직접 찾고, 해석하고, 튜토리얼을 돌려보며 정리하는 과정이 필요했다.
- 지금은 AI가 핵심을 빠르게 정리해주기 때문에 훨씬 효율적으로 학습할 수 있다.
- 하지만 너무 잘 정리된 내용을 보다 보면, 이해한 것 같은 착각이 든다.
- 직접 정리하고 고민하던 시절만큼 오래 남거나 명확하게 체화되지는 않는 느낌도 있다.
- 동시에 여러 작업을 진행할 수 있다.
- 하지만 그만큼 컨텍스트 스위칭도 훨씬 자주 발생한다.
- 이제는 아이디어만 있으면 무엇이든 빠르게 만들어볼 수 있는 시대가 된 것 같다.
- AI가 작성한 코드라고 해도, 결국 배포 이후 책임지는 것은 여전히 사람이다.
나의 태도
AI는 단순한 도구라기보다 굉장히 유능한 동료 또는 선배에 가까운 느낌이다.
그렇기에 나 역시, 생각 없이 모든 것을 물어보는 사람이 아니라, 같이 일하고 싶은 동료가 되고싶다.
- AI를 활용해 학습할 때는, 정리해준 내용을 그대로 받아들이기보다 반드시 내 방식대로 다시 정리한다.
- 블로그 글로 정리하거나, 내 언어로 요약하는 등의 정제 과정
- 학습한 개념이 적용된 코드 조각들을 만들어본다.
- AI에게 작업을 위임할 때는, 내가 잃게 되는 기회 비용이 무엇인지도 함께 생각한다.
- 그럼에도 위임하는 편이 더 낫다고 판단될 때 맡긴다.
- 코드 작성에 들어가는 시간이 줄어든 만큼, 좋은 코드와 좋은 구조에 대해 더 많이 고민하자.
- 그래야 AI가 작성한 코드를 맹목적으로 받아들이지 않고, 비판적으로 바라볼 수 있다.
- 결국 책임지는 것은 사람이다.
- AI가 디버깅도 잘해주긴 하지만, 코드베이스에 대한 이해 없이 계속 위임만 하다 보면 반드시 한계를 마주하는 순간이 온다고 생각한다.