-
강행돌파는 결국 언젠가 한 번은 해야 한다Today I Learned 2022. 10. 11. 23:59
오후에 홀맨님이 올려주신 미국의 게임 개발자 '존 카맥'이 팟캐스트에서 이야기한 내용을 요약한 글을 보았다. 직접적으로 인용해주신 내용 말고도 흥미로운 내용이 있어 살펴보았다.
Q: 어떻게하면 존 카맥 같은 프로그래머가 될수 있나?
A: 열심히 하는 수밖에…주당 40시간 일은 파트타임으로 적당. 진지하게 잘 하려면 60시간 이상은 일 해야. 그게 현실이다. 모든 사람이 그렇게 할 필요는 없다. 하지만 훌륭한 걸 만들려면 딴 방법 없다.Q: 어떻게 대단한 것을 만들었나?
A: 시스템 레벨의 생각이 중요. 모든 것에 1등일 필요는 없다. 그러나 난 하이 레벨부터 하드웨어까지 스택의 돌아가는 것을 모두 안다. 그럼 전체를 최적화하기 위해 무엇을 희생할지 결정할 수 있다. 새로운 것을 만들려면 이 시스템 레벨의 결정이 핵심이다.Q: 젊은이들에게 해주고 싶은 말은?
A: 기술의 겉표면만 긁지 말고 레이어를 깊이 파고들어라. 호기심을 가지고 스택의 모든 것을 다 알고 싶어하라. 모든 것을 알아서 시스템 레벨로 생각하는 사람이 되라. 그렇게 모든 것을 꿰뚫은 사람이 되면 기회가 찾아온다.일요일에 진 트레이너님과 우연히 집에 가는 방향이 같아 잠시 같이 가면서 나눴던 이야기가 떠올랐다. 진님과 이야기를 나누면서 '영문으로 된 문서이건, 우리말로 된 내용이건 어떤 문서를 읽을 때 수많은 내용들 중에서 필요한 부분을 어떻게 찾아야 할지 판단하기 쉽지 않다'는 질문을 했었다.
진님께서 주셨던 답변이 위의 인용문과 큰 느낌적으로 비슷했다. 그냥 봐서는 아무리 이해가 안 가더라도, 결국 언젠가 한 번은 그 내용들을 알기 위해 시간을 들여 받아들이고 깨기 위한 시도가 있어야 한다는 이야기를 해주셨다.
무언가를 하기 위해 딱 필요한 내용만 알아서는, 알게 된 것을 바로 그 영역에서밖에 사용할 수 없다. 어떤 동작의 내부 구조를 한번은 파 보려는 시도가 있어야 할 것이다. 한번 알게 된 내용을 바탕으로 다시 한 번 내용을 보고, 또 보고, 반복해서 본다면 처음에는 맥락이 잡히지 않던 내용이라도 점차 영역이 확장되어 나가지 않을까 생각한다.
알게 된 것을 비슷한 다른 영역에서도 응용해서 쓸 수 있게 될 때, 비로소 진짜 내 것으로 만들었다고 할 수 있지 않을까 생각이 든다.
'Today I Learned' 카테고리의 다른 글
여전히 통제가 안 되는 영역이 있다는 불안감 (레벨 테스트 9일차 작업 회고) (0) 2022.10.13 jest.fn()을 부여한 변수에는 호출 기록이 쌓인다 (0) 2022.10.12 무시무시한 소스코드 중복을 줄이는 메서드화의 힘 (레벨 테스트 6일차 작업 회고) (0) 2022.10.10 성능의 최적화가 오히려 코드 가독성에 좋지 않은 영향을 미칠 수 있다 (0) 2022.10.09 @SpyBean, @MockBean (0) 2022.10.08