AI 시대의 소프트웨어 엔지니어링
AI가 코드 작성을 주도하게 되면서 소프트웨어 엔지니어의 역할은 직접 코드를 짜는 '창작자'에서 AI가 생성한 코드를 검토하고 수정하는 '감독관' 및 '편집자'로 변화했습니다. 특히 시니어 개발자는 AI를 훌륭하지만 시스템 전체를 보지 못하는 주니어 개발자처럼 취급하며, 법적 문제나 보안, 시스템 아키텍처 충돌 등을 방지하기 위해 철저한 검증과 교정 작업을 수행해야 합니다.
AI 시대의 소프트웨어 엔지니어링 (2026년 6월 28일)
여러분 중 모르시는 분들을 위해 말씀드리자면, 제가 소설을 쓰지 않을 때는 소프트웨어 엔지니어로서 코드를 작성하며 하루를 보냅니다. 요즘 소프트웨어 산업은 인공지능에 크게 의존합니다. AI는 수조 줄에 달하는 공개된 소스 코드를 학습했고, 코드는 테스트를 통해 옳고 그름을 명확히 증명할 수 있는 방식으로 문제를 해결하며, 컴퓨터가 이해할 수 있도록 특정 구조를 갖추고 있기 때문에 코드 작성에 매우 능해졌습니다.
프로그래머들이 AI를 사용하기 전의 전형적인 업무 흐름은 이랬습니다. 누군가 기존 프로그램에 새로운 기능을 추가해 달라고 요청합니다. 개발자는 그 기능이 무엇을 해야 하고(혹은 하지 말아야 하고), 사용자가 어떻게 접근할 수 있으며, 제대로 작동하는지 어떻게 테스트할지 설명하는 공식적인 명세를 작성합니다. 그런 다음 이 기능을 구현하는 데 가장 적합한 데이터 구조, 알고리즘, 코드 라이브러리 및 외부 서비스가 무엇일지 조사하는 데 시간을 씁니다. 이어서 새로운 기능을 구축할 코드, 예상대로 작동하는지 확인할 테스트 코드, 그리고 사용자에게 사용법을 알려주고 다른 엔지니어들이 향후 유지보수 및 디버깅을 위해 알아야 할 사항을 적은 문서를 작성합니다. 마지막으로 조직 내 다른 엔지니어들에게 새 코드를 검토하고 의견을 달라고 요청하며, 궁극적으로 제품에 적용할 수 있도록 승인을 받기 위해 '풀 리퀘스트(Pull Request)'를 생성합니다.
이제 AI가 꽤 괜찮은 품질의 코드를 일관성 있게 생산해낼 수 있게 되면서, 소프트웨어 개발자의 업무 흐름은 다음과 같이 변했습니다. 개발자는 AI에게 새로운 기능을 만들어 달라고 요청하는 프롬프트를 작성합니다. AI가 작성한 결과물을 검토하면서 적절하다고 생각하는 부분은 직접 수정하거나, AI 에이전트에게 대신 수정해 달라고 요청합니다. 그런 다음 새 코드를 직접 기존 코드베이스에 병합하거나, 다른 누군가가 검토하고 병합할 수 있도록 풀 리퀘스트를 생성합니다.
과거의 업무 방식에서는 창의적인 과정이 대부분 개발자의 머릿속에서 일어났습니다. 하지만 새로운 프로세스에서는, 개발자는 AI의 내부적인 연산 과정 속에서 전개되는 창의적 과정을 '감독'하게 됩니다. AI가 작업을 시작할 수 있도록 간결하고, 사려 깊고, 정확한 프롬프트를 만드는 데는 어느 정도 노력을 기울이지만, 예전처럼 직접 코드를 작성하며 해야 했던 고된 사고 과정은 더 이상 거치지 않습니다.
AI로부터 전달받은 코드를 다룰 때, 개발자는 본질적으로 '편집자' 역할을 하게 됩니다. AI가 코드를 작성할 수는 있지만, 개발자처럼 프로젝트의 전체적인 큰 그림을 항상 볼 수 있는 것은 아니기 때문입니다. 따라서 이 새로운 코드가 문제를 일으키지 않을지 확인해야 합니다. AI는 자신이 방금 추가한 코드가 제품이 준수해야 할 법적 규제를 위반하는지 알지 못합니다. 외부 시스템에 보내는 요청을 처리하는 데 10밀리초가 걸릴지 10분이 걸릴지도 알지 못합니다. 코드의 동작이 3주 뒤에 팀 동료가 추가할 새로운 기능과 충돌할지 여부도 모릅니다. 또한 방금 작성한 함수가 지난달에 직접 작성했던 민감한 정보를 처리하는 다른 함수와 상호 작용할 때 새로운 보안 문제를 일으킬지에 대해서도 알지 못합니다. 시니어 개발자는 이러한 사항들을 잘 알고 있으며, 이것이 바로 겉보기에는 '그냥 잘 작동하는' 것처럼 보이는 AI 코드를 엄격하게 검토하고 종종 수정해야만 하는 이유입니다.
시니어 개발자에게 AI는 유능하고 일 처리가 빠른 주니어 또는 미드 레벨 개발자와 같습니다. 적절히 지시만 하면 대체로 훌륭한 결과물을 내놓지만, 과거 20년 동안 시니어 개발자가 쌓아온 조직 내 지식 및 깊고 폭넓은 시스템 수준의 지식은 결여되어 있습니다.
이제 잠시 뒤로 물러나 비유를 하나 들어보겠습니다. 여러분이 역사 소설 작가라고 가정해 봅시다. 작가의 업무 방식은 어떤 모습일까요? 아마도 대략 이런 식일 것입니다. 1760년 런던의 성 바울 대성당 밖에서 두 정치가가 논쟁을 벌이는 장면을 상상합니다. 이 장면을 정확하게 묘사하기 위해 알아야 할 정보들, 즉 복장, 거리의 분위기, 정치적 상황 등을 고려합니다. 그런 다음 몇 권의 책을 펴고 다음과 같은 사항들에 대해 노트를 작성하기 시작합니다. (본문 생략)