코드를 읽지 않는 시대, 엔지니어는 무엇을 읽어야 하는가
목차
- 개요
- AI 쓴 개발자가 17% 덜 배웠다
- 코드를 읽는 시대에서 지시하는 시대로
- 결승선 게임과 복리 게임
- AI는 거울이다
- 거울의 한계
- 그래서 어떻게 쓸 것인가
- 변하지 않는 것들
- 결론
- Reference
개요
AI 시대에 소프트웨어 엔지니어의 역할이 근본적으로 변화하고 있습니다. 더 이상 코드를 한 줄씩 읽지 않아도 되지만, 읽을 줄 아는 능력은 더욱 중요해지고 있다는 역설적인 현실을 마주하고 있습니다. 이 글은 flowkater.io의 “코드를 읽지 않는 시대, 엔지니어는 무엇을 읽어야 하는가”를 바탕으로 정리한 내용입니다.
AI 쓴 개발자가 17% 덜 배웠다
Anthropic의 연구에서 흥미로운 결과가 나왔습니다. AI 지원을 받은 개발자들이 퀴즈 점수에서 낮은 성과를 보였는데, 그 차이가 17%에 달했습니다.
핵심 발견은 같은 도구를 써도 “사용 방식”에 따라 결과가 극명하게 갈린다는 점입니다. 코드를 통째로 AI에 위임하는 방식과, 개념만 학습하고 직접 구현하는 방식 사이에 큰 성과 차이가 존재합니다. 이는 단순히 AI를 사용하느냐의 문제가 아니라, 어떻게 사용하느냐가 핵심이라는 것을 보여줍니다.
코드를 읽는 시대에서 지시하는 시대로
Ben Shoemaker는 이제 엔지니어들이 코드 한 줄씩을 읽지 않고, 대신 스펙·테스트·아키텍처를 읽는다고 말합니다. 하네스 엔지니어링 개념이 등장했습니다. 테스트, AGENTS.md, 컨텍스트 파일 중심으로 개발을 구조화하는 접근 방식입니다.
코드 생성이 점점 상품화되면서, “지시하는 것”이 새로운 핵심 역량으로 부상하고 있습니다. 엔지니어는 이제 에이전트 관리자 역할로 전환되고 있습니다.
| 과거 역할 | 현재 역할 |
|---|---|
| 코드를 한 줄씩 읽고 작성 | 스펙·테스트·아키텍처를 읽고 지시 |
| 코드 작성자 | 에이전트 관리자 |
| 구현 중심 | 컨텍스트 엔지니어링 중심 |
결승선 게임과 복리 게임
Kent Beck은 단순히 기능을 완성하는 “결승선 게임”에서 벗어나야 한다고 주장합니다. 소프트웨어는 본질적으로 복리 게임입니다. 오늘의 설계 결정이 미래의 가능성을 결정합니다.
주의해야 할 점이 있습니다. AGENTS.md를 아무리 잘 작성해도, 시스템 복잡성이 AI의 역량을 초과하면 결국 게임이 끝날 수 있습니다. 단기적인 생산성 향상에만 집중하면, 장기적으로는 더 큰 기술 부채를 안게 됩니다.
AI는 거울이다
Jeremy Utley는 AI를 거울에 비유합니다. AI는 사용자의 능력을 증폭시킬 뿐, 없던 것을 새롭게 만들어내지 못합니다.
엔지니어가 TDD를 알면 AI도 TDD를 따릅니다. 반대로 모르면 AI도 대충 구현합니다. 사용자의 기질과 의도가 결과물의 품질을 결정합니다.
Anthropic 연구에서 가장 효과적인 패턴으로 밝혀진 “개념적 탐구” 방식은 이를 잘 보여줍니다. 개념만 AI를 통해 학습하고, 실제 구현은 직접 하는 방식이 학습 효과와 코드 품질 모두에서 가장 좋은 결과를 냈습니다.
거울의 한계
AI가 비추지 못하는 영역이 있습니다. 바로 사용자 자신이 모르는 분야입니다.
보안, 성능, 데이터베이스 설계 등 자신의 약점 분야에서는 AI도 같은 약점을 보입니다. 내가 모르는 것은 AI도 모른 채 지나칩니다.
또한 “드라큘라 이펙트”라는 현상도 주의해야 합니다. AI와의 집중적인 코딩 작업은 극도의 정신 에너지를 소비합니다. 일반적인 코딩보다 훨씬 빠른 속도로 많은 결정을 내려야 하기 때문입니다.
그래서 어떻게 쓸 것인가
실질적인 AI 활용 방법으로 다음과 같은 접근을 제안합니다.
대화 방식의 전환
AI와 단순히 명령-응답 관계가 아닌, AI가 먼저 질문하도록 유도하는 대화를 해야 합니다. 음성 입력을 활용하면 검색 엔진처럼 쓰는 습관에서 벗어나 더 자연스러운 대화를 이끌어낼 수 있습니다.
컨텍스트 엔지니어링
프로젝트의 아키텍처 결정 이유, 코딩 컨벤션, 도메인 용어 정의를 문서화하는 것이 진정한 가치를 만듭니다. 문서, 린터, 테스트 인프라로 구성된 “컨텍스트 레이어”가 AI 협업의 핵심입니다.
태도의 전환
AI를 단순한 도구가 아닌, 팀원으로 대하는 태도가 필요합니다. 맥락과 배경을 설명하고, 피드백을 주고받으며, 함께 문제를 해결하는 방식으로 접근해야 합니다.
변하지 않는 것들
코드를 직접 읽는 시간은 줄어들고 있습니다. 그러나 읽을 줄 아는 능력은 오히려 더 중요해지고 있습니다.
모든 테스트가 통과해도 제품이 이상하게 동작하는 순간이 반드시 찾아옵니다. 그때 직접 코드를 분석하고 문제를 발견할 수 있는 능력이 필요합니다.
비판적 사고, 논리적 분석, 디테일에 대한 감각은 AI 시대에 더욱 중요한 차별화 요소입니다. “읽을 줄 알면서 안 읽는 것”과 “못 읽는 것”은 완전히 다른 차원의 이야기입니다.
결론
AI 시대에 엔지니어의 역할은 분명히 변하고 있습니다. 코드를 직접 작성하고 읽는 시간은 줄어들고, 지시하고 검토하는 역할이 늘어나고 있습니다.
하지만 AI는 사용자의 기존 능력을 극대화하는 거울일 뿐입니다. 기본기와 비판적 사고능력을 갖춘 엔지니어가 AI를 활용했을 때 진정한 가치를 창출할 수 있습니다. 변화의 속도에 압도되기보다는, 변하지 않는 핵심 역량을 키우면서 새로운 도구를 적절히 활용하는 균형이 중요합니다.