- 한 스태프 엔지니어가 Claude Code를 활용해 AI와 함께하는 개발 워크플로우를 6주 동안 실험한 경험을 공유
- AI를 ‘학습하지 않는 주니어 개발자’로 간주하는 사고방식이 성공적 통합의 핵심
- 첫 시도는 대부분 95% 실패하지만 반복 과정을 통해 점차 쓸모 있는 코드로 다듬어짐
- 프로젝트별 컨텍스트 파일(Claude.md) 과 MCP 기반 툴 통합을 활용해 AI의 컨텍스트 부족 문제를 해결
- 개발자의 역할은 코드 작성에서 문제 해결과 아키텍처 설계로 이동하며, 이는 AI 활용 시대의 새로운 생산성 패턴
배경과 접근
- 글쓴이는 원래 모든 코드를 직접 작성했으나, 최근에는 80%를 AI가 작성하고 자신은 아키텍처와 리뷰, 멀티스레드 개발 관리에 집중함
- 이 글은 'AI가 혁신을 이끈다'는 장밋빛 논조가 아니라, 실제 프로덕션 개발 워크플로우에 AI를 통합하며 겪는 혼란과 현실적 방법론을 공유함
- AI를 ‘학습하지 않는 주니어 개발자’로 대하는 것이 성공적 활용의 핵심
개발 패러다임의 변화 과정
- 초기 5년간은 책과 SDK 문서를 참고하는 개발 방식 유지
- 이후 12년간 검색(google) 기반 군중 지식 활용으로 전환
- 최근 18개월간은 Cursor를 통한 AI 보조 코딩 실험
- 직전 6주 동안은 Claude Code를 활용한 전체적 AI 위임으로 급격한 변화 경험
- Claude Code 적응은 단 몇 시간 만에 생산성 체감이 가능했음
실제 AI 기반 프로덕션 워크플로우
- 프로덕션에 들어갈 코드 작업시, 주로 AI를 "생각하는 데" 이용함
- 한번에 완벽한 코드 생성은 불가능함. 엔지니어로서의 임무는 문제에 대한 최선의 해결책을 찾는 것
- 첫 시도 (95% 실패): AI가 시스템 맥락을 쌓고, 개발자가 문제를 규명하는 단계지만 코드는 거의 틀림
- 두 번째 시도 (50% 실패): 맥락 이해가 향상되고 접근 방식이 구체화되지만 여전히 절반은 무용지물
- 세 번째 시도 (가용 코드): 반복·리뷰를 거쳐 실제로 사용할 수 있는 기반 코드가 나오며 이후 개선 가능
- 이 과정은 실패가 아니라, 일부러 계획된 실험과 반복적 최적화 과정임
맥락 문제와 해결책
- AI는 세션 간 기억을 유지하는게 불가하여 매번 같은 설명을 반복해야 하는 한계가 있음
- 해결책으로 Claude.md 파일을 활용해 아키텍처 결정, 패턴, 문서 링크 등을 기록
- MCP 통합을 통해 Linear, Notion, GitHub, 코드베이스, 데이터베이스와 연결하여 컨텍스트를 자동 제공
- Linear로 티켓 컨텍스트 제공
- Notion 또는 Canvas로 문서 접근
- 비프로덕션 데이터베이스로 데이터 구조 확인
- GitHub에서 과거 PR의 배경 정보 활용
병렬 Claude 인스턴스 운용 및 핵심 전략
- 여러 Claude 인스턴스를 병렬로 운영하면서 ‘매일 메모리를 잃는 작은 개발팀’을 관리하는 느낌으로 접근함
- 동일 문제 영역에 병렬화 금지, 모든 작업을 Linear 등 프로젝트 관리 도구에 기록, 인간이 직접 수정한 코드 명확히 표시 등의 전략 수립
- 코드 작성뿐 아니라 코드 리뷰에서도 AI 적극 활용: 테스트 누락, 명백한 버그, 개선점을 빠르게 도출해 반복 작업을 절감함
- 나의 회사(Sanity) 정책상, AI가 생성한 코드라도 최종 품질 책임은 엔지니어에게 있음
- AI와 인간이 구별되지 않는 코드 생성 환경에서, 감정적 애착이 줄고 더 비판적이고 객관적인 코드 리뷰 가능해짐
3단계 코드 리뷰 프로세스
- 코드 작성은 업무의 일부이지만, 코드 검토 또한 마찬가지
- 1차 리뷰 : Claude의 초기 검토
- 테스트 커버리지 누락과 명백한 버그 탐지
- 개선 제안으로 동료 검토 시간 절약
- 2차 리뷰 : 내가 검토
- 유지보수성, 아키텍처, 비즈니스 로직, 통합성 확인
- AI 생성 코드라도 엔지니어가 최종 책임을 짐
- 3차 리뷰 : 팀의 일반 검토
- 어느 부분이 AI 생성 코드인지 알지 못함. 동일한 품질 기준 적용
- 감정적 애착 없이 객관적인 검토 가능
- AI가 작성한 코드에 대한 정서적 애착이 줄어 객관적 리뷰 가능
Slack-Triggered Agent 및 업무 자동화 실험
- Cursor로 슬랙 연동 에이전트를 파일럿: 간단한 비즈니스 로직 수정에 성공, 복잡한 CSS 레이아웃에는 실패함
- 현 시점에서 비공개 NPM 패키지 미지원, 서명 없는 커밋, 공식 추적 우회 등 한계 존재
- 하지만, 단순 반복 티켓을 에이전트가 야간에 처리할 미래 시나리오에 기대감이 있음
비용 및 ROI
- Claude Code 사용 비용은 회사에서 엔지니어에게 지급하는 적지 않은 금액임
- 하지만, 그 투자로 생산성 향상 효과를 얻음
- 기능 출시 속도 2~3배 향상
- 다수 개발 스레드 동시 관리 가능
- 반복적·보일러플레이트 코드 직접 작성하는 일 없어짐
- AI 도입 초기에는 시니어 엔지니어에게 월 $1000~1500 예산 필요, 숙련도 증가에 따라 비용 효율 개선 기대
AI 보조 개발의 지속적 문제와 한계
- 학습 문제: AI가 실수에서 배우지 못해 동일 오해 반복, 해결책은 풍부한 문서화와 명시적 지시 강화
- 신뢰 문제: AI가 잘못된 코드를 확신 있게 내놓으므로 반드시 검증 필요, 특히 복잡한 상태관리, 성능, 보안구간에서 주의 강화
- 컨텍스트 한계 문제: 대규모 코드베이스는 AI 맥락 창을 초과하므로 문제를 작은 단위로 쪼개고 명확한 맥락 제공이 필수
코드에서 문제로의 정서적 변화
- 코드에 대한 집착을 내려놓고 문제 해결 중심 사고로 전환
- 잘못된 코드의 빠른 삭제, 더 객관적인 리뷰, 리팩토링에 대한 부담이 줄어듦 => 긍정적 변화
- 더 나은 AI 툴이 나오면 즉시 교체할 의향이 있음
- 본질은 ‘코드 자체’가 아니라 해결해야 할 문제의 가치임
엔지니어 관점의 AI 도입 조언
- 1. 여러 AI 솔루션 실험 허용: 팀이 다양한 도구를 직접 사용해보며 실무 역량 제고 필요
- 2. 반복적이고 단순한 업무부터 AI 적용: 빠른 효과 기대 가능
- 3. 시행착오 예산 확보: 첫 달은 혼란을 감수해야 함
- 4. 리뷰 프로세스 재설계: AI 코드 특성에 맞는 점검 강화
- 5. 철저한 문서화: 우수한 컨텍스트가 생산성 배가
- 새로운 AI 워크플로에 적응하는 엔지니어는 도구 상자에 새로운 날카로운 칼이 들어 있는 것을 깨닫게 될 것
- AI 워크플로우를 받아들이는 엔지니어들은 복수의 AI 에이전트를 오케스트레이션하며 아키텍처, 리뷰, 복잡한 문제해결에 집중하는 새로운 역할로 진화
당신의 다음 단계
- 작지만 잘 정의된 기능 하나를 선택하고,
- AI에게 해당 기능을 구현할 수 있는 세 번의 기회를 주고,
- 마치 초보 개발자를 멘토링하듯 결과를 검토해 볼 것
- 그거면 끝. 큰 변화도, 프로세스 개편도 필요 없음
- 단 하나의 기능, 세 번의 시도, 그리고 솔직한 리뷰만 있으면 됨
- 미래는 AI가 개발자를 대체하는 것이 아님
- 개발자들이 더 빠르게 작업하고, 더 나은 솔루션을 개발하고, 최고의 도구를 활용하는 것