렉스 프리드먼 팟캐스트에 존 카맥이 출연하여 인터뷰한 내용을 박상민님(@sm_park)이 트위터에 요약한 내용입니다.
전설의 프로그래머 존 카맥의 팟캐스트를 들으며 내맘대로 요약해본 타래. 무려 5시간 동안 엄청난 에너지를 쏟아낸 팟캐스트.
Q: 뛰어난 프로그래머는 어떤 사람인가?
A: 사용자에게 가치를 만들어 주는 사람. 프로그래머 자신을 만족시키기 위한 코드는 별 가치 없다.
Q: 어떻게하면 존 카맥 같은 프로그래머가 될수 있나?
A: 열심히 하는 수밖에…주당 40시간 일은 파트타임으로 적당. 진지하게 잘 하려면 60시간 이상은 일 해야. 그게 현실이다. 모든 사람이 그렇게 할 필요는 없다. 하지만 훌륭한거 만들려면 딴방법 없다.
Q: 프로그래밍할때 습관이 있나?
A: 어려서 가난했는데 피자를 먹고 싶었다. 나중에 게임만들며 매일 도미노 피자에서 피자를 한개씩 주문 15년동안 먹었다. 지금도 코딩하며 다이어트 콜라 하루 9캔씩 마신다.
Q: 자바스크립트는 어떻게 생각하나? 파이썬은?
A: 괜찮은 언어다. 커뮤니티도 크고 툴 생태계 도 훌륭하고.. 가끔 성능때문에 짜증이 확 나지만(반복 강조)… 그게 모두에게 중요하겠나?
Q: 처음 게임 만든 언어, 사용한 컴퓨터는 뭐였나?
A: 어셈블리. 그 당시엔 다 어셈블리 몇천 라인이면 게임 만들고 그랬다. 10대에 애플 2로 컴퓨터에 빠졌고 그 담엔 IBM PC. 밥 먹고 코딩만 했다. 행복했다.
Q: 어떻게 맨땅에서 3D 그래픽스를 구현했나? 수학 천재 아닌가?
A: 사실 난 수학 천재 아니다. 그냥 고등학교때 배운 수학으로 다 가능했다 (존카맥은 대학 2학기만에 게임 만들려고 자퇴)
Q: 어렸을때 어떻게 자랐나?
A: 집이 가난하고 성격이 좀 우울했다. 편의점가서 만화책 보거나 오락 한두판 하는게 제일 좋았다. 수업은 빠지고 도서관에서 책 읽는날이 많았다.
Q: 어떻게 대단한 것을 만들었나?
A: 시스템 레벨의 생각이 중요. 모든 것에 1등일 필요는 없다. 그러나 난 하이레벨부터 하드웨어까지 스택의 돌아가는 것을 모두 안다. 그럼 전체를 최적화 하기위해 무엇을 희생할지 결정 할수 있다. 새로운 것을 만들려면 이 시스템 레벨의 결정이 핵심이다.
Q: 현재 만드는 AGI (범용인공지능) 프로젝은 가능성 있나?
A: 우리가 아직 완전히 모르지만 아주 단순한 방법이 있을것. 너무 단순해서 수만 라인 정도의 코드로 스스로 배울 수 있는 인공지능을 만들수 있을거라고 생각. 2030년 안에 가능하다는데 배팅한다.
Q: AGI 프로젝은 왜 하는지?
A: 50대가 되고 돈은 많다. 인류에 중요한 프로젝은 무엇일까 생각하니 AI. 수억원어치 GPU 사서 머신러닝 실험 돌리고 있다. 날리던 사람들이 나이들어 이런 “미친 과학자” 프로젝트 하는게 많았으면 좋겠다. 얼마전 투자도 받아 책임감도 생겨 더 집중하게 되더라.
Q: 젊은이들에게 해주고 싶은 말은?
A: 기술의 겉표면만 긁지말고 레이어를 깊이 파고들어라. 호기심을 가지고 스택의 모든 것을 다 알고 싶어하라. 모든 것을 알아서 시스템 레벨로 생각하는 사람이 되라. 그렇게 모든것을 꽤뚫은 사람이 되면 기회가 찾아온다.
n류 프로그래머가 되기 위해서 마늘과 쑥...이 아니라 피자와 다이어트 콜라를 먹어야겠네요.
아니 하여간 저 분의 얘기중에 시스템 레벨 프로그래밍은 레알 존경하고 인정합니다. C++ 퀘이크 만들어서 구동 pc 사양 올라간다고 c로 다 뜯어 고친 건 유명한 일화죠.
사람이 이해하기 어려울수록 컴퓨터에겐 쉬워진다란 말이 저기서 나왔는데 요샌 또 pc 사양이 엄청 올라서 어느 정도는 뭐 용인 되는 레벨 같아요.
. . . 인 정 합 니 다 ~