Retrospect
Taegeun Moon
고대 그리스의 철학자 에픽테토스는 우리가 마주하는 상황을 통제할 수 있는 것 과 통제할 수 없는 것 두가지로 구분했다. 이 둘을 구분할 수 있는 능력, 그리고 통제할 수 없는 것을 받아들이는 것이 자유를 향한 길이라 하였다. (최근에는 여기에 현대적인 해석을 더해, 노력하면 어느정 도 통제할 수 있는 것 까지 3가지로 분류하기도 한다고 한다.)
初
나는 어렸을 적 게임을 아주 좋아했다. 초등학생인 내가 접할 수 있는 세상은 너무나 작고 마음대로 할 수 있는것도 거의 없었지만, 게임 속에서는 무한한 세상을 경험할 수 있었다. 하지만 한명의 유저로서 나는 여전히 정해진 세상을 경험하는 수동적인 존재였다. 그랬던 내가 직접 플래시 게임을 만들며, 아주 작지만 진정으로 모든것이 내 통제 하에 있는 세상을 가질 수 있었다.
續
내가 통제하는 세상은 나에게 유능감을 주었지만, 그것을 혼자 바라보는 재미는 오래가지 못했다. 내 게임을 네이버 카페에 올리거나, 중학생때는 직접 게임 서버를 운영해 볼 정도로 사람들에게 내 세상을 인정받고 싶은 마음이 생겼다.
그러나 내 마음에 드는것과 사람들이 좋아해주는 것에는 큰 차이가 있었다. 사람들의 마음에 들기 위해서는 그들이 원하는것을 제공해 주어야 했다. 당시 나는 프로그래밍을 제대로 배운 상태가 아니었고 어떻게 배워야 하는지도 몰랐기에, 사람들이 좋아하는 기능을 만들기 위해 일단 비슷한 코드를 짜집기해 붙여넣었다.
그때는 당장 만들고 싶은것이 너무 명확했고, 일단 돌아만 가게 작성하는 전략이 어느정도 통했기 때문에 기초 공부에 대한 필요성을 느끼지 못했다. (그래도 C언어 책을 사본적이 한번 있었는데, 나는 GUI가 만들고 싶은데 printf니 malloc이니 이상한 내용에 하루만에 덮어버렸다.)
언젠가 다른 서버에서 사용하는 인기 유료 플러그인이 있었는데, 학생이라 돈이 없어 직접 구현해 보려 했다. 그런데 항상 오픈소스 짜집기로 구현했던 나는 소스가 공개되어있지 않은 그 기능을 끝내 만들지 못했다. 지식이 부족했기에, 내 세상이지만 완전한 통제능력이 없었던 것이다.
間
나는 성적이 꽤 좋은 편이었고, 스스로도 학업에 대한 열망이 있는 편이라 고등학생때는 수능 공부에 집중했다. 수능공부가 너무 질릴때 심심풀이로 자바의 정석이라는 책을 사 읽었는데, 시험기간에 읽은 자바의 정석은 너무너무 재미있었다. 내가 수년간 급조로 만들었던 코드들이 어떤 원리로 동작했던 것인지 그때 비로서 알게 되었다.
나는 대학 입시도 통제 하에 두고 싶었는데, 수시는 내 통제력 밖의 영역이 많다 생각해 오로지 정시에만 집중했다. 그중에서 수학을 제일 열심히 했는데, 당시 시중에 있는 문제를 모두 다 풀어보아서 온라인 사설 문제집을 구매해 연습할 정도였다.
부모님은 내가 의대에 진학하길 바랬는데, 다행인지 불행인지 수능을 삐끗하는 바람에 의대에 갈 성적이 안되었다. 내 수학 점수는 92점이었는데, 당시 수학은 1등급 컷이 100점인 역대급 물수능으로 92점이면 3등급이었다. 그렇게 나는 깔끔(?)하게 소프트웨어학과로 진학할 수 있었다.
鍊
대부분 일이 그렇듯, 대학 생활은 내가 기대했던 것과는 차이가 있었다. 강의는 내용만 보면 아주 나쁘지는 않았는데, 문제는 그것들을 4년에 걸쳐 가르쳐 준다는 점과 웹/앱 개발 같은 실무 수업은 거의 없었다는 것이 아쉬웠다. (사실 전공은 적성에 맞았는데, 저학년때 캠퍼스 생활이 여러모로 어려움이 많았다)
이전처럼 서비스를 만드는데 지식이 부족해 막히는 상황을 만들고 싶지 않아서, 대학에 다닐 동안에는 집착에 가까울 정도로 열심히 공부하고, 방학때마다 기업 연계 프로그램에 참여해 앱 개발 실습을 했다.
結
취업을 하며 그간의 수련이 빛을 볼 날이 되었다. 자만을 좀 해보자면 이제는 방법을 몰라 막혔던 적은 없었고, 내가 약속했던 기술적 목표도 항상 달성할 수 있었다. 그런데, 이번에도 역시 이상과 현실은 차이가 있었다. 놀랍게도 기술적 어려움보다 기술 외적인 부분에 부딪히는 경우가 많았던 것이다.
일련의 경험들로부터 프로그래머의 업무는 코드 작성이다
는 말은 마치 채용 담당자의 업무는 이메일 작성이다
와 같다는 생각이 들었다. 물론 프로그래머는 코드를 작성하고, 채용 담당자는 이메일을 작성한다. 하지만 그것이 절대 업무의 최종 목적은 아니다. 둘 다 업무를 위한 기반 기술 이지, 어느정도 능숙해 진 이후에는 진정한 목표 달성 여부에 크게 관여하지 않는다. 이들은 당연히 되어야 하는 것이다.
프로그래밍만 잘 하면 되는줄 알았는데, 우리가 진정으로 달성해야 하는 목표인 사용자가 원하는 제품을 만드는 것에는 다시 수없이 많은 전통적인 기술들이 필요했던 것이다 (소프트 스킬, 팀원 동기부여, 제품 방향성, 수익 모델 등등…).
Epilogue
그렇다면 이제 전통적 기술 향상에 다시 열중할 것인가?
더 높은 통제능력을 위해 어느정도 그렇게 하겠지만, 이전처럼 집착하지는 않을것 같다. 그간 내가 프로그래밍을 익히는데 전력을 다할 수 있었던 것은, 이를 통해 많은것을 내 통제 하에 둘 수 있을 것이라는 믿음이 있었기 때문이다. 하지만 그간 업무에서나 개인적 삶에서 여러 사건을 겪으며, 세상의 대부분은 내가 통제할 수 없다는 것을 알게 되었다.
운이 좋게도, 직장에서의 상황은 글 초반에 인용한 노력하면 어느정도 통제할 수 있는 상황 이라 생각한다. 실제로 나는 기술이 부족해서 개발 자체를 못하는 상황은 이제 거의 겪지 않는다. 전통적 기술이 지금보다 완벽해 진다 하더라도 어차피 세상을 완전히 통제하는것은 불가능 하단걸 알기에, 노력을 통한 더 높은 통제력도 이전처럼 간절히 원하지는 않는것 같다.
나는 멀티태스킹을 정말 못한다. 길을 가다가도 카톡할 일이 생기면 걸음을 멈추고 제자리에서 몇분씩 걸려 카톡을 마무리 한 다음 다시 걸어간다. 비슷하게도 그동안 프로그래밍 실력을 위해 다른 수많은 것들을 등한시 해왔다. 당장 어디로 걸어가야 할 지는 잘 모르겠지만, 적어도 프로그래밍이라는 길은 충분히 걸어 보았기에 시선을 돌릴 수 있게 되었다는 생각이 든다.
이 글은 커리어 관점에서 작성했지만, 나는 이 이야기가 일상에도 그대로 통용된다고 생각한다. 내가 그동안 일에 진심이었던 만큼, 내 삶도 잘 가꾸어 나가고 싶다.