
전설적인 프로그래머가 자기 실수를 꺼냈어요
게임 개발이나 컴퓨터 그래픽스에 조금이라도 관심이 있다면 존 카맥(John Carmack)이라는 이름은 한 번쯤 들어보셨을 거예요. 둠(Doom), 퀘이크(Quake) 같은 전설적인 게임의 엔진을 직접 만든 id Software의 공동 창업자거든요. 그 이후에는 로켓을 만드는 아르마딜로 에어로스페이스를 운영했고, 오큘러스(Oculus)의 CTO로 들어가 VR 대중화의 한복판에 서 있었어요. 2023년에 메타를 떠난 뒤로는 Keen Technologies라는 회사를 세워서 AGI(범용 인공지능, 사람처럼 폭넓게 사고하는 AI)를 연구하고 있고요.
그런 사람이 "초창기를 돌아보면 내 실수였다고 생각하는 것들이 몇 가지 있다"는 회고를 남겼어요. 보통 우리는 이런 거장을 보면 "저 사람은 처음부터 다 잘했겠지" 하고 생각하잖아요. 그런데 정작 본인은 후회 목록을 가지고 있다는 거예요. 저는 이 지점이 주니어 개발자에게 오히려 더 큰 위로이자 교훈이 된다고 봐요.
거장이 후회하는 건 보통 '방향' 이야기예요
카맥이 그동안 여러 강연과 인터뷰에서 꾸준히 해온 이야기를 종합해보면, 그의 후회는 코드 한 줄을 잘못 짰다는 류가 아니에요. 더 큰 방향에 대한 거예요.
예를 들면 너무 오래 저수준(low-level) 최적화에 매달렸다는 결이에요. 이게 뭐냐면, 어셈블리나 비트 단위 트릭처럼 기계에 가까운 곳에서 성능을 쥐어짜는 작업인데요. 카맥은 이런 걸 정말 잘하는 사람이지만, 동시에 "더 높은 수준의 추상화(여러 코드를 묶어 단순하게 다루는 사고방식)나 더 나은 소프트웨어 설계 습관을 더 빨리 받아들였다면 좋았을 텐데"라고 종종 말해왔어요. 실제로 그는 나중에서야 함수형 프로그래밍(부작용을 줄이고 입력→출력을 명확히 하는 스타일), 정적 분석 도구(코드를 실행하기 전에 버그를 찾아주는 도구), 체계적인 코드 리뷰의 가치를 크게 인정하게 됐다고 밝힌 적이 있거든요.
핵심은 이거예요. 기술적으로 가장 어려운 걸 해내는 능력과, 장기적으로 옳은 방향을 고르는 판단은 다른 근육이라는 거죠. 천재도 후자에서는 시행착오를 겪어요.
업계 흐름에서 보면
사실 이런 회고는 카맥만의 것이 아니에요. 소프트웨어 업계 전체가 지난 20년간 "무조건 빠르게"에서 "읽기 쉽고 유지보수 가능하게"로 무게중심을 옮겨왔거든요. 옛날엔 손으로 메모리를 관리하고 성능을 짜내는 게 미덕이었다면, 지금은 가비지 컬렉션(메모리를 알아서 정리해주는 기능), 타입 시스템, 테스트 자동화 같은 안전장치를 갖춘 언어와 도구가 표준이 됐죠. 카맥의 후회는 사실 이 거대한 패러다임 전환을 한 개인이 몸으로 겪은 기록이기도 해요.
주니어 개발자에게 주는 진짜 교훈
첫째, 조기 최적화에 너무 빠지지 마세요. "이거 더 빠르게 만들 수 있는데"라는 유혹은 강하지만, 대부분의 경우 먼저 동작하게 만들고 읽기 쉽게 정리하는 게 우선이에요. 성능은 측정해보고 진짜 병목이 확인된 다음에 손대도 늦지 않거든요.
둘째, 남들이 안전장치라 부르는 것들을 일찍 받아들이세요. 타입, 테스트, 정적 분석, 코드 리뷰 같은 건 처음엔 귀찮지만, 카맥 같은 사람도 "더 빨리 받아들일걸" 하고 후회하는 영역이에요. 우리가 미리 챙기면 그 시간을 아끼는 셈이죠.
셋째, 회고하는 습관 자체를 배우세요. 30년 넘게 최정상에 있는 사람이 여전히 자기 실수를 꺼내 말한다는 건, 성장이란 게 끝나는 지점이 없다는 뜻이에요.
마무리
한 줄로 정리하면, 전설도 처음엔 헤맸고, 그 헤맴을 솔직하게 인정하는 게 진짜 실력이라는 거예요. 여러분은 지금까지 어떤 기술적 선택을 "그때 알았더라면" 하고 후회한 적이 있나요? 그 후회에서 어떤 습관을 새로 들이게 됐는지 댓글로 나눠보면 좋겠어요.
🔗 출처: Hacker News
"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"
실제 수강생 후기- 비전공자도 6개월이면 첫 수익
- 20년 경력 개발자 직강
- 자동화 프로그램 + 소스코드 제공