brunch

You can make anything
by writing

C.S.Lewis

by 바이너리 Oct 22. 2022

#8 3개월의 법칙

‘내’가 아닌 ‘뇌’를 믿어라.

무언갈 간절하게 배우고싶은데 두려움이 앞선다면 일단 아무생각 말고 3개월 동안 미친 듯이 반복적으로 학습해보라. 물론 어떤 분야에서 누구보다 잘하고 정점에 서려면 10년, 20년 혹은 평생을 노력해야 하는 건 사실이다.

하지만 아무리 어렵고 불가능해 보이는 영역일지라도 3개월만 참고 미친 듯이 몰입하고 집중한다면 그것에 익숙해질 것이고, 진정한 학습은 그때부터가 시작이다

『한 남자』


 호주 생활 막바지에 우연히 찾은 IT 분야의 꿈을 안고 한국에 돌아온 한 남자는 무작정 서울로 올라와 정부에서 지원하는 국비지원 IT 개발자 양성 프로그램 8개월 과정을 신청하여 당시 길동에 위치한 교육원을 다니기 시작했다. 그 당시 한 남자가 지원했던 프로그램은 IT 개발자를 양성하는 교육이었지만 그는 개발자가 되는 것이 목표가 아닌 IT 분야의 지식을 보다 깊게 이해하고 배우기 위함이었다.


 그가 동경했던 스티브 잡스, 일론 머스크와 같은 인물이 되고 세상을 바꾸는 IT 제품과 서비스를 만들어내기 위해서는 IT 기초지식은 물론 무언 갈 실제로 구현할 수 있는 프로그래밍 능력을 갖춰야 한다는 것이 그의 생각이었다. 하지만 프로그래밍을 바로 배우기에 그의 컴퓨터 관련 지식은 문외한이었다.


 섬에서 자란 그에게 컴퓨터란 그저 게임과 인터넷 서칭 하는 도구에 불과했었다. 컴퓨터 학원도 다녀본 적 없었고, 관련 학과도 전공한 것이 아니었다. 심지어 당시 그는 컴퓨터 포맷도 스스로 할 줄도 몰랐고 누구나 한 번쯤은 써볼 법한 MS 오피스와 한글 프로그램도 사용해본 적 없었다. 이런 그가 컴퓨터 프로그램 활용법을 배우는 것이 아닌 프로그램 개발을 배운다는 것은 무모하고 어리석은 선택이었을 수도 있다. 이를 무지로부터 오는 용맹함이라고 표현하고 싶다.


세계적인 복서 마이크 타이슨의 유명한 명언이 있다.


누구나 그럴싸한 계획을 갖고 있다, 처맞기 전까지는


 무지한 상태일 때는 모든 것을 할 수 있을 것만 같은 착각을 하게 된다.

그리고 무작정 무언 갈 시작하게 되면서 자신의 한계와 부족함 그리고 무지를 깨닫게 되면서 좌절한다.

영향력 있는 IT 인재가 되기 위한 첫 발을 내딛는다는 설렘도 잠시, 코딩을 시작하는 것도 아닌, 프로그래밍 기초 배경지식을 배우는 교육원 첫날부터 그의 멘탈에 금이 가기 시작했다.


 현실 세계에서 한국어 영어 중국어 등 다양한 국가의 언어가 있듯이, 프로그래밍 세계에서도 다양한 프로그래밍 언어가 존재한다. 당시 인터넷 시장이 폭발적으로 성장 중이었고 그 중심이 되는 것이 정보를 생산하고 주고받을 수 있는 웹 사이트 혹은 웹 서비스였는데 웹 개발 분야의 대표적인 언어 중 하나가 바로 자바(JAVA)였다. 그리고 자바 언어를 기반으로 웹 사이트를 쉽고 빠르게 개발할 수 있도록 만드는 도구(프레임워크라고 한다)가 바로 스프링(Spring)이라는 것이었는데 교육원에서는 자바 언어를 이해하고 스프링 프레임워크를 활용하여 웹사이트를 개발할 수 있는 인재를 양성하는 것이 주 목표였다.


 On/Off 즉, 0과 1로 세상 모든 것이 동작되고 표현되며 인간의 감정 따윈 철저하게 배제된 채, 오직 논리적인 구조와 메커니즘으로 이루어진 컴퓨터 공학이라는 세계는 한 남자가 이해하기에 너무 다른 세계였다.

