프로그래밍을 시작하려는 사람들에게
조언이 있나요? 프로그래밍을 배우고 싶어하는 사람들에게요. 당신은
"프로그래밍이란 무엇인가?" 라는 영상이 있죠.
초보자 강의라고요. 그런데 최상위 댓글이
"경고: 이건 초보자용이 아니다"라고 되어 있더라고요.
그 영상에 대한 초보자를 위한
요약과 함께 프로그래밍 입문에 대한
초보자 친화적인 조언을 해주실 수 있나요?
"프로그래밍 배우기" 같은 동영상을 보는 것으로는 절대 프로그래밍을 배울 수 없어요.
프로그래밍을 배우는 유일한 방법은, 제가 생각하기에,
그리고 제가 만난 프로그래밍을 잘하는 모든 사람들이 배운 유일한 방법은 이래요.
그들은 하고 싶은 것이 있었고,
그걸 해보려고 했죠. 그리고 나서 이렇게 생각했어요.
"음, 컴퓨터가 이걸 할 수 있으면 좋겠는데" 라고요.
그렇게 배우는 거예요.
그냥 계속 프로젝트를 밀고 나가는 거죠.
그래서 프로그래밍을 배우는 유일한 조언은 "프로그래밍을 하라"는 거예요. 어떤 사람이
제게 질문을 보냈는데,
순환 신경망에 대해 배우고 싶어 했어요. 이렇게 말하더라고요.
"우리 회사가 시계열 데이터에 순환 신경망을 사용하려고 생각 중인데,
어디에 사용해야 할지 잘 모르겠어요"
아직 그렇지 않습니다. 우리는 그저, 어떻게 배우면 좋을지
조언이 있나요. 이런 일반적인 기계 학습 질문들에 대해,
제 생각에 답은 이렇습니다.
실제로 해결하려는 문제가 있어야 합니다. 그리고 그저. 저는
그런 걸 봅니다. 오, 세상에. 사람들이 그렇게 말할 때, "기계 학습이
중요하다고 들었어요. 마카로니 치즈 생산에
기계 학습을 적용하는 걸 도와주실 수 있나요?"
당신은 그저, 저는 이해할 수 없어요. 이런 사람들을 도울 수 없습니다.
누가 이런 사람들에게 무언가를 운영하게 하나요?
우리 모두 언젠가는 초보자였죠.
그래서 그들이 초보자라는 게 문제가 아닙니다.
문제는 그들이 기계 학습을 모른다는 게 아니에요.
문제는 기계 학습이 마카로니 치즈 생산과
관련 있다고 생각한다는 거예요. 마치 "이 새로운 기술에 대해 들었어요.
어떻게 이용할 수 있을까요?" 라고 하는 것과 같아요.
그게 뭔지도 모르면서 어떻게 사용할 수 있을지 묻는 거죠.
맞아요. 직관을 키워야 해요. 방법을 찾을 수
있을지도 모르지만, 전제 조건으로 먼저 해결해야 할
마카로니 치즈 문제가 있어야 해요. 맞아요. 그리고 둘째로,
학습 과정에는 더 전통적이고
기계 학습 분야에 적용 가능한 문제들을
다뤄야 하고, 그 다음에 그것이
최소한 시작하기 위해 적용될 수 있는 것은, 문제에 대해 말해보세요.
예를 들어, 문제가 있다면 이렇게 말할 수 있죠. "제 상자 몇 개에
마카로니가 충분히 들어가지 않아요. 이 문제를 기계 학습으로 해결할 수 있을까요?"
이렇게 접근하는 것이 "마카로니 치즈에 기계 학습을 어떻게 적용할 수 있을까요?"라고
묻는 것보다 훨씬 훨씬 낫습니다.