- 최근 4일 만에 Protocollie 개발을 완료했으나, 같은 방식으로 반복할 수 있을지 확신 없음
-
AI 개발 환경에서는 기존의 전문성이나 방법론이 계속 뒤바뀌기 때문에 모두가 영구적인 초보자에 해당함
-
작업 문서 네 개를 사용해 일련의 실험적 개발 과정을 수행하였고, 이는 공식적인 체계가 아닌 우연적 쌓임 결과임
- AI와의 협업은 마치 시간 왜곡처럼 짧은 입력에 비해 압도적인 산출이 나오는 새로운 경험을 제공함
- 이 네 개 문서는 정해진 규칙이나 권장 사례가 아닌 실험의 흔적이며, 앞으로 개발 방식 역시 끊임없이 변화할 전망임
AI 개발의 불확실성과 실험적 접근
최근 4일 만에 Protocollie라는 소프트웨어를 이전에 익숙하지 않은 언어들을 활용하고, 코드 작성조차 직접 하지 않으면서 개발한 경험 발생함
개발 과정에 대해 주변에서 여러 질문을 받았으나 같은 방식으로 다시 구현할 수 있을지는 장담할 수 없음을 인식함
이처럼 한창 변동성이 높은 AI 시대에서는 모든 개발자가 각자 시행착오를 겪고 있으며, 어느 누구도 명확한 전문성을 내세울 수 없는 중간 지대에 머무르고 있음
기술과 전문가라는 개념의 변화
기술 발전 초입에는 모두가 전문성을 가진 척 행동하지만, AI와 같은 빠른 변화에서는 영원히 초보자 상태일 수밖에 없음을 고찰함
Malcolm Gladwell의 1만 시간 법칙처럼 기존 영역은 비교적 변화가 느렸지만, AI 도구의 발전 속도는 너무 빨라 숙련도를 쌓기가 어려움
세계 최고의 AI 페어 프로그래머도 경력이 2년을 넘기 힘든 환경으로, 모두가 시작 단계에서 헤매고 있음
즉흥적 시스템의 등장: 네 개의 문서
개발 과정에서 공식적인 시스템이나 구조를 세웠다기보다 우연적이고 누적적으로 여러 문서를 사용하게 됨
- 처음에는 아키텍처 관련 문서 한 개로 시작해, 반복되는 문제와 정보전달 문제로 인해 점차 문서가 네 개로 늘어남
- 네 개의 문서를 최적화된 결과로 정한 것이 아니라, 더는 추가하지 않아도 괜찮다고 느낀 지점임
- 개발자 역할이 실제로 남들 보기에 진짜인지 가짜인지 의심스러울 때가 있으나, 실제로 소프트웨어가 제대로 동작하고 있으므로, 모든 방법론이나 체계는 결국 결과물을 위한 합의된 허구임을 시사함
각 문서의 역할은 아래와 같음
-
Architecture Overview: README에서 출발, '이 소프트웨어가 무엇을 하는 것 같은지'를 기록
-
Technical Considerations: 반복되는 좌절이나 문제들을 문서화, Claude가 헷갈릴 때마다 세부 내용을 추가
-
Workflow Process: 반복해온 절차를 문서화, 실제로는 공식 규칙이나 신성 불가침의 문서가 아니라, 이번에 우연히 효과있었던 방법의 모음임
-
Story Breakdown: 15-30분 단위의 쪼갠 작업 청크. Claude가 금새 망각하기 때문에 대화 내역을 자주 리프레시하기 위함임
AI 시대의 시간 왜곡
Protocollie 개발 당시, AI와의 협업은 기존 소프트웨어 개발의 시간감각을 완전히 뒤흔드는 경험임
- Claude에게 특정 기능 작업을 지시한 뒤 그 사이에 개인 생활을 즐기고, 주기적으로 점검 및 간단한 피드백을 주는 방식으로 프로젝트가 진행됨
- 실제 집중해서 "일"한 시간은 하루 90분 남짓이지만, AI는 그 사이에도 빠르게 코드를 생산함
- 입력에 비해 결과물이 너무 빠르고 많아 기존의 투입-산출, 노력-성과, 시간-진전 공식이 무너짐
- 때때로 이렇게 빠른 개발이 죄책감마저 들 정도이며, 전통적 개발 패러다임에 맞지 않는다는 혼란을 느낌
"스파게티 실험" 단계
현재의 AI 개발 환경을 "스파게티 실험" 단계라고 표현함
- 즉, 벽에 실험적으로 스파게티를 던지는 과정 자체가 의미 있으며, 무엇이 굳이 붙거나 남는지는 중요하지 않음
- 각종 삽질, 실험 실패, 우연히 동작한 절차 등은 집단적 실험의 데이터 포인트 역할을 함
- 본인이 사용한 4문서 시스템도 언제든 무의미해질 수 있으며, 실험정신을 이어가는 것이 중요함
프로그램이란 무엇인가에 대한 재정의
코딩 역사를 돌아보면, 추상화의 발전과 함께 "내가 원하는 것을 설명하면 그것이 구현되는" 시대에 접어들었음을 인식함
- AI 활용은 단순한 새로운 추상화 계층 이상의, 전혀 다른 실체로 변화하고 있음
- 지금의 프로그래밍은 구문 지식, 알고리듬 이해, 시스템 설계 능력이 아닌, '정확한 상상력'과 '구조적 바람' 같은 새로운 역량이 요구됨
- 원하는 바를 명확히 정의할 수 있는 능력이 무엇보다 중요해짐
네 개 문서 시스템의 철학적 의미
되돌아보면, 네 개의 문서들은 코드 자체보다는 기억과 망각, 보존과 재생성에 관한 것임
- 각 문서는 실제론 특정 역할(아키텍처, 지침, 프로세스, 계획)보다는 "미래의 나를 위해 남긴 메시지" 같은 의미임
- 모든 개발 문서화는 결국 정보의 유실을 대비한 자신에게 보내는 안내문 성격임
불안정한 고원과 영구적 초보자
지금은 모두가 영구적인 주니어 개발자 상태
- 전통적인 주니어와 달리 바뀌는 기술 속도 때문에 선임자가 자연스럽게 되는 일은 없음
- 끊임없이 변화하는 '물리 법칙' 속에서, 안정적 숙련성보다 적응과 실험정신이 중요해짐
- 이 불확실성은 통제감과의 관계에 따라 불안하거나 해방감 넘치는 경험으로 작용함
앞으로의 변화 방향
다음에 무엇을 만들지, 어떤 프로세스를 쓸지, 이번에 만든 네 개 문서를 계속 쓸지 알 수 없는 상태임
- 모든 개발자는 동시에 자신의 루틴에서는 전문가, 새로운 상황에서는 완전 초보자임
- 4일 만의 작업이 과거의 몇 개월 분량이 될 만큼, '원하는 바를 설명하는 역량'이 결정적인 스킬로 부상함
- 본인의 네 개 문서 역시 권장사항이나 템플릿이 아닌, 잠시의 실험적 결과물일 뿐임
결국 우리는 모두 썰물 때의 모래성(소프트웨어) 을 쌓고 있으며, 진보라는 파도가 곧 그것을 다시 쓸어갈 것을 인지하고 있음
머지않아 누군가는 3문서 시스템, 5문서 시스템, 혹은 완전히 다른 접근방식을 시도할 것이며, 그 방식 또한 효과적일 수 있음
마지막으로, 본인이 사용한 네 개 문서는 현재 GitHub에 공개 중임
- 이는 절대적인 정답이나 템플릿이 아니고, 특정 시기의 한 실험 사례로 볼 것
- 다른 사람의 자취를 참고하되 그대로 따라갈 필요는 없음을 강조함
- 각자의 실험과 방법론을 개발하는 것이 AI 시대의 새로운 개발 생태계임