시간적 경제적 자유인의 도전
리눅스, VI 편집기, C언어, 커널과 쉘, 자바, 파이썬, 코딩......
int a, b;
int a+b;
scanf("%d %d", &a, &b);
printf("입력한 수는 %d와 %d이다.\n", a, b);
printf("두 수의 합은 %d이다. "\n, a+b);
return 0;
뼛속까지 문과인 나에겐 낯설다 못해 생소하기까지 한 언어들이다. 이 낯선 언어와 40년 넘게 안면을 튼 적이 없다. 먹고사는 데 아무런 문제가 없었기 때문이다. 지금도 마찬가지다. 몰라도 불편함이 없으니, 굳이 알아야 할 필요가 없는 것이다.
그런데 얼마 전 우연히 지역 주민이 참가할 수 있는 소프트웨어 교육과정 플래카드를 보았다. 40대 후반의 나이에 소프트웨어 개발자가 되어 프로그램이나 앱을 만들어 보겠다는 목표가 생긴 것이 아니다. 요즘 개발자 구하기가 하늘의 별 따기라는데, 부르는 게 몸값인 개발자가 되어 돈이나 벌어볼 요량도 아니다. 단지 은퇴하고 나니 이제껏 하지 못했던 새로운 것에 대한 호기심이 생겼다. 말 그대로 그냥 한 번 도전해 보고 싶었다.
본업에 몸 담고 있었다면 엄두조차 내지 못했을 일이다. 나이를 먹을수록 늘어가는 뱃살만큼 의지와 열정에도 군살이 붙었다. 하던 일만 하고, 있던 자리만 지키려 한다. 익숙함을 벗어난 일은 새롭지만, 아주 조심스럽고, 귀찮으며, 번거롭다. 그럼에도 불구하고 내 마음속 어딘가에 숨어있던 호기심과 용기가 불쑥 내게 말을 걸어왔다. 낯선 곳으로 여행을 떠나는 것과 다를 바 없다며, 고민하지 말고 일단 한 번 시도해 보라고, 배울 수 있는 기회가 어쩌면 지금이 마지막일 수 있다고.
플래카드 하나에 온갖 정리되지 않은 생각들이 난무했지만, 결국 내 안의 호기심과 용기에 이끌려 지역 대학에서 운영하는 소프트웨어 교육과정을 신청했다.
신청서를 제출하고 집으로 왔더니, 내 안의 서로 다른 나가 나의 신청을 두고 대치 중이었다. 나 A는 어디서 그런 근거 없는 자신감이 솟아났냐며 지금이라도 당장 신청을 취소하라고 했다. 반면 나 B는 나이 들어 암기력은 떨어졌겠지만, 사물을 바라보는 관점이나 문제에 대한 이해력은 더 좋아졌을 거라며 지레 걱정부터 하지 말자고 했다. 그러자 나 A가 40년 넘게 살면서 소프트웨어란 말만 들어봤지, 코딩, C언어, 컴파일러 등이 무엇인지도 모르고, 관심조차 가져본 적이 없지 않으냐며 따지고 들었다. 그러면서 배우기도 어려울 뿐만 아니라, 이 나이에 배워도 써먹을 일도 없는 것에 뭐 하러 시간을 낭비하느냐며 나를 몰아세웠다. 틀린 말이 아니기에 아무 말도 못 하고 있는 나를 대신해 나 B가 변호에 나섰다. 문과를 선택하면서 배울 기회를 갖지 못한 것뿐이라고, 관심은 이제부터라도 가지면 되는 것이라고, 배우겠다는 마음과 의지만 있다면 지금이라도 늦지 않다고. 그리고 어떤 일을 꼭 써먹기 위해 배우는 건 아니라고. 배움은 배움 그 자체만으로도 충분한 의미가 있고, 가치가 있는 행위임을 강조했다.
A와 B 사이에서 냉탕과 온탕을 오가던 나는, 결국 나의 호기심을 알아주고 변호해 준, 나 B의 말을 따르기로 했다. 차를 몰고 30분 정도 외곽으로 나가야 할 거리였지만, 배우려는 의지가 서고 나니 문제 되지 않았다.
처음 한 주는 양호했다. 나 같은 초보자를 위해 개론에 가까운 내용이 많았을 뿐만 아니라 과정의 난이도를 뛰어넘는 의욕이 있었기 때문이다. 하지만 개론이라 해도 처음 듣거나 이해할 수 없는 말들이 대부분이었다. 마치 난생처음 들어보는 제2 외국어 수업 같았다. 그래도 알려주는 대로 외우고, 시키는 대로 열심히 따라 했다. 세부적인 내용까지 다 이해하진 못하더라도 대략적인 얼개가 어떻게 되는지 아는 것만으로 충분하다고 생각했다. 난생처음 듣는 내용이기도 하거니와, 대학교에서 한 학기에 걸쳐 수업할 분량을 단 며칠 만에 끝내는 과정이라, 애초부터 모두 이해하겠다는 것 자체가 욕심이었다. 알아듣기 힘든 수업의 연속이었지만, 새로운 것에 도전해 보겠다는 열정 하나로 버틴 시간이었다.
2주 차부터 상황이 급변했다. 어제의 내용이 채 받아들여지지 않았는데, 새로운 내용들이 파도처럼 밀려왔다. 감당할 수가 있는 정보의 양이 아니었다. 그리고 교육과정의 특성상 이론의 숙지 못지않게 실습의 반복적 연습이 중요한데, 이론을 이해하지 못하니 실습을 거의 따라 할 수 없었다. 교재에 제시된 예시들은 글자 그대로 입력이라도 하면 되지만, 응용문제들은 질문의 의도를 파악할 수 없어 아예 손조차 댈 수가 없었다. 난감했다. 나 같은 초보를 위해 조교를 두었지만, 도움을 받기가 쉽지 않았다. 궁금한 걸 질문할 순 있었지만, 조교의 설명도 C언어에 대한 어느 정도의 이해를 전제로 한 답변이었다. 게다가 도움을 받는 것도 한두 번이 아니다 보니 전속 조교인 양 매번 옆에 붙들어 두고 있을 수도 없는 노릇이었다.
알아야 할 것도, 외워야 할 것도, 게다가 실습해야 할 것도 산더미처럼 늘어 갔다. 학습량을 쫓아가기 위해서는 별도의 나머지 학습이나, 선행 학습이 필요한데, 그마저도 어려웠다. 이해하지 못하는 수업을 쫓아가는 것만으로 이미 멘붕이었고, 그렇게 하루종일 정신적으로 끌려다니다 보니, 수업만 마치면 마치 막일이라도 한 것처럼 온몸이 녹초가 되어 버렸다.
3주 차부터는 기회만 엿보던 나 A가 다시 얼굴을 내밀고 수시로 나를 괴롭혔다. 그것 보라고. 그 나이에 굳이 할 필요도 없는 걸 뭐 하러 배우겠다고 신청해서 이 고생을 하냐고, 지금이라도 늦지 않았으니 이제라도 그만두라 했다. 나 A의 말이 아니더라도, 가끔씩 수업 도중 컴퓨터 전공이 아닌 나만 동떨어진 느낌이 들 때가 있었다. 대다수가 컴퓨터 전공이기에 강사 역시 어느 정도 알고 있다는 전제로 수업을 하기도 했다. 그런 시간이 반복되면 답답함을 넘어 극도의 좌절감이 느껴지기도 했다. 그럴 땐 정말 A의 말처럼 다 그만두고, 뛰쳐나가 버리고 싶었다. 내가 그렇게 한다고 해서 크게 문제 될 것도 없지 않은가 하는 생각마저 들었다.
하지만 그럴 수 없었다. 내용을 거의 이해하지 못하지만, 내가 원해서 시작한 일을 이런 식으로 끝내고 싶지 않았다. 더구나 나 스스로 나의 중도포기를 인정하고 싶지도 않았다. 죽도 밥도 아닐지라도 어떻게든 끝을 봐야겠단 생각이 들었다.
C 언어와 리눅스 그리고 시스템 프로그래밍에 이어 자료구조까지. 정해진 교육과정이 모두 끝났다. 교육과정을 시작하기 전과 비교하면 소프트웨어에 대해 적잖이 알게 되었지만, 그렇다고 뭔가를 안다고 하기에는 너무나 부족했다. 한 달 정도의 기간 동안 나는 컴퓨터와 대화를 하기 위해, 컴퓨터의 언어는 아니지만 컴퓨터가 이해할 수 있는 언어를 배웠다. 마치 외국인과 대화를 하기 위해 외국어를 배우는 것처럼. 하지만 단어 하나만 말해도 의사소통이 가능할 수 있는 외국어와 달리 C언어는 컴퓨터, 정확히는 컴파일러가 이해할 수 있는 문법으로 완벽하게 표현되어야 비로소 소통이 가능했다. 하지만 컴퓨터가 이해할 수 있는 단어를 숙지하는 것도, 그리고 컴퓨터가 이해할 수 있는 문법대로 표현하는 것도 결코 한 달의 시간 안에 담아낼 수 있는 성질의 것이 아니었다.
교육과정은 모두 끝났지만, 뭔가 설명할 수 없는 아쉬움이 남았다. 시간적 자유로 주어진 성장의 기회에 새로운 것을 도전하고, 배웠다는 것만으로도 분명 의미가 있는 시간이었다. 하지만 여기서 그만둬야겠단 생각이 들진 않았다. 넘을 수 없는 벽이 있을 거라 예상은 했지만, 그 넘사벽을 확인만 하고 물러나기엔 내가 가진 시간의 여유와 도전의 의지가 너무나 충만했다.
그래서 조금만 더 가 보기로 했다. 마침, 같이 교육받던 학생 중 한 명이 초보자에게 적합한 C언어 동영상 강좌가 있다며 추천해 주었다. 몇 강좌를 들었는데, 설명이 자세하고 예시가 쉬워, 내게 안성맞춤이었다. 여기서부터 하나씩 다시 시작할 생각이다. 정해진 교육과정은 끝났지만, 나의 소프트웨어 공부는 이제 막 시작되었다.
#파이어 #FIRE #경제적자유 #조기은퇴 #리눅스 #커널 #C언어 #프로그래밍 #코딩 #소프트웨어