그곳에서 사용되는 기본적인 용어조차 모든 것이 낯설고 생소했으며 프로그램이 동작하는 기본 구조를 설명하는 구성도는 고대 메소포타미아 문명의 문자 같았다. 기본적인 용어와 개념조차 이해할 수 없는데 어떻게 코딩을 시작하고 진도를 따라가겠는가. 수업 진도가 총 10이라고 가정할 때, 이미 3으로 가고 있지만 한 남자는 1에서 허우적대고 있었다.


 대부분의 개발 교육 과정의 시작은 프로그래밍 기초 개념과 문법부터 시작한다.

데이터를 담는 그릇인 변수의 개념,
참과 거짓 두 가지 조건을 통해 프로그램 동작 여부를 결정하는 조건문,
특정 작업을 반복해서 실행시키는 반복문,
특정 기능을 수행할 수 있도록 정의하는 함수,
이러한 변수와 함수들이 모여 하나의 큰 작업 구성이 되는 묶음을 정의하는 클래스,

그밖에 예외처리, 네트워크, 동시성/병렬성, 절차지향 및 객체지향의 개념 등 다양한 기초 문법과 개념을 배우는데 아무리 두 눈 부릅뜨고 수업에 집중하고 편두통이 올 정도로 머리를 굴려보아도 어느 것 하나도 이해할 수 없었고 진도를 따라가는 것 자체가 불가능할 정도였다.


 이것이 정말 프로그래밍 기초과정이 맞나 싶을 정도로 다른 영역의 지식으로만 느껴졌다. 프로그래밍 기본 개념뿐만 아니라 본격적으로 코딩 문법을 익히기 위한 개발(실습) 환경을 구축하는 과정에서 교수님이 설치하는 것과 설정하는 것만 그대로 따라 하면 되는데도 그것조차 버거워했다. 남들은 코드를 작성하기 시작할 때 한 남자는 프로그램 설치와 환경 설정에서 애를 먹고 있었다.


 앞으로 한 남자의 단짝이 되고 창업 파트너가 될 같은 반 동기생의 도움으로 겨우겨우 개발 환경을 구축하고 겨우 코딩 수업을 시작하긴 했지만 수업 난이도는 한주, 한주 지나갈 때마다 미친 듯이 올라가는 기분이었고 몇 주가 지난 시점에는 대부분의 수업 시간에 교수님이 작성한 코드를 따라 치느라 키보드를 쉬지 않고 두들겨야 했으나, 어느 순간부터 그의 손은 키보드를 떠난 지 오래였다.


 아무것도 이해할 수 없었고 아무것도 할 수 없었다.

조금씩 자신에 대한 자괴감이 몰려오기 시작했고 수업 진도를 잘 따라가는 동기생들을 보면서 심리적 박탈감을 느끼기 시작했다. 그리고 한 남자는 훼손된 자존감을 지키기 위한 본능적인 방어기제가 올라오기 시작했다. 자기 합리화를 하기 시작된 것이다.


 “나는 애초에 개발자가 되려고 온건 아니었으니까. IT 지식만 얻고 가면 그만이지 내가 굳이 개발을 잘해야 돼?”


 그렇게 자신을 보호하기 위해 정신승리를 하고 있었지만 합리화라는 방패도 자존심이 강하고 똥고집이 센 한 남자를 계속해서 지켜주지 못했다. 키보드에 손을 떼고 팔짱을 낀 상태로 불만 가득한 얼굴을 한 채 수업과 동기생들을 관찰하며 시간을 보내던 한 남자는 스스로에게 여러 질문을 하기 시작했다.


 “어디서부터 잘못된 걸까? 이 꼬일 대로 꼬여버린 실타래를 어디서부터 풀어야 하며 과연 풀 수나 있을까?”

