나는 내 아이들이 뛰어난 프로그래머를 거쳐 위대한 아키텍트가 되기를 갈망하지만 아직까지 프로그래밍을 가르치지는 않는다.
그 이유는 프로그래밍이라는 영역이 단순한 암기 지식으로 접근할 수 있는 분야가 아니라고 생각하기 때문이다.
프로그래밍, 정확하게 programmatic development에 대해 나름대로의 정의를 내리자면,
"논리적 사고가 뛰어난 사람이 주어진 문제에 대해 컴퓨터를 활용하여 해결해 나가는 과정"이라고 정의하고 싶다.
따라서, 많은 사람들이 사용하고 있는 방법들을 학습하여 나의 생산성을 높이는 것은 나의 경력이나 생산성을 높여 직업을 얻기 위한 목적이 강한 coding이나 composition에 해당하는 것이지 development라고 보기 어렵다. 물론 이런 과정들을 거쳐 논리적 사고가 발달하고, 다른 어떤 사건적 요소가 가미되어 새로운 아이디어가 떠오를 수도 있을 것이다.
하지만, 인간 본연의 특성상 쉽게(?) 얻은 달콤한 유혹은 생각을 멈추게 하는 법이므로, 나는 나의 아이들을 그런 유혹에 길들이고 싶지 않다,
아이들과 함께 하는 다양한 형태의 논리적인 놀이 등을 통해 논리적 사고에 익숙하도록 하는 수년 간의 과정을 거친 후에 프로그래밍에 관심을 보이고 집중하게 된다면, 그 아이는 남들이 십년 넘게 배운 과정을 1년 이내에 마스터하고 그 이후는 누구도 상상할 수 없을만큼 빠른 속도로 성장하게 될 것이라고 믿는다.
아이들이 성장하는 과정을 건축에 비유한다면, 눈에 보이는 "사상누각"이 항상 불안하고 흔들리며, 성장에 한계가 있기 마련이다. 하지만, 오랜 시간이 걸리고, 복잡한 재료들이 융합되는 과정이 필요한 콘크리트 기초 위에 세워진 건물은 흔들림도 없이 안정될 뿐만 아니라, 무한한 성장 가능성을 가진 것에 비유하고 싶다.
아이들에게는 실패를 통한 풍부한 경험이 필요하다.
그 이유는 프로그래밍이라는 영역이 단순한 암기 지식으로 접근할 수 있는 분야가 아니라고 생각하기 때문이다.
프로그래밍, 정확하게 programmatic development에 대해 나름대로의 정의를 내리자면,
"논리적 사고가 뛰어난 사람이 주어진 문제에 대해 컴퓨터를 활용하여 해결해 나가는 과정"이라고 정의하고 싶다.
따라서, 많은 사람들이 사용하고 있는 방법들을 학습하여 나의 생산성을 높이는 것은 나의 경력이나 생산성을 높여 직업을 얻기 위한 목적이 강한 coding이나 composition에 해당하는 것이지 development라고 보기 어렵다. 물론 이런 과정들을 거쳐 논리적 사고가 발달하고, 다른 어떤 사건적 요소가 가미되어 새로운 아이디어가 떠오를 수도 있을 것이다.
하지만, 인간 본연의 특성상 쉽게(?) 얻은 달콤한 유혹은 생각을 멈추게 하는 법이므로, 나는 나의 아이들을 그런 유혹에 길들이고 싶지 않다,
아이들과 함께 하는 다양한 형태의 논리적인 놀이 등을 통해 논리적 사고에 익숙하도록 하는 수년 간의 과정을 거친 후에 프로그래밍에 관심을 보이고 집중하게 된다면, 그 아이는 남들이 십년 넘게 배운 과정을 1년 이내에 마스터하고 그 이후는 누구도 상상할 수 없을만큼 빠른 속도로 성장하게 될 것이라고 믿는다.
아이들이 성장하는 과정을 건축에 비유한다면, 눈에 보이는 "사상누각"이 항상 불안하고 흔들리며, 성장에 한계가 있기 마련이다. 하지만, 오랜 시간이 걸리고, 복잡한 재료들이 융합되는 과정이 필요한 콘크리트 기초 위에 세워진 건물은 흔들림도 없이 안정될 뿐만 아니라, 무한한 성장 가능성을 가진 것에 비유하고 싶다.
아이들에게는 실패를 통한 풍부한 경험이 필요하다.




최근 덧글