백엔드 1년차가 AI로 API 설계 전문가 된 90일 후기
CRUD만 짜던 신입이 Claude Code로 아키텍처 설계하기까지
럿지 AI 팀
6분 읽기
목차
CRUD만 짜던 1년 차
**이름:** 이재훈 (가명)
**경력:** 백엔드 1년차
**Before:** CRUD 개발자
**After:** API 설계 전문가
**기간:** 90일
Before: 코드 몽키
일상 업무
**매일:**
``
java
// Create
public User createUser(UserDto dto) {
return userRepository.save(dto);
}
// Read
public User getUser(Long id) {
return userRepository.findById(id);
}
// Update
public User updateUser(Long id, UserDto dto) {
User user = userRepository.findById(id);
user.update(dto);
return userRepository.save(user);
}
// Delete
public void deleteUser(Long id) {
userRepository.deleteById(id);
}
`
**이게 전부**
시니어의 한마디
**코드 리뷰:**
**시니어:**
"이거 트랜잭션 처리는?"
**나:**
"...?"
**시니어:**
"예외 처리는요?"
**나:**
"...아"
**시니어:**
"API 버저닝은 고려했어요?"
**나:**
"API 버저닝이 뭔데요?"
**시니어:**
(한숨)
자격지심
**회의 시간:**
**아키텍트:**
"이벤트 소싱으로 가면..."
**나:**
(무슨 말인지 모름)
**팀장:**
"CQRS 패턴 적용하면..."
**나:**
(검색해봐야겠다)
**상태:**
회의 내용의 70% 이해 못 함
각성의 순간
평가 면담
**팀장:**
"재훈님, 성장이 더딘 것 같아요"
**나:**
"..."
**팀장:**
"CRUD만 하면 AI한테 대체될 거예요"
**나:**
"!!!"
**팀장:**
"설계 능력을 키우세요"
고민
**밤새 생각:**
- 어떻게 배우지?
- 책? 너무 어려움
- 강의? 너무 많음
- 선배? 바쁨
**검색:**
"API 설계 빠르게 배우는 법"
딩코딩코 발견
우연한 클릭
**광고:**
"AI로 1년 차가 시니어급 설계 능력"
**의심:**
"설마..."
**시연 영상:**
Claude가 API 명세부터 구현까지
**충격:**
"이게 진짜면..."
**결심:**
"해보자"
**바로 등록:**
The 10x AI-Native Developer 강의
Week 1-2: 기초 다지기

Day 1: RESTful API
**과제:**
사용자 관리 API 설계
**Claude에게:**
`
사용자 관리 REST API 설계해줘
- 리소스 중심 URL
- HTTP 메서드 적절히
- 상태 코드 정확히
- API 문서 자동 생성
`
**결과:**
`
GET /api/v1/users # 목록
GET /api/v1/users/{id} # 상세
POST /api/v1/users # 생성
PUT /api/v1/users/{id} # 전체 수정
PATCH /api/v1/users/{id} # 부분 수정
DELETE /api/v1/users/{id} # 삭제
`
**깨달음:**
"아... 이렇게 설계하는 거구나"
Day 5: 예외 처리
**기존 코드:**
`java
public User getUser(Long id) {
return userRepository.findById(id)
.orElseThrow(() -> new RuntimeException("없음"));
}
`
**Claude 코드:**
`java
public UserResponse getUser(Long id) {
return userRepository.findById(id)
.map(UserResponse::from)
.orElseThrow(() ->
new UserNotFoundException(
String.format("User not found: id=%d", id)
)
);
}
@ResponseStatus(HttpStatus.NOT_FOUND)
public class UserNotFoundException extends RuntimeException {
public UserNotFoundException(String message) {
super(message);
}
}
`
**배움:**
- 커스텀 예외
- 적절한 HTTP 상태 코드
- 명확한 에러 메시지
Week 2: 트랜잭션
**Claude에게 질문:**
`
트랜잭션 전파 레벨 설명하고
실전 예제 보여줘
`
**5분 후:**
- 개념 완벽 이해
- 예제 코드 실행
- 실제 적용
**기존 방식:**
책 읽고 이해하는 데 하루
**AI 네이티브:**
5분
Week 3-6: 실전 프로젝트
회사 과제: 결제 시스템
**요구사항:**
- 복잡한 비즈니스 로직
- 외부 API 연동
- 트랜잭션 처리
- 보안
**기존 나:**
"이거... 할 수 있을까?"
**AI 네이티브 나:**
"해보자"

설계 과정
**1단계: 요구사항 정리**
Claude와 대화하며 명확화
**2단계: API 명세**
`
POST /api/v1/payments
GET /api/v1/payments/{id}
POST /api/v1/payments/{id}/cancel
GET /api/v1/payments/history
`
**3단계: 도메인 모델**
- Payment
- PaymentItem
- PaymentMethod
- PaymentHistory
**4단계: 비즈니스 로직**
Claude가 생성 → 검토 → 수정
**소요 시간:**
- 기존 예상: 2주
- 실제: 3일
시니어의 반응
**코드 리뷰:**
**시니어:**
"재훈님... 이거 누가 도와줬어요?"
**나:**
"제가 했는데요?"
**시니어:**
(코드 꼼꼼히 확인)
**시니어:**
"트랜잭션 처리 완벽한데? 예외 처리도 체계적이고. 진짜 혼자 한 거예요?"
**나:**
"AI랑 같이요"
**시니어:**
"...대단한데요"
Week 7-12: 아키텍처 레벨
마이크로서비스
**강의 내용:**
- 서비스 분리
- API Gateway
- 서비스 간 통신
**실습:**
Claude와 MSA 설계
**결과:**
`
User Service
Order Service
Payment Service
Notification Service
API Gateway
`

이벤트 소싱
**기존:**
"이벤트 소싱이 뭐지?"
**Claude에게:**
`
이벤트 소싱 패턴 설명하고
주문 시스템 예제 보여줘
`
**30분 후:**
- 개념 이해
- 구현 완료
- 테스트까지
CQRS
**회의 때:**
**아키텍트:**
"CQRS로 가면..."
**나:**
(이제 이해함!)
**나:**
"Command와 Query 분리하면 성능 개선되겠네요"
**아키텍트:**
"오... 재훈님 공부 많이 하셨네요?"
90일 후 변화
기술 역량
**Before:**
- CRUD만 가능
- 설계 개념 전무
- 시니어 의존
**After:**
- RESTful API 설계
- 마이크로서비스 아키텍처
- 이벤트 소싱, CQRS
- 독립적 개발 가능
업무 성과
**분기 목표:**
기능 5개 개발
**실제 달성:**
기능 12개 + 리팩토링
**평가:**
S등급 (최우수)

연봉 재협상
**성과:**
- S등급 평가
- 프로젝트 성공
- 시니어 인정
**협상:**
조기 연봉 인상
**결과:**
- Before: 4,000만원
- After: 5,200만원
- 상승: **30%**
- 승진: 선임 개발자
핵심 학습 방법
1. 개념 → 즉시 실습
**Claude 활용:**
`
1. "트랜잭션 전파 설명해줘"
2. (이해)
3. "실전 예제 보여줘"
4. (코드 실행)
5. (완전 이해)
`
**시간:**
개념당 30분
2. 설계 먼저, 코딩 나중
**기존:**
일단 코딩
**AI 네이티브:**
1. 설계
2. API 명세
3. 도메인 모델
4. Claude 코드 생성
**효과:**
구조 탄탄
3. 패턴 학습
**방법:**
`
"DDD 패턴으로 주문 시스템 설계해줘"
"헥사고날 아키텍처 예제 보여줘"
"이벤트 드리븐 아키텍처 구현해줘"
`
**결과:**
실무 패턴 습득
실전 활용 사례
Case 1: API 버저닝
**문제:**
기존 API 수정 필요
**Claude 활용:**
`
"API v1을 유지하면서 v2 추가하는 방법
- URL 버저닝
- 마이그레이션 가이드
- 테스트 자동화"
`
**결과:**
- v1, v2 공존
- 무중단 마이그레이션
- 고객 불편 최소화
Case 2: 대용량 처리
**요구사항:**
10만 건 데이터 처리
**Claude 활용:**
`
"대용량 배치 처리 구현
- Spring Batch
- 청크 방식
- 에러 핸들링
- 모니터링"
`
**결과:**
- 처리 속도: 10배
- 에러율: 0%
- 안정적 운영
Case 3: 보안 강화
**요구사항:**
API 보안 개선
**Claude 활용:**
`
"Spring Security로 API 보안
- JWT 인증
- 권한 관리
- Rate Limiting
- CORS 설정"
``**결과:**
보안 취약점 0건
팀 내 역할 변화
Before
**역할:**
단순 코딩
**의사결정:**
없음
**영향력:**
0
After
**역할:**
- API 설계 리드
- 아키텍처 리뷰어
- 주니어 멘토
**의사결정:**
기술 스택 선정 참여
**영향력:**
팀 핵심 멤버
동료 반응
같은 1년 차 동료
"너 어떻게 그렇게 빨리 성장했어?"
시니어 개발자
"이제 제가 배울 게 없네요"
팀장
"재훈님 덕분에 팀 성과 좋아요"
추천 대상
강력 추천
**주니어 백엔드:**
- CRUD만 함
- 설계 능력 부족
- 빠른 성장 원함
**경력 전환자:**
- 다른 언어에서 전환
- 빠른 적응 필요
비추천
**시니어:**
이미 아는 내용
결론
90일 전 나
**상태:**
- CRUD 개발자
- 설계 능력 0
- 대체 위기
**불안:**
"AI한테 대체되나?"
지금 나
**상태:**
- API 설계 전문가
- 선임 승진
- 연봉 30% 인상
**확신:**
"AI가 무기다"
당신에게
**CRUD만 하시나요?**
**AI로 설계자 되세요**
**시작:**
The 10x AI-Native Developer: 회사에서 AI로 압도적 성과를 내는 법
**약속:**
90일 후 당신도 전문가
---
**태그**: #API설계 #백엔드 #AI코딩 #딩코딩코 #아키텍처
L
럿지 AI 팀
AI 기술과 비즈니스 혁신을 선도하는 럿지 AI의 콘텐츠 팀입니다.