수업시간에 이런 의미 없는 생각을 하던 도중에 한 남자를 가장 힘들게 했던 것은 다름 아닌 자신과 비교대상이 눈앞에 있었다는 것이었다.


 “왜 저들(동기생)들은 다 잘하는 것 같은데 나만 못 하는 걸까? 어떻게 이 어려운 개념들을 다 이해할 수 있는 거지?”


 수업시간에 동기생들을 보고 있으면 교수님 수업을 이해한다는 듯이 고개를 끄덕거리며 곧잘 코딩도 잘 따라가는 걸 보니 수업을 잘 이해하는 듯 보였다. 몇몇은 대학에서 컴공을 전공하기도 했고, IT 관련 실무 경험이 있는 사람도 있었지만 그렇다고 해도 프로그래밍을 전문적으로 해보지도 않았을 테고 심지어 그와 같은 비전공자들이 대부분인데 어떻게 저럴 수 있는지 이해할 수 없었다.


 한 남자는 혼란을 느끼기 시작했다.


 “저들이 특출 난 걸까 아니면 내가 멍청한 걸까? 아니면 교육원을 오기 전에 사전 선행학습이라도 하고 온 걸까? 애초에 이 분야는 내 길이 아니었던 걸까?”


 이런 생각에 빠질수록 한 남자는 포기하고 싶었고 이걸 해낼 자신이 없었다. 하루에도 수십 번씩 계속해보라는 자아와 포기하라는 자아의 대립했다. 그리고 포기하라는 자아가 승리해가는 시점에 문뜩 아프리카 시절을 떠올리며 마음을 다잡기 시작했다. 곰곰이 생각해보면 지금 그가 느끼는 좌절감은 아프리카 시절 영어로 인해 느꼈던 좌절감과 비슷했다. 남들은 당연하게 알고 있었던 ‘I Like You’라는 단순한 문장의 문법부터 학습하기 시작해서 결국 자신이 말하고자 하는 것을 많은 사람들 앞에서 스피치 할 수 있는 정도 수준까지 가지 않았겠는가. 사실 암기 위주의 영어와는 달리 전반적인 IT 기초 지식 그리고 프로그램이 동작하는 복잡한 구성요소와 메커니즘의 이해도가 조금 필요한 것뿐이었다.


 스스로 생각에 사로잡혀 벽이 그저 높아 보였을 뿐이고, 난이도만 조금 올라갔을 뿐, 넘지 못할 정도는 아니라는 걸 깨달은 한 남자는 아프리카의 성취 경험을 되새기며 다시 한번 프로그래밍이라는 분야도 도전해보기로 마음먹는다.


 첫 번째, 한 남자는 자신의 현 상황과 문제점을 되짚어보기 시작했다.

애초에 그는 컴퓨터를 조금이라도 공부해봤다면 이해할 수 있는 쉬운 용어조차 낯설고 생소하기만 했었다. 그렇기 때문에 아무리 웹의 기본이 되는 서버와 클라이언트 구조를 설명해도 알아듣지 못했던 것이다.

서버와 클라이언트와 같은 구조를 알기 이전에 기본적인 용어와 개념에 익숙해져야 했다. 그래서 아프리카에서 무작정 영어 단어를 밤낮으로 외웠듯이 그림으로 쉽게 IT 용어나 프로그래밍 기초 이론을 설명하는 책을 눈에 보이는 대로 사서 읽기 시작했고 컴퓨터를 처음 배우는 사람 입장에서 배우는 유튜브 강좌를 찾아 계속 반복해서 시청하기 시작했다.


 사실 아무리 쉽게 풀어서 설명했다고 한들, 여전히 이해가 잘 안 되는 것들 투성이었다. 하지만 이해가 되던 안 되던 무식하게 보고 또 보면서 이해하려고 애썼고 안 되면 될 때까지 계속 보고 또 보았다. 그리고 교육원에 가면 8시간 강의를 들어야 했는데 거의 대부분 이해가 안 갔지만 단 한순간도 한눈팔지 않고 끝까지 교수님이 하는 말을 집중해서 들었고 그날 배웠던 내용을 일단 적어서 교육원이 끝나고 곧바로 카페로 달려가 이해가 될 때까지 카페 마감시간까지 보고 또 보았다. 아니, 그냥 외웠다.


 교육원과 카페 그리고 집에 가서 기초 지식을 공부하는 루틴은 주말과 공휴일을 가리지 않고 계속되었으며 오로지 프로그래밍만 생각하고 집중했다. 다른 건 이미 그의 우선순위와 관심 밖으로 멀어져 갔다.

그렇게 3개월이 흐르자 조금씩 변화가 찾아오기 시작했다. 생소하고 낯설기만 했던 프로그래밍 용어들이 익숙하기 시작했고 기초 개념이 조금씩 잡히기 시작했다.


 어느새 교수님 수업을 들을 때 고개를 끄덕거리며 이해하기 시작했고 진도를 어느 정도 따라가기 시작했다. 서버와 클라이언트 구조가 이해되기 시작하고 그 구조를 이루는 여러 복잡하고 어려운 네트워크 및 여러 핵심 요소들이 머릿속으로 그려지기 시작했다. 그리고 그 구조를 직접 코딩으로 구현하기 시작했다.


 3개월 뒤의 한 남자를 중국에 ‘모소’라는 대나무로 비유할 수 있다.

