- AI 코딩 도구의 등장으로 깊이 사고하는 경험이 급격히 줄어들면서, 엔지니어로서의 성장이 정체된 느낌을 받고 있음
- 내 안에 있는 '빌더(Builder)'와 '싱커(Thinker)' 중, 빌더는 AI 덕분에 만족되지만 싱커는 굶주리고 있는 상태
-
"바이브 코딩" 으로 아이디어에서 현실로 빠르게 전환할 수 있지만, 창의적 문제 해결의 기회가 크게 감소
- AI가 70% 수준의 "충분히 괜찮은" 솔루션을 제공하면, 실용주의적 성향 때문에 이를 거부하기 어려움
- 코딩 외부에서 깊은 사고의 만족감을 찾으려 했으나 성공하지 못했고, 두 가지 욕구를 동시에 충족할 수 있을지 불확실한 상황
사고의 결핍에 대한 문제 제기
- 글을 읽기 전에 “마지막으로 진지하게 생각한 때가 언제인가” 를 생각해 볼 것
- 이 글은 해결책이나 조언이 아닌, 단순히 최근 느낀 답답함을 토로하는 글
빌더(Builder)와 싱커(Thinker)라는 두 가지 성향
-
빌더(Builder): 만들고, 출시하고, 실용적인 결과를 내고자 하는 성향
- 속도와 유용성에 의해 동기 부여됨
- 성공적인 배포에서 오는 도파민, 실제 문제를 해결하는 시스템을 만들 때의 만족감, 누군가가 자신의 도구를 사용하고 있다는 사실에서 즐거움 발생
-
싱커(Thinker): 깊고 장기간 이어지는 정신적 씨름을 필요로 하는 성향
- 물리학을 전공하던 대학 시절, 평균 난이도를 훨씬 넘어서는 과제 문제들이 주어졌음
- 개념을 이해하고 있어도 접근 방법 자체를 떠올리기 어려운 문제들이 존재했음
어려운 문제에 직면한 학생들의 세 가지 유형
-
유형 1(다수): 몇 번 시도하다가 포기하고 교수나 조교에게 도움을 요청
-
유형 2(연구자형): 도서관에서 비슷한 문제나 힌트를 찾아 문제를 풀 수 있는 상태로 만듦, 대체로 해결에 도달
-
유형 3(싱커형): 오직 생각하는 방식으로 접근
- 며칠 또는 몇 주 동안 비입출력(non-I/O) 상태의 두뇌 시간을 거의 전부 문제 해결 가능성에 사용
- 잠을 자는 동안에도 사고가 이어짐
- 이 방식은 한 번도 실패한 적이 없었으며, 깊고 오래 지속되는 사고가 자신의 강점이라고 인식
- 상위 1%처럼 빠르거나 타고난 재능은 없지만, 충분한 시간이 주어지면 어떤 문제든 풀 수 있다는 확신을 가짐
AI와의 갈등
- 소프트웨어 엔지니어링이 처음 그토록 만족스러웠던 이유는 바로 이러한 이중의 만족감 때문이었음
-
빌더(유용한 것을 만들어 생산적이고 실용적인 느낌)와 싱커(정말 어려운 문제 해결) 모두를 충족
- 엔지니어로서 가장 크게 성장했던 프로젝트들은 항상 창의적인 해법이 요구되는 어려운 문제들을 다수 포함하고 있었음
- 그러나 최근에는 몇 시간 이상 하나의 문제를 붙잡고 진지하게 사고하는 경우가 급격히 줄어듦
- 그 어느 때보다 더 많이, 더 복잡한 소프트웨어를 작성하고 있지만, 엔지니어로서 전혀 성장하지 않는 느낌
- "정체된" 느낌의 이유를 되짚어보니, 싱커를 굶주리게 하고 있다는 것을 깨달음
-
"바이브 코딩(vibe coding)" 은 분명히 빌더를 만족시킴
- 아이디어가 매우 짧은 시간 안에 곧바로 현실로 구현되는 과정에서 즉각적인 쾌감 발생
- 반면 기술적 문제에 대해 스스로 창의적인 해법을 고민해야 하는 순간은 크게 줄어듦
- 순수하게 빌더 성향인 사람들에게 이 환경은 최적의 시대임
- 그러나 나에게는 분명히 뭔가 부족함
실용주의의 함정
-
“바이브 코딩으로 해결된다면 그 문제는 원래 어려운 문제가 아니었다” 는 반론을 예상함
- AI는 어려운 문제에 특별히 뛰어난 것도 아니고, 쉬운 문제에서도 항상 좋은 해법을 내놓는 것은 아님
- 동일한 모듈을 세 번째로 직접 다시 작성한다면, AI가 만들어낸 어떤 결과보다 더 나을 것이라는 확신이 있음
- 하지만, 동시에 나는 실용주의자임
- 시간과 노력의 극히 일부만 들여 “충분히 가까운” 해법을 얻을 수 있다면, AI를 선택하지 않는 쪽이 오히려 비합리적으로 느껴짐
- 진짜 문제는 이 실용주의를 의식적으로 끌 수 없다(무시할 수 없다)는 점임
- 본질적으로 빌더이며, 무언가를 만드는 행위 자체를 좋아함. 더 빠르게 만들 수 있다면 그 편이 항상 더 좋게 느껴짐
- AI를 거부하고, 싱커의 욕구가 코딩을 통해 자연스럽게 충족되던 시절로 돌아가려 해도, 빌더는 그 비효율을 견디기 어려움
- AI가 거의 확실하게 100% 만족스러운 해법을 제시하지는 않지만, 도달하는 70% 수준의 해법은 대개 “충분히 좋음”이라는 기준을 충족함
앞으로 어떻게 해야 할까?
- 솔직히 아직 답을 찾지 못한 상태이며, 계속 고민 중임
- 이 두 성향이 코딩이라는 한 영역 안에서 더 이상 동시에 충족될 수 있을지 확신하지 못하겠음
- 더 어려운 프로젝트를 목표로 삼아 AI가 완전히 실패하는 문제를 의도적으로 찾는 선택지는 존재함
- 그런 문제를 가끔 마주치기는 하지만, 깊은 창의적 해법을 요구하는 문제 자체가 빠르게 줄어드는 느낌
- 코딩 바깥에서 정신적 성장의 감각을 되찾으려는 시도도 하고 있음
- 물리학과 다시 연결되기 위해 오래된 교과서를 펼쳐 보기도 함
- 그러나 실질적인 만족으로 이어지지는 않았음
- 무언가를 만들 수 있는 상황에서, 현재와 직접적인 관련이 없거나 최신도 아닌 물리 문제에 시간과 정신적 에너지를 쓰는 일을 스스로 정당화하기 어려움
- 빌더 성향은 그저 앉아서 미해결 문제를 붙잡고 사유하는 상태를 허용하지 않음
- 싱커 성향은 바이브 코딩이 이어지는 동안 계속해서 굶주린 채로 남아 있음
- 두 욕구가 동시에 충족되는 시점이 다시 올지에 대해서는 확신하지 못하겠음
“이제 우리는 이 존재에, 그 어떤 상상력의 힘도, 가장 대담한 환상의 비약도, 가장 독실한 신앙심도, 아무리 심오한 추상적 사고도, 황홀경에 빠진 정신조차도 결코 도달하지 못했던 것을 언제나 가리켜 온 그 익숙한 이름을 부를 권리를 갖게 되었습니다. 신(God). 그러나 이 근본적인 통일성은 과거의 것이며, 이제 더 이상 존재하지 않습니다. 그것은 자신의 존재를 변화시키는 과정에서, 스스로를 완전히, 철저히 산산조각 내버렸습니다. 신은 죽었고, 그의 죽음이 바로 세상의 생명이었습니다.”
— Philipp Mainländer