석공에서 목수로: 인공지능 시대의 소프트웨어 개발
1. 이게 뭔가요?
이 글은 인공지능이 컴퓨터 프로그램을 자동으로 만들어주는 시대에 맞추어 소프트웨어 개발자의 역할이 어떻게 바뀌고 있는지를 과거의 건축 방식에 빗대어 설명합니다. 과거에는 개발자가 돌을 하나씩 쌓아 올리는 석공처럼 컴퓨터 명령어를 한 줄씩 직접 짜며 시스템을 만들었습니다. 하지만 인공지능이 명령어를 대신 만들어주는 요즘에는, 목수들이 콘크리트를 붓기 전에 뼈대가 되는 나무 틀을 만들듯 개발자도 시험 환경, 설명서, 안전장치 같은 틀을 먼저 짜는 방식으로 일하게 된다는 것이 핵심 비유입니다.
2. 왜 화제인가요?
인공지능 도입으로 인해 프로그램을 만드는 과정뿐만 아니라 개발자가 고민해야 하는 핵심 질문까지 완전히 달라지기 때문에 주목받고 있습니다. 과거에는 개발자가 명령어를 직접 짜는 데 집중했지만, 이제는 무엇을 만들 것인가를 정하는 기획자의 역할이나 전체 시스템의 설계와 검증에 더 집중하게 됩니다. 또한 설계에 따른 결과를 예전보다 훨씬 빠르게 확인할 수 있어서 원인과 결과의 관계를 깨닫는 주기가 눈에 띄게 짧아집니다. 다만 실제 건축과 달리 소프트웨어는 틀을 짜고 프로그램을 만들어본 뒤에도 비용을 들여 여러 번 다시 고치고 새롭게 생성할 수 있다는 비유의 한계점도 함께 짚어줍니다.
3. 핵심 내용
저자의 할아버지는 캘리포니아주에서 다리와 고가도로 같은 구조물을 만들던 목수였습니다. 할아버지는 콘크리트를 다루는 사람이 아니라, 콘크리트를 부어 넣을 나무 틀인 거푸집을 만드는 목수였습니다. 역사적으로 다리는 석공들이 돌을 하나씩 쌓아 올리며 만들었지만, 현대의 콘크리트 다리는 목수가 틀을 먼저 만들고 콘크리트를 부어 완성합니다. 저자는 이 비유를 인공지능 시대의 프로그래밍에 적용합니다. 역사적으로 개발자는 돌을 하나씩 쌓는 석공처럼 컴퓨터 명령어를 한 줄씩 쌓아 올렸습니다. 하지만 인공지능이 명령어를 자동으로 생성하는 기술이 등장함에 따라, 개발자는 이제 테스트, 문서화, 안전장치 같은 틀을 먼저 만들고 인공지능이 올바른 명령어를 만들도록 돕는 목수처럼 일해야 합니다. 이 변화로 인해 모든 개발자는 단순히 명령어를 어떻게 짤지 고민하는 것을 넘어, 고객이 무엇을 필요로 하고 어떤 기능을 만들어야 할지 결정하는 제품 책임자의 역할을 하게 됩니다. 또한 컴퓨터가 즉시 프로그램을 만들어주기 때문에 개발자는 자신의 설계가 미친 영향을 거의 곧바로 확인하며, 프로그램 설계와 시스템의 특성 사이의 인과관계를 더 긴밀하게 파악할 수 있습니다. 과거의 소프트웨어가 내부 구조에 따라 외부 동작이 좌우되는 안쪽에서 바깥쪽으로의 방식이었다면, 새로운 방식에서는 엔지니어가 외부 동작을 정하는 틀에 더 많은 시간을 씁니다. 다만 콘크리트 다리와 달리 소프트웨어는 전체 프로그램을 다시 만드는 과정을 여러 번 반복할 수 있어 이전 단계의 교훈을 다음 단계에 계속 적용할 수 있습니다. 저자는 개발자의 역할이 명령어를 한 줄씩 쌓아 올리는 것이 아니라 완전한 시스템을 구축하는 것에 집중하는 방향으로 빠르게 변하고 있다고 강조합니다.
4. 나에게 어떤 영향이 있나요?
이 변화는 일상에서 소프트웨어를 직접 개발하거나 관련 기술을 다루는 사람들에게 직접적인 영향을 미칩니다. 개발자는 단순히 명령어를 빠르게 입력하는 능력보다 프로그램을 전체적으로 설계하고 검증하는 능력을 훨씬 더 빠르게 키워야 합니다. 다만 이러한 변화가 모든 문제를 자동으로 해결해 주거나 누구나 손쉽게 완벽한 프로그램을 만들 수 있게 해주는 것은 아니며, 오히려 개발자가 설계와 검증에 더 깊은 책임을 지게 만듭니다. 일반 독자의 경우 직접 프로그램을 작성하지 않더라도 앞으로 세상에 나오는 소프트웨어가 만들어지는 방식과 속도가 달라지면서 개발자들이 더 큰 시스템 설계와 사용자 요구에 집중하게 되는 흐름을 이해하는 데 도움을 줍니다.