그 대나무는 비옥한 땅에 심어도 5년 동안 거의 성장하지 않는다. 하지만 5년이 지나면 믿기 어려울 정도로 급성장하기 시작하는데 하루에 5센티미터씩 자라면서 6주 만에 무려 3미터나 자라게 된다.

 

 3개월간 한 남자는 누구보다 열심히 수업에 임했고, 방과 후 쉬지 않고 예습과 복습을 반복하며 미친 듯이 노력했지만 제자리걸음만 하는 것처럼 보였다. 아무리 제자리걸음처럼 느껴졌을지라도 한 남자는 3개월간 자신만의 학습 루틴을 만들어 하루도 쉬지 않고 반복했고 3개월 뒤에 조금씩 효과가 나타나기 시작했다.

남들은 한 시간 수업 만에 이해했던 반복문과 같은 기초 문법을 일주일 동안 헤매기만 했던 한 남자는 어떤 문법을 배워도 곧잘 이해하기 시작했고, 한동안 손을 올리지 않았던 키보드에 손을 올려 그것들을 직접 구현하기 시작했다.


 교육원 초기에는 프로그래밍 기초와 이론을 배우고 그것들을 코딩할 수 있도록 기초 문법들을 배운다. 한 남자에겐 무척 어려웠지만 상대적으로 3개월 동안의 수업은 쉬운 편이라 대부분 열심히 공부했지만 3개월이 지난 시점부터는 실전 웹 프로그래밍으로 넘어가기 시작하면서 프레임워크, 디자인 패턴, 데이터베이스, 클라이언트-서버 네트워크 구조 및 관계 등 복잡하고 어려운 개념들이 끊임없이 등장하기 시작하면서 동기생 중에서 중도 포기자가 속출하기 시작했다.


 교육원 초기 모두가 열정에 불타오르던 것과는 반대로 3개월 차가 되자 동기생들의 그룹이 확연하게 나눠지기 시작했다. 동기생 중 3분의 1은 뒷자리에 무리 지어 ‘리그오브레전드’ 라는 게임을 하고 잠을 자는 등 어려워지는 수업 진도를 따라가는 걸 포기한 그룹이었고, 3분의 1은 수업 도중 게임을 하거나 잠을 자는 등 완전히 포기하지 않은 듯했지만 수업을 집중하지 않고 딴짓을 하거나 다른 공부를 하는 것 같았다. 나머지 3분의 1만이 포기하지 않고 교육을 열심히 듣고 따라가면서 끝까지 교육을 이수하며 취업준비를 착실히 해 나갔다.

한 남자는 다행히도 포기하지 않고 끝까지 교육을 이수한 그룹에 속했다.


 사실 한 남자의 의지도 한몫했겠지만 그가 포기하지 않았던 결정적인 이유는 교육원에서 만난 그의 절친의 도움이 컸다.  그의 절친은 교육원에서 소위 말하는 ‘엘리트’ 그룹에 속하는 친구였다.

수업 내용을 이해하는 걸 넘어 자신의 관점으로 재해석해서 그것을 구현해 냈으며 구현하는 속도도 엄청나게 빨랐다. 한 남자가 보기에 그는 프로그래밍을 하기 위해 태어난 사람처럼 보였다. 전교 1등과 꼴등이라는 희귀한 조합이었지만 둘은 교육원 첫날부터 수료할 때까지 8개월간 항상 붙어 다녔다.


 그는 한 남자가 진도를 못 따라가서 괴로워하고 힘들어할 때마다 격려를 해주었고 한 남자가 어려워하는 모든 것들을 그의 눈높이에서 이해가 될 때까지 설명해주었다. 그 친구도 개발자로 취업을 하기 위해 마지막 선택지로 이 교육원을 선택했던 터라 자신의 취업에 모든 시간을 할애해야 하는 상황이었지만 그 친구는 자신의 많은 시간을 한 남자를 위해 기꺼이 할애했다.


 항상 교육원이 끝나고 둘은 카페에 가서 스터디를 했는데 사실 스터디라기보다는 무료 과외에 가까웠다. 한 남자는 그 친구를 보며 ‘친구를 잘 사귀어야 한다’라는 어른들이 자주 하던 옛말이 틀린 말이 아니라는 것을 느꼈다. 과연 한 남자는 그 친구가 없었다면 IT 분야에서 이루고자 했던 꿈을 이어갈 수 있었을까. 훗날 한 남자와 그 친구는 수많은 도전과 희로애락을 함께하며 성장해갔으며 여전히 우정을 이어가고 있지만 항상 그 친구는 한 남자에게 고마운 친구이자 최고의 프로그래머로 기억될 것이다


 본론으로 넘어가서 한 남자의 꿈을 향한 첫걸음이었던 IT 교육원에서의 경험을 통해 깨달은 점은 누구에게나 익숙하지 않거나 새로운 무언 갈 배우는 과정은 어려울 수밖에 없다는 것이다. 누구나 쉽게 이해했던 용어와 개념조차도 어려워하며 힘들어했던 한 남자가 과연 머리가 나쁘고 멍청해서였을까? 절대 아니다.

