AI 3개, 사람 1명 — 시니어 개발자의 리팩토링 워크플로우
AI와 시니어 개발 시리즈
(2편)- 1.기발자, 디발자 시대 — AI가 역할 경계를 허물고 있다
- 2.AI 3개, 사람 1명 — 시니어 개발자의 리팩토링 워크플로우
AI가 3개인데 사람은 1명
요즘 제 리팩토링 워크플로우는 이래요.
- Jira/Confluence — 리팩토링 계획과 검증 체크리스트를 세운다
- Claude Code — 계획에 따라 코드를 리팩토링한다
- Claude (브라우저) — 검증 체크리스트를 붙여넣고 결과를 확인한다
AI 도구가 3개예요. 사람은 1명이에요. 그 1명이 하는 건 코드를 짜는 게 아니라 판단하는 거예요.
나중에 이 워크플로우를 영상으로 찍어서 올릴 예정이에요.
왜 계획이 먼저인가
AI한테 "이거 리팩토링 해줘"라고 하면 코드는 나와요. 근데 그게 맞는 리팩토링인지는 모르죠.
대시보드처럼 데이터도 많고 기능도 많은 프로젝트에서는 리팩토링 범위를 정하는 게 코드를 짜는 것보다 어려워요.
- 어떤 컴포넌트를 먼저 건드릴 것인가
- 의존성이 꼬인 부분은 어디인가
- 리팩토링 후에 깨지면 안 되는 기능은 뭔가
이걸 Jira 티켓으로 쪼개고, Confluence에 체크리스트로 정리해요. AI가 코드를 짜기 전에, 사람이 판단을 먼저 끝내는 거예요.
체크리스트 예시:
이게 없으면 AI가 만든 코드를 "느낌"으로 검증해요. 느낌은 틀릴 수 있어요. 체크리스트는 안 틀려요.
Claude Code로 리팩토링하기
계획이 잡혔으면 Claude Code를 열어요.
여기서 중요한 건 프롬프트가 아니라 맥락이에요. 프로젝트 구조를 알고 있는 상태에서 "이 컴포넌트를 이 방향으로 리팩토링해줘"라고 하면, Claude Code가 파일을 읽고, 의존성을 파악하고, 코드를 바꿔요.
시니어가 유리한 지점이 여기예요.
- 주니어: "이 코드 리팩토링해줘" → AI가 나름대로 바꿈 → 맞는지 모름
- 시니어: "이 컴포넌트에서 API 호출을 커스텀 훅으로 분리하고, 에러 핸들링은 상위에서 하도록 바꿔줘" → AI가 정확히 바꿈 → 의도대로인지 확인 가능
지시의 구체성이 결과의 품질을 결정해요. 그리고 구체적으로 지시하려면 코드가 왜 이렇게 되어야 하는지 알아야 해요. 그게 경험이에요.
왜 검증 도구를 따로 쓰는가
리팩토링한 Claude Code에서 바로 "이거 맞아?" 물어볼 수도 있어요. 근데 저는 일부러 다른 창에서 검증해요.
이유는 간단해요. 만든 사람한테 검증을 맡기면 안 돼요.
같은 Claude라도 맥락이 다르면 다른 관점에서 봐요. 리팩토링 맥락이 가득한 Claude Code한테 "이거 맞아?"라고 물으면, 자기가 만든 코드를 긍정적으로 볼 확률이 높아요.
브라우저에서 새로 열고, Confluence의 검증 체크리스트를 붙여넣고, 리팩토링된 코드를 보여주면 — 선입견 없이 체크리스트 기준으로만 판단해요.
이건 코드 리뷰랑 같은 원리예요. 작성자 ≠ 리뷰어. AI 도구에서도 이 원칙은 유효해요.
워크플로우 정리
핵심은 사람이 하는 일이 명확하다는 거예요.
- 1단계: 무엇을 리팩토링할지 판단
- 2단계: 어떻게 리팩토링할지 지시
- 3단계: 맞는지 확인
- 4단계: 다시 할지 결정
코드를 직접 짜는 시간은 줄었어요. 대신 판단하는 시간의 비중이 늘었어요. 그게 AI 시대 시니어의 일이에요.
이 방식이 좋은 이유
1. 재현 가능해요
체크리스트가 Confluence에 남아있으니까, 다음에 비슷한 리팩토링을 할 때 그대로 쓸 수 있어요. 내 머릿속에만 있던 검증 기준이 문서가 되는 거예요.
2. 인수인계가 쉬워요
"이 컴포넌트 리팩토링했는데, 이 체크리스트로 검증했어요"라고 하면 끝이에요. 코드 리뷰어도 체크리스트를 보면서 확인하면 되니까요.
3. AI가 바뀌어도 워크플로우는 유지돼요
내일 Claude 대신 다른 도구가 나와도, "계획 → 실행 → 검증" 구조는 안 바뀌어요. 도구는 끼워넣는 거고, 워크플로우가 본체예요.
정리
- AI한테 시키기 전에 계획을 세워라 — 체크리스트 없이 리팩토링하면 "느낌"으로 검증하게 된다
- 만든 도구와 검증 도구를 분리하라 — 작성자 ≠ 리뷰어 원칙은 AI에도 적용된다
- 시니어의 일은 코드가 아니라 판단이다 — 무엇을, 어떻게, 맞는지, 다시 할지
AI가 코드를 짜주는 시대에, 코드를 잘 짜는 건 덜 중요해졌어요. 코드가 맞는지 판단하는 능력이 진짜 실력이에요.
HANUI
KRDS 기반 React 컴포넌트 라이브러리. 공공 웹 개발을 더 쉽게.