*다시 소프트웨어 엔지니어*
9 년차. 기술 적 으로는 *수많은 것 을 *익혔다. Spring Boot, Kafka, Kubernetes, Hexagonal, Outbox, JIT, GC, CRI, etcd. AI 시대 가 와서 *Claude Code 가 *내 동료 가 되었다. *블로그 글 이 *수십 편. 깃허브 의 *수십 개 리포.
그런데 *문득 *멈춰 서서 본다. 이 모든 것 의 *중심 에 내가 *소프트웨어 엔지니어 임 * 의 그 한 정체성 이 흐려졌나. 나는 *언제 부터 *Tool 의 운영자 로 살았나. 내 *손 으로 무엇 을 *마지막 으로 *만들었나.
그래서 *오늘 *이 글 을 쓴다. “다시 소프트웨어 엔지니어” — 되돌아 가지 말고, *되찾아 오자.
이 글은 기술 의 글 이 아니다. 나 자신 에게 *쓰는 *짧은 *선언문. 동시에 *비슷한 호흡 의 *수많은 9 년차 들 에게 건네는 *손짓.
함께 읽으면 좋은 자매편 :
TL;DR — 나 와 의 *한 줄 약속
나는 *툴 의 *운영자 가 아니다. 나는 *시스템 의 *책임자. 기술 의 *최신 만 *외우는 사람 이 아니라, 내 가 *만든 코드 의 *작동 의 *원리 와 *경계 와 *실패 의 *모양 을 *알고 있는 사람. AI 가 *내 *손 의 *속도 를 *대신 해주는 시대 에 나 의 *시야 와 *책임 의 *깊이 가 내 *남는 자리. 다시 *그 자리 로 *돌아 간다.*
1. 왜 *“다시” 인가 — *내 표류 의 *3 가지 방향**
이 단어 의 “다시 (again)” 는 세 가지 의 함의 를 가진다 :
- 되돌아 옴 (return) — 길 을 *잠시 잃었었다 는 *고백.
- 재 정립 (re-define) — 예전 의 *그 정의 가 *그대로 는 *안 맞는다 는 *인식.
- 재 헌신 (re-commit) — 그래도 *내가 *놓지 않을 것 의 *재 확인.
내 9 년 의 표류 는 세 방향 으로 였다 :
1.1 Tool 의 *진화 의 *쫓김
새 프레임워크. 새 ORM, 새 메시지 큐, 새 LLM, 새 IDE, 새 CI/CD. 매월 *Hacker News 에 새 이름. 나는 *익혀야 한다는 압박 에서 익혔고, 다음 달 에 그 다음 도구 로 건너 갔다.
9 년 의 어느 시점 부터 내가 *알고 있는 것 의 *반 이 5 년 뒤 에는 더 이상 *유효 하지 않은 *지식 임 이 명백 해졌다.
내가 *무엇 을 *익혔는가 보다 무엇 을 *이해 했는가 의 차이* 가 9 년 차 의 *진짜 자산.
1.2 수치 의 *유혹
GitHub 의 *Contributions 의 *녹색 칸. PR 의 *개수. 블로그 의 *조회수. 코드 의 *라인 수. 커버리지 의 *% *. *내 가 *얼마나 했는가 의 측정 가능 한 흔적.
이 수치 들 은 내 *진척 의 *알리바이 였다. 수치 가 *올라가는 한 *내가 *움직이고 있는 것 같았다.
그러나 *수치 의 *총합 이 나 의 *깊이 와 *동치 가 아니라는 사실* 이 어느 새 *드러난다. PR 100 개 가 *시니어 의 *판단력 1 개 보다 얕다.
1.3 AI 의 *그늘
Claude / Copilot / Cursor 가 내 코드 의 *50 ~ 80 % 를 *자동 생산 한다. 나는 *그 생산물 의 *큐레이터 가 되었다.
효율 — *극적 증가. 그러나 *동시에 *조용한 위축. 내 *손 으로 *문제 를 *처음 부터 *풀어 본 *경험 의 *공백. AI 가 *내 *시야 의 *연장 인지, 내 *역량 의 *대체 인지 — *내가 *애매 하게 받아 들이고 있던 그 모호함*.
이 3 가지 방향 이 내 *9 년 의 *주된 표류. 이 *글 의 시작 점.
2. AI 시대 가 *실제로 요구 하는 것 — *조용한 진실**
“AI 시대 의 *시니어 의 역할” 이라는 주제 의 블로그 / 컨퍼런스 / 트위터 가 수천 개. 대부분 의 답 — *“프롬프트 엔지니어 가 되어라”.
내 9 년 의 직접 적 경험 으로 동의 하지 않는다. 프롬프트 의 *능숙 은 3 개월 이면 충분 한 기량. AI 시대 가 *진짜 로 요구 하는 것 * 은 *다른 곳에 있다.
2.1 코드 의 *책임 의 *서명
AI 가 *코드 를 *생산 한다. 그 코드 가 *production 에서 *돈다. 돌다가 *멈춘다. 멈춘 *그 자리 에 서명 한 사람 이 책임 진다.
그 서명 — *제 가 *작성 한 사람 의 이름. AI 가 *생성 했는지 *제가 *직접 썼는지 는 돈 의 *손실 의 *액수 앞 에서 중요 하지 않다.
AI 시대 의 *시니어 의 *조용한 진실 — 책임 의 *분량 이 *줄지 않는다. 오히려 *늘 어 난다. 코드 의 *생산량 이 *수십 배 되면 내가 *서명 한 자리 도 수십 배.
2.2 추측 의 *증거 화
AI 가 *제안 하는 *코드 의 *가능성 의 *총량 이 *나 의 *판단력 의 *총량 을 *초과 한다. *AI 의 *제안 의 *어디 가 *맞고 *어디 가 *틀린지 의 판단 의 *근거 가 *내 *시야 다.
그 시야 의 *재료 는 :
- 실패 의 *경험 (한 번 깨져 본 *함정).
- 원리 의 *이해 (왜 그렇게 동작 하는지 *밑바닥 까지).
- 경계 의 *감각 (이 결정 의 *파급 이 어디 까지 가는지).
이 세 가지 가 *AI 가 *대체 못 하는 *시야. 내 가 *직접 *코드 를 *작성 하지 않더라도 *그 작성 의 *각 결정 을 *판단 가능 해야 한다.
2.3 *동료 와 의 *번역**
AI 시대 의 *팀 의 *진짜 병목 — *AI 의 *생산물 을 *동료 가 *이해 가능 한 형태 로 번역 하는 것*.
컨벤션, *주석, *PR 의 설명, *코드 리뷰 의 질문, *디버깅 시 *동료 에게 *상태 의 *재현, *온콜 의 *야간 의 *공유. 이 *모든 것 의 *언어 적 인 *측면 이 AI 가 *덜 강한 *영역.
“내 가 *AI 와 *같이 코드 를 *생성 했고 *그 코드 가 *동료 의 *세 시간 의 *디버깅 을 *유발 했다면 *내 가 *실패 한 것 “*.
2.4 비 즈 니스 의 *대리인
AI 는 *비 즈 니스 를 *모른다. 내 *직장 의 *수익 의 *어디 가 *어떻게 *돌고, 고객 의 *진짜 *불만 이 *무엇 이고, 이번 분기 의 *우선 순위 가 *왜 *그것 인지 — AI 는 *모른다 (또는 *조각 적 으로 만 안다).
시니어 의 *역할 — 그 *비 즈 니스 의 *언어 를 *코드 의 *언어 로 번역 하고, 그 결과 를 *비 즈 니스 의 *언어 로 다시 *역 번역 하는 중간 자.
이 *번역 의 *일 이 AI 시대 에 *오히려 *더 비싸 진다.
3. *내가 *내려 놓는 *4 가지**
9 년 의 *9 년 차 의 *오늘. 내려 놓을 것 의 명단.
3.1 자랑 의 *유혹
“GitHub Contributions 가 *365 일 *녹색 입니다”. “이번 분기 PR 50 개”. “블로그 *조회수 10K”. — *이 *모든 *수치 의 *자랑 으로 *내 *진척 을 *증명 하려는 *습관.
내려 놓는다. 나는 *수치 의 *수집 가 가 아니라 *시스템 의 *책임자. 나 의 *9 년 의 *진척 의 증거 는 내 가 *작성 한 시스템 의 *얼마나 *조용히 굴러가 는가 의 침묵.
3.2 최신 의 *조급함
매주 *Hacker News 의 새 도구. 매월 *Spring 의 *minor 버전 변경. 매년 *Java 의 *새 *기능. — 모든 것 을 *익혀야 한다는 *조급함.
내려 놓는다. 익혀야 할 것 의 80 % 는 6 개월 뒤 에는 사라진 다. 남는 *20 % 의 원리 만 *깊이 익히는 *집중. 나머지 는 *AI 에게 *맡긴다.
3.3 복잡 함 의 *과시
“MSA 13 개, *Kafka 7 개 토픽, *Redis 5 개 클러스터, *Outbox 패턴, *Saga, *CQRS, *Event Sourcing”. — *복잡 함 의 *카탈로그 가 *시니어 의 *증명 인 듯 말 한 습관*.
내려 놓는다. 복잡 함 은 문제 가 요구 할 때 만 추가 한다. 과시 의 도구 가 아니다. 오히려 *간소함 의 *기예 가 *9 년차 의 *진짜 *어려운 기량.
3.4 빠름 의 *오해
“30 분 만에 *기능 구현”. “하루 만에 *마이크로 서비스 추가”. — *속도 의 *자랑 의 *습관.
내려 놓는다. 빠름 이 아니라 *정확 한 *속도 (right pace). 생각 의 *시간 이 *코드 의 *시간 보다 *길어 도 *괜찮은 자세. Claude Code 가 *내 *손의 *속도 를 *대체 한 시대 에 *내 *호흡 의 *속도 가 *내 *남는 차별.
4. *내가 *다시 잡는 *5 가지**
그렇다면 *무엇 을 *다시 잡는가. 내 *재 정의 의 *5 가지 요소.
4.1 *책임 — *production 의 *서명 자**
내 가 *서명 한 코드 가 production 의 *어디 에서 *어떻게 *돌고 있는지 를 알고 있는 사람.
- 지난 한 달 의 내 PR 의 *production 의 *행위 를 *추적 가능.
- 서명 한 코드 가 production 에서 *깨진 적 이 있으면, 어디 서 *왜 *내가 *그 신호 를 놓쳤는지 를 복기 가능.
- AI 가 *생성 한 코드 라도 *내 *PR 의 *내 *책임. 예외 없음.
4.2 경계 — *시스템 의 *모양 의 *수호
내 도메인 의 *경계 가 *어디 인지, 외부 와 *내부 의 *분기 가 *어디 인지, 이 변경 이 *그 경계 를 *어떻게 흔드는지.
- Hexagonal 의 *port / adapter 의 *시각 을 코드 의 *모든 위치 에서 *유지.
- ArchUnit 의 *컴파일 시 강제 가 *내 *습관 의 *외부 화.
- 팀 의 *동료 가 *내 경계 를 *침범 할 때 *조용히 *교정.
4.3 *호흡 — *생각 의 *속도 의 *회복**
AI 가 *내 손 을 대체 한 시대 에 *내가 *되찾는 것 — 생각 의 호흡.
- PR 을 *제출 하기 전 *마지막 *5 분 의 *재 검토 의 *의례.
- 디버깅 의 *첫 *10 분 은 코드 를 *읽고 *추측 하는 데 씀.
- 새 기능 의 *작성 전 *작은 다이어그램 을 *손 으로 *그림 (또는 머릿 속).
- 밤 의 *수면 시간 의 *희생 *반대. 호흡 의 *회복 이 *judgment 의 *기반.
4.4 *듣기 — *시스템 의 *통증 의 *듣는 귀**
시스템 / 코드 / 테스트 / 동료 / 사용자 의 *말 없는 *통증 을 듣는 *귀.
- Grafana 의 *대시보드 의 *작은 이상 을 지나 치지 않는 *습관.
- 테스트 가 *쓰기 어렵 다 는 *신호 를 *듣고 *코드 의 *재 설계 로 *이어 지는 *반사.
- 코드 리뷰 에서 *동료 의 *주저 함 의 *침묵 의 *해석.
- 사용자 의 *간헐 적 인 *불만 의 *패턴 화.
이 모든 *듣기 의 훈련 이 *내 *시야 의 *깊이 의 *근거.
4.5 *문장 — *코드 와 *코드 가 아닌 곳 의 *연결**
시니어 의 *진짜 *결정 적 차별 — 그 시야 를 *언어 로 *표현 가능 한 능력.
- PR 의 *설명 이 동료 가 *내가 *왜 *그렇게 결정 했는지 를 읽을 수 있는 형태.
- 블로그 의 *글 이 *내 가 *학습 한 것 의 *외부 화 + 정리.
- 온콜 의 *야간 의 *공유 가 팀 의 *공동 자산 으로 기록.
- 비 즈 니스 와 의 *대화 에서 *복잡 한 시스템 을 *간결 한 *문장 으로 *번역.
“문장 의 능력 이 *시니어 의 *판단력 의 *공유 가능 한 형태”* — 9 년 의 결론.
5. *나 와 의 *새 계약 — *6 가지 한 줄 약속**
이 글 의 *마지막 — *내 가 *내 *9 년차 의 *자신 에게 *쓰는 *6 가지 약속.
-
나 는 *AI 와 *경주 하지 않는다. AI 보다 *느려 도 *내 *시야 의 *깊이 가 *내 *남는 자리.
-
나 는 *코드 의 *서명 자. AI 가 *생성 한 *모든 코드 도 내 *PR 의 *내 *책임.
-
나 는 *수치 가 아닌 *시스템 의 *조용한 안정 으로 내 *진척 을 *측정 한다.
-
나 는 *복잡 함 을 *과시 하지 않는다. 간결 함 이 *9 년차 의 *진짜 기예.
-
나 는 *듣는 귀 를 *기른다. 시스템 / 코드 / 동료 / 사용자 의 *말 없는 *통증 을 지나 치지 않는다.
-
나 는 *문장 으로 *내 *시야 를 *공유 한다. 팀 의 *공동 자산 으로 *내 *학습 을 *외부 화 한다.
6. *결론 — *“다시” 의 *진짜 의미**
“다시 소프트웨어 엔지니어” — 예전 으로 *돌아 가는 것 이 아니다. 예전 의 *순수 했던 *호기심 + 9 년 의 *경험 + AI 시대 의 *새 도구 를 합쳐서 *새 단계 의 *나 로 건너 가는 것.
9 년 차 의 *내가 *3 년 차 의 *내게 *건네 는 *한 마디 :
“기술 은 *외워도 *5 년 뒤 사라진다. 시야 와 *책임 은 *9 년 의 *층 위 로 *남는다. *후자 에 *시간 을 쓰자.”
9 년 차 의 *내가 *오늘 의 *내게 *건네 는 *한 마디 :
“AI 가 *손 의 *속도 를 *대체 한 시대 에 *너 의 *남는 자리 는 *시야 의 *깊이. 그 깊이 의 *재료 는 *실패 의 *복기, *원리 의 *밑바닥, *경계 의 *감각. 서두 르지 말 고 *다시 *그 셋 을 *쌓자.”
이 글 을 마치며 *다시 *키보드 를 *잡는다.
다시 *소프트웨어 엔지니어 다.
다음 으로 *권 하는 읽기**
- Peter Naur — “Programming as Theory Building” (1985). 프로그래밍 의 *진짜 산출물 은 *코드 가 아니라 *팀 의 *공유 이론 임. 내 *시야 의 *의미 에 대한 *고전.
- Robert C. Martin — “The Clean Coder”. 프로 의 *책임 의 윤리. AI 시대 에 *더 *유효.
- Sandi Metz — “Practical Object-Oriented Design”. 기예 의 *깊이 의 *교과서.
- 자매편 — 테스트 학습 의 7 가지 의미, 바이브 코딩 의 7 가지 기준, AI 코딩 의 한계 + 5 기준.
이 글 의 *연 작 — *“다시 *시스템 디자이너”, “다시 *온콜 엔지니어”, “다시 *코드 리뷰어” — 의 3 부 시리즈 — *곧.