2026년 회고 - AI가 내 코드를 고치기 시작했다
2025년부터 AI 코딩 도구를 실무에 쓰기 시작했다. 처음엔 반신반의했다. “AI가 코드를 짠다고?” 1년 지나고 보니 생각이 바뀌었다. AI는 코드를 짜는 게 아니라, 내가 코드 짜는 방식을 바꿔놓았다.
AI 도입 전: 반복의 연속
학원 ERP 서비스에서 PHP 레거시를 유지보수하고 있었다. 일상이 이랬다:
- 사내메신저로 에러 알림 온다
- CloudWatch 로그 열어서 에러 확인한다
- 코드 열어서 원인 파악한다
- null 체크 빠진 거 추가한다
- PR 올리고 리뷰 받는다
- 배포한다
이 과정이 에러 하나당 평균 1시간. 대부분 원인이 뻔했다. TypeError, undefined variable, null 체크 누락. 매번 같은 패턴인데 매번 사람이 해야 했다.
첫 시도: Claude Code로 에러 자동 수정
“이걸 AI가 하면 안 되나?”
직접 파이프라인을 만들었다. PHP Fatal Error가 발생하면 CloudWatch가 감지하고, Claude Code SDK가 프로젝트를 clone해서 에러를 분석하고, 수정 코드를 작성해서 PR을 자동 생성한다.
결과:
- 에러 감지부터 PR 생성까지 10분
- 장애 대응 공수 90% 절감
- 개발자는 PR 리뷰만 하면 됨
놀랐다. 진짜 됐다.
단, 조건이 있었다. 패턴화된 단순 에러만 가능했다. 비즈니스 로직 버그는 못 고친다. null 체크 추가, 타입 캐스팅 같은 반복 작업에서만 쓸 수 있었다. 그래도 그게 에러의 70%였다.
AI 코딩 도구를 1년 쓰면서 느낀 것
1. 검색 시간이 사라졌다
예전에는 모르는 게 있으면:
- Stack Overflow 검색
- 공식 문서 뒤지기
- 블로그 글 3-4개 비교
- 결국 직접 해보면서 삽질
평균 30분~1시간.
지금은 AI에게 물어본다. 5분이면 답이 나온다. 틀릴 때도 있지만, 방향은 맞다. 거기서 시작하면 삽질 시간이 절반으로 줄었다.
2. 보일러플레이트 코드를 안 짠다
CRUD API, DTO 변환, 테스트 코드 기본 구조. 이런 건 AI가 더 빠르다. 패턴이 정해져 있으니까.
Before (직접 작성):
- Spring Boot Controller + Service + Repository + DTO + Test
- 기본 CRUD 하나에 30분~1시간
After (AI 활용):
- 요구사항 설명하면 기본 구조 생성
- 내가 하는 건 비즈니스 로직 검증과 엣지 케이스 추가
- 10분이면 끝
3. 코드 리뷰가 빨라졌다
PR 올리기 전에 AI에게 먼저 리뷰를 받는다. 오타, 네이밍 실수, null 체크 누락 같은 건 AI가 잡아준다. 사람 리뷰어는 비즈니스 로직과 설계에 집중할 수 있다.
4. 그런데 설계는 못 한다
AI가 못 하는 것도 명확했다.
- “이 서비스에서 Redis를 써야 할까, DB 락을 써야 할까?”
- “이 기능을 동기로 처리할까, 비동기로 처리할까?”
- “이 테이블을 정규화할까, 비정규화할까?”
이런 결정은 AI가 못 한다. 트래픽 규모, 팀 역량, 일정, 비용, 운영 복잡도를 모두 고려해야 하는 문제다. AI는 각 선택지의 장단점은 잘 설명하지만, 우리 상황에서 뭐가 맞는지는 사람이 판단해야 한다.
바뀐 것과 안 바뀐 것
바뀐 것: 시간 배분
| Before | After | |
|---|---|---|
| 보일러플레이트 작성 | 하루 2시간 | 30분 |
| 버그 수정 (단순) | 하루 1-2시간 | 20분 |
| 검색/조사 | 하루 1시간 | 20분 |
| 설계/아키텍처 | 하루 2시간 | 하루 3시간 |
| 코드 리뷰 | 하루 1시간 | 하루 1시간 |
단순 작업 시간이 줄어든 만큼 설계와 문제 정의에 시간을 더 쓴다. 이게 가장 큰 변화다.
안 바뀐 것
- 장애 나면 새벽에 일어나는 건 똑같다
- 요구사항이 불명확하면 PM한테 물어봐야 하는 것도 똑같다
- 레거시 코드 읽으면서 한숨 쉬는 것도 똑같다
- 배포하고 모니터링 지켜보는 것도 똑같다
AI가 바꾼 건 코딩 속도지, 개발이라는 일 자체가 아니었다.
AI 시대에 백엔드 개발자가 신경 써야 할 것
1. AI가 생성한 코드를 검증하는 능력
AI가 코드를 짜주니까 코딩 실력이 덜 중요해졌다? 아니다. 반대다.
AI가 만든 코드를 보고 “이게 맞는지” 판단하려면 더 깊이 알아야 한다. AI는 그럴듯한 코드를 만든다. 문법도 맞고 실행도 된다. 그런데 프로덕션에 넣으면 터지는 코드를 만들기도 한다.
- 동시성 이슈를 고려 안 한 코드
- N+1 쿼리가 숨어있는 코드
- 메모리 릭이 발생하는 패턴
이런 걸 잡으려면 기본기가 탄탄해야 한다.
2. 문제 정의 능력
AI는 “이걸 만들어줘”라고 하면 만든다. 문제는 “이걸”이 뭔지 정확히 정의하는 것이 어렵다는 거다.
“API 느려요”라는 이슈가 들어왔을 때:
- 어느 API가 느린 건지
- 느리다는 기준이 뭔지
- DB 문제인지 네트워크 문제인지 코드 문제인지
- 캐싱으로 해결할지 쿼리 튜닝으로 해결할지
이 과정은 AI가 대신 못 한다. 로그 보고, 메트릭 분석하고, 가설 세우고 검증하는 건 여전히 사람 몫이다.
3. 프롬프트가 아니라 요구사항 정의
“프롬프트 엔지니어링”이라는 말이 유행했다. 그런데 1년 써보니 핵심은 프롬프트가 아니었다. 요구사항을 명확하게 정의하는 능력이었다.
AI에게 “로그인 기능 만들어줘”라고 하면 만들어준다. 그런데 결과물이 내가 원하는 게 아니다. “JWT 기반 인증, 리프레시 토큰 Redis 저장, 만료 시간 30분, 동시 로그인 3대 제한”이라고 하면 원하는 게 나온다.
AI 시대에 개발자가 더 잘해야 하는 건 코딩이 아니라 스펙 정의다.
마무리
2025년 한 해 동안 AI 덕분에 반복 작업이 줄었다. 그 시간에 설계를 더 고민하고, 장애 대응 자동화를 더 구축했다. 결과적으로 더 좋은 시스템을 만들 수 있었다.
AI가 개발자를 대체할까? 1년 써본 내 답은 “아니다”다. AI는 도구다. 좋은 도구가 생겼다고 목수가 필요 없어지진 않는다. 대신 목수가 하는 일은 바뀐다. 못을 직접 박는 시간이 줄고, 어디에 못을 박을지 결정하는 시간이 늘었다.
11년 동안 PHP, Python, Java를 거치면서 언어는 계속 바뀌었다. 도구도 바뀌었다. 그런데 “문제를 정의하고 해결하는 능력”은 바뀌지 않았다. AI 시대에도 마찬가지다.