한 남자가 지금까지 살아온 인생에서 만들어진 경험과 지식들은 컴퓨터와 프로그래밍이라는 생소한 분야와 연관성이 전혀 없었기 때문에 연결되지 못했다. 그래서 이해가 잘 되지 않았고 학습에 어려움을 겪었을 뿐이었다.


현대 ‘뇌과학’에서 밝혀낸 여러 가지 뇌에 관한 사실 중 빠지지 않고 등장하는 ‘신경가소성’이라는 개념이 있다. 신경가소성을 간단하게 말하면 우리의 뇌는 특정 환경에 맞게 계속 변한다는 뜻이다.

인간의 뇌는 1000억 개의 신경세포(뉴런)으로 이루어져 있고 이 뉴런들은 학습이 이루어지는 과정에서 서로 연결되면서 거대한 연결망을 형성한다.


 이러한 연결망을 ‘시냅스’라고 부르고 신경세포 뉴런 간 연결은 100조, 1000조 개까지 만들어진다고 한다.

인간이 어떤 지식을 학습하게 되면 관련 정보를 처리하는 신경세포가 활성화되면서 상호 연결되기 시작하고 반복적인 학습을 통해 더욱 견고해지고 강해진다. 일각에서는 시냅스가 새로운 연결 패턴을 만드는데 14일에서 21일이 소요된다고 하는데 이 말은 새로운 지식과 개념을 만들어내기 위해 연결망이 형성되어가는 기간이 한 달이 채 안 걸린다는 말이다.


 이러한 전기적/화학적 상호작용을 통해 만들어진 거대 연결망이 곧 생각이 되고 개념이 된다. 그리고 그것들은 학습의 정도에 따라 끊임없이 연결되고 끊어지는 것을 반복하게 되는 것이다. 인간의 뇌는 태어나서 죽을 때까지 이러한 과정을 쉬지 않는다고 한다.


 한 남자는 초기 컴퓨터와 프로그래밍 지식이 전혀 없었기 때문에 학습이 더디고 어려웠던 것이었다. 하지만 반복적인 학습 루틴을 만들고 그것을 반복하기 시작하면서 IT 분야라는 연결망과 개념들이 형성되기 시작했고 그 연결망들은 더욱 강해지고 견고해져서 추후 비슷한 개념을 배울 때는 학습 속도가 빨라졌던 것이다.


 어릴 적부터 주입식 교육이라 할지라도 학원과 학교에서 배웠던 배경지식을 어느 정도 학습된 상태의 동기생들의 경우 초반에 학습 속도가 한 남자보다는 조금 빨랐을 뿐이었다. 하지만 특성이 다른 배경지식이 아무리 많더라도 학습을 게을리한다면 뒤처질 수밖에 없다. 한 남자에게 따라 잡힌 거의 대부분의 동기생과 마찬가지로 말이다.


한 남자는 말한다.

한 남자가 백지장 상태로 시작해서 영어와 프로그래밍이라는 전혀 다른 분야에서 검증했듯이, 아무리 어떤 것에 무지한 사람일지라도 3개월 동안 무언 갈 미친 듯이 반복적으로 학습해보라. 물론 어떤 분야에서 누구보다 잘하고 정점에 서려면 10년, 20년 혹은 평생을 노력해야 하는 건 사실이다. 하지만 어떤 것이 아무리 어렵고 불가능해 보이는 영역일지라도 3개월만 참고 미친 듯이 몰입하고 집중한다면 그것에 익숙해질 것이고, 진정한 학습은 그때부터가 시작이다.


이것이 바로 한 남자가 깨달은 3개월의 법칙이다.



이전 07화 #7 꿈을 꾸다
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari