아들과 함께 프로그래밍하기 글을 쓰고 벌써 1년이 지났다. 소프트웨어에 물들다 발표에서 마지막으로 이야기한 다섯 개의 여운이 아직도 잊히지 않는다.
아버지의 다른 모습
프로그래밍도 한글과 같은 언어다.
실수를 해도 괜찮다.
게임을 직접 만드는 것이 더 재밌다.
하고 싶은 일을 해라.
소프트웨어에 물들다 발표를 마친 후 아들의 일상은 이전과 별반 다른 점 없이 흘러가고 있었다. 그렇게 무난하게 한 해를 마무리하는가 싶던 2019년 말의 어느 날. 아들이 작정한 듯 선언했다. "나 대학 가지 않을 거야. 학원도 모두 끊을 거야."라고...
나는 지금 시대에 대학을 반드시 가지 않아도 된다고 생각하고 있었기 때문에 오히려 지지해 주었다. 그런데 문제는 아내였다. 아내는 대학은 당연히 가야 하는 것이고 도전도 해보지 않고 포기하는 것은 있을 수 없는 일이라면서 아들을 설득하기 시작했다. 이미 아내와 아들의 갈등은 몇 년째 이어져오고 있었다. 대학에 대한 미련, 공부에 대한 미련 때문에 아내와 아들이 충돌하는 일은 시험 시간 중 시험 공부, 학원 등록과 관련해 자주 발생했다.
아들이 성장할수록 아내의 설득력은 떨어지고 충돌과 갈등은 커져만 갔다. 첫째 딸아이를 키울 때와는 양상이 달랐다. 내가 아들과의 소통에 더 많이 관여하게 된 이유도 아내와 아들의 갈등이 좁혀질 기미가 보이지 않았기 때문이다. 아무래도 남자들의 습성을 더 잘 이해하는 내가 아들과 소통하는 것이 더 낫겠다는 생각이 들었다.
처음에는 나도 아들의 힘든 점을 지지하고 공감하는 척하면서 대학에 대한 필요성을 이야기했다. 아내와 아들의 갈등을 조금은 줄여보고자 하는 마음이 컸다. 그러나 효과는 오래가지 못했다. 근본적인 문제를 해결하지 않은 상태에서 임시방편적인 해결책은 의미가 없었다.
그래서 아들이 "나 대학 가지 않을 거야. 학원도 모두 끊을 거야."라는 선언을 했을 때 나는 아들을 진심으로 지지하기로 했다. 아들을 설득하기보다 아내를 설득하기 시작했다. "내가 어떻게든 해볼게? 꼭 대학이 전부는 아니잖아. 꼭 대학을 가지 않아도 한 사람의 몫을 하며 살 수 있지 않을까?"라고... 아내는 마지못해 인정할 수밖에 없었다.
2019년 말 겨울 방학을 앞두고 모든 학원을 끊었다. 아내에게 내가 책임지겠다고 선언했지만 나는 아무것도 하지 않았다. 일단 아들이 대학을 가지 않는 대신 자기가 알아서 하고 싶은 일을 찾아본다고 했다. 믿고 기다려 보기로 했다. 겨울 방학이 한 달, 두 달 지나가는 동안 아들은 아무 하는 일 없어 하루를 게임으로 시작해 게임으로 끝마쳤다. 아내의 불만은 커져만 갔지만 겨울 방학 동안만 기다려 보자고 설득했다.
겨울 방학이 끝나가던 올해 2월의 어느 날 아들이 한 마디 툭 던졌다. "자기 친구들은 학원도 다니면서 뭔가 하는 일이 있는데 자기는 하는 일 없이 게임만 하고 있어 뭔가 불안하다."면서... 이때가 기회라 생각했다. 한 마디 던졌다. "그럼 아빠랑 다시 프로그래밍 시작해볼래?" "그럼 한번 해볼까?"라는 아들의 답변. 겨울 방학이 보름도 남지 않은 시점에 아들과 다시 프로그래밍을 시작했다.
책을 한 권 사주고 읽게 한 후, 책의 미션을 응용해 프로그래밍 구현하는 미션 기반으로 진행했다. 특별히 미션을 설계하는데 많은 시간을 투자하기보다 아들이 스스로 학습하고 도움이 필요할 때 도움을 요청하는 방식으로 진행했다.
하늘의 도움이랄까? 보름도 남지 않은 방학 때문에 미션을 지속하기 쉽지 않겠다는 생각을 하고 있는데 코로나 때문에 재택 학습 기간이 길어져 프로그래밍 학습을 지속할 수 있었다. 아내는 학교 공부는 하지 않지만 프로그래밍 구현에 몰입하는 아들을 보며 불안감을 조금은 덜어내는 것 같았다. 아들이 프로그래밍 학습도 하지 않으면서 재택 학습을 이어갔다면 아내와 아들의 갈등이 얼마나 깊어졌을지 생각만 해도 끔찍하다.
하지만 아들의 미션 진행 속도는 더디었다. 새로운 미션을 부여하고 2,3일 간격으로 확인하지 않으면 스스로 미션을 진행하는 경우는 많지 않았다. 옆에서 꾸준히 관심을 가지고 동력을 불어넣을 수밖에 없었다. 그래도 언젠가는 프로그래밍에 대한 재미를 느끼고 스스로 학습하는 시간이 올 거라 막연한 기대를 가지고 기다렸다.
아들과 미장원에 머리를 자르러 갔다. 미장원에서 머리를 자르고 집으로 오는 길에 아들이 흥분된 목소리로 물어봤다. 동아리 후배들을 모집하기 위해 자판기 문제를 내줬는데 제출한 코드를 보다가 갑자기 Class의 필요성을 느꼈는데 맞냐는 질문이었다. 여러 개의 속성을 Class에 담는 부분까지 이해하고 구현까지 해본 후 자신이 이해한 것이 맞는지에 대한 확인을 하고 싶었던 것이다.
집에 돌아와 속성과 관련한 함수까지 구현하는 것이 Class의 역할이라는 설명을 하며 아들과 즐거운 한 때를 보냈다. 2년 전에는 아무리 책을 읽어도 이해되지 않던 Class가 웹 프로그래밍을 하다 보니 어느 순간 친숙한 느낌으로 다가왔고 갑자기 Class의 역할을 이해할 수 있었다는 것이다.
내가 지향하는 방식으로 프로그래밍을 학습하고, 즐거움을 느끼고, 깨달음을 얻어가는 아들의 모습을 보면서 나 또한 행복감을 느끼는 저녁 시간이었다.
아들과 Class를 이해하기 위해 구현한 짧은 코드는 다음과 같다.
아들은 자신이 이해한 Class 역할이 맞는지 확인하기 위해 2년 전에 구현한 시계를 다시 구현해 봤다고 한다. 내가 시킨 것도 아닌데 아들이 처음으로 자신이 의지를 가지고 프로그래밍 구현을 했다. 그런데 시계는 한 개 밖에 없다 보니까 Class의 필요성을 제대로 느끼기 힘들었단다. 그래서 자신이 좋아하는 카드 게임을 구현해 보려고 준비 중이란다. 그래서 내가 이미 알고 있던 블랙잭 카드 게임을 미션으로 제시했다.
아들은 블랙잭 게임을 구현했다. 미션을 부여하고 한 달이 지난 지금까지 모두 세 번을 구현했다. 첫 번째는 블랙잭 게임을 파이썬으로 구현하는 것에 집중했다. 두 번째 구현할 때는 함수를 작은 단위로 나누고, 이름을 부여하고, 중복을 제거하는데 집중하면서 구현했다. 세 번째는 상속 개념을 학습시키기 위해 중복을 제거한 부분을 상속으로 재 구현해보라는 미션을 부여했다. 이전 같았으면 이런 반복적인 구현에는 관심도 없고, 짜증만 냈을 아들이지만 지금은 조금 더 나은 코드를 구현하고, 새로운 개념을 학습하기 위한 이런 도전에 관심을 보이고 있다.
우아한테크코스에서 교육자의 길을 같이 걷고 있는 친구가 javascript 스터디를 진행할 계획인데 아들이 참여할 의사가 있냐고 물어왔다. 내가 주도해서 진행하던 미션도 거의 끝나가는 시점이라 현업 개발자들과 소통하고, 다른 경험을 할 수 있는 좋은 기회라 생각했다. 아들의 성향이 내성적이라 가족이 아닌 다른 사람들과 소통하는데 어려움을 가지고 있었는데 이런 성향을 극복할 수 있는 좋은 기회라 생각했다.
아들은 나보다 나이도 많은 어른들하고 어떻게 소통하냐며 불만도 표시하면서도 은근히 기대하는 눈치였다. 자신이 지금까지 몇 개월 동안 프로그래밍 학습을 했는데 현업 개발자들과 소통할 거리가 있을까라는 기대감이랄까?
그렇게 시작한 스터디에서 아들이 첫 번째 리뷰 요청을 보냈다. 처음에 어떤 의견을 남겨야 할지 주저하던 아들은 하루하루가 지나면서 개발자들과 자연스럽게 소통하고 있다. 얼굴을 마주하고 피드백을 주고 받는 소통보다 온라인으로 소통을 시작한 것은 잘한 선택이라 생각한다.
올해 초 아들과 프로그래밍을 처음 시작할 때와 비교해 아들은 조금 더 성장했고, 조금은 더 자기 주도적으로 변했다. 하지만 아직도 하루 종일 게임을 하기도 하고 스마트폰으로 시간을 보낸다.
나는 알고 있다. 아들은 조금씩 성장하고 있다는 것을... 내가 기대하는 만큼 빠르게 변화하지 않는다는 것을... 하지만 어제보다 오늘 조금은 성장하리라는 것을 믿는다. 아들이 2년이 지난 어느 날 갑자기 Class 개념을 이해하면서 무엇인가를 깨달았을 때의 전율을 느끼면서 이전보다 조금은 더 많이 성장했다는 것을 알기에... 조금은 더 자기 주도적으로 학습한다는 것을 알기에...
언제 또 한 번의 깨달음을 얻는 날이 오면서 성장하는 날이 올지 모르지만 나는 이제 기다릴 수 있는 인내력과 아들에 대한 믿음을 가질 수 있게 되었다. 나를 교육자로서 한 단계 더 성장시켜준 아들에게 감사의 말을 전한다.