//
바이브 코딩 너머 개발자 생존법 · 애디 오스마니
3장에서 AI의 70% 한계를 진단했다면, 4장은 그것을 넘어서는 구체적인 방법론을 다룬다. 저자는 시니어, 중급, 주니어 개발자 각각에게 맞춤화된 전략을 제시하며, AI 시대에 개발자의 가치가 어디에서 오는지를 설명한다.
핵심 메시지는 명확하다. AI가 코드 생성을 대신할수록, 개발자의 가치는 "코드를 작성하는 능력"에서 "올바른 코드를 판단하고 방향을 잡는 능력"으로 이동한다.
시니어 개발자의 역할은 코드를 직접 작성하는 사람에서 아키텍트 겸 편집자로 변화한다. AI가 초안을 작성하면, 시니어는 그것을 프로덕션 수준으로 끌어올리는 역할을 맡는다.
저자가 제시하는 시니어 개발자의 핵심 프레임워크는 CHOP(Context, Heuristics, Orchestration, Principles)이다.
| 요소 | 역할 |
|---|---|
| Context | 비즈니스 맥락, 기술 부채, 팀 역량 등 AI가 알 수 없는 상황 정보 제공 |
| Heuristics | 경험에서 나오는 직관적 판단 -- "이 패턴은 규모가 커지면 문제가 된다" |
| Orchestration | AI 도구들을 조합하여 최적의 워크플로를 설계 |
| Principles | 코딩 원칙, 설계 철학, 품질 기준을 설정하고 일관되게 적용 |
CHOP은 AI가 가장 따라하기 어려운 영역이다. 기술적 지식은 학습 데이터에 포함되어 있지만, 특정 조직의 맥락과 경험에서 나오는 판단은 사전 학습만으로 얻을 수 없다.
시니어의 또 다른 핵심 역할은 멘토링이다. AI가 코드 생성을 대신하면서, 주니어 개발자가 "코드를 작성하며 배우는" 기회가 줄어들 수 있다. 시니어는 AI가 생성한 코드를 함께 리뷰하면서, 왜 이 코드가 좋은지 또는 나쁜지를 설명하는 교육자 역할을 해야 한다.
AI는 범용적인 코드를 잘 생성하지만, 특정 도메인의 깊은 지식이 필요한 영역에서는 한계가 있다. 금융의 규정 준수, 의료의 안전 프로토콜, 게임의 물리 엔진 최적화 등 도메인 전문성은 시니어 개발자의 대체 불가능한 가치다.
중급 개발자는 AI와의 협업에서 가장 빠르게 생산성을 높일 수 있는 위치에 있다. 기본적인 개발 역량은 갖추고 있으면서, AI의 도움으로 더 넓은 영역에 도전할 수 있기 때문이다.
| 영역 | 구체적 활동 |
|---|---|
| 시스템 통합 | 여러 서비스와 API를 연결하는 통합 작업 |
| 성능 최적화 | 프로파일링, 병목 분석, 최적화 기법 적용 |
| 코드 리뷰 | AI 생성 코드의 품질 판단과 개선 |
| 시스템 사고 | 개별 컴포넌트가 아닌 전체 시스템 관점의 이해 |
| UI/UX 탐험 | AI를 활용한 다양한 UI 프로토타입 탐색 |
중급 개발자에게 특히 중요한 것은 시스템 사고다. AI는 개별 함수나 컴포넌트를 잘 만들지만, 그것들이 전체 시스템 내에서 어떻게 상호작용하는지를 판단하는 것은 개발자의 몫이다.
AI 코딩 도구를 활용하면 여러 가지 UI 시안을 빠르게 생성하고 비교할 수 있다. 과거에는 디자인 시안 하나를 구현하는 데도 상당한 시간이 걸렸지만, AI를 활용하면 여러 가지 접근 방식을 빠르게 탐색하고 최적의 것을 선택할 수 있다.
주니어 개발자에게 AI는 양날의 칼이다. 생산성은 높아지지만, 기초 역량을 쌓을 기회를 잃을 위험이 있다.
AI가 생성한 코드를 그냥 사용하지 말고, 항상 "왜 이렇게 작성했을까?"를 물어야 한다. AI에게 직접 설명을 요청할 수도 있고, 스스로 분석해 볼 수도 있다. 중요한 것은 코드가 동작하는 원리를 이해하려는 태도다.
저자는 주니어 개발자에게 의도적으로 AI 없이 코딩하는 훈련을 권장한다. 특히 다음 영역에서는 직접 작성하는 경험이 필수적이다.
AI가 이 모든 것을 대신할 수 있지만, 직접 경험하지 않으면 AI가 생성한 코드를 평가할 눈이 생기지 않는다.
테스트 코드는 AI에게 맡기기 쉬운 영역이지만, 주니어 시절에는 직접 작성하는 것이 중요하다. 테스트를 작성하는 과정 자체가 코드의 동작을 깊이 이해하는 행위이기 때문이다. 어떤 입력이 어떤 출력을 만들어야 하는지, 어떤 엣지케이스가 존재하는지를 고민하는 과정에서 실력이 쌓인다.
AI를 효과적으로 활용하는 것도 역량이다. 좋은 프롬프트를 작성하려면 자신이 원하는 것을 정확히 표현할 수 있어야 하고, 그러려면 기술적 이해가 선행되어야 한다. 프롬프트 작성 능력과 기술적 역량은 상호 강화 관계에 있다.
주니어 개발자라면 AI가 생성한 코드를 받아들이기 전에 반드시 한 가지 습관을 들이자. 코드를 복사하기 전에 종이나 메모장에 해당 코드가 무엇을 하는지 자기 말로 설명해 보는 것이다. 설명할 수 없다면, 아직 이해하지 못한 것이다.
AI 시대에 개발자의 가치는 경험 수준에 따라 다른 형태로 발현된다. 시니어는 아키텍트이자 편집자로서 CHOP 역량을 발휘하고, 중급은 시스템 통합과 최적화의 전문가로 성장하며, 주니어는 AI의 편리함에 의존하지 않고 기초를 단단히 다져야 한다. 공통된 것은, 70%를 넘어서는 힘이 결국 개발자 자신의 역량에서 온다는 점이다.