한창 나우누리 타자방에 빠져 폐인생활을 거듭하던 일천구백구십팔년 가을.
자바 애플릿을 쓰면 채팅을 만들기 쉽다는 일념하에 자바에 올인했다. 기초부터 차근차근 밟지 않고 오직 채팅 클라이언트와 서버를 만들겠다는 일념하에 도서관 자바책을 모조리 뒤적거리던 시절이 있었다. 프로그래밍이야 초등학교때부터 GWBASIC으로 단련되어 있어 큰 어려움이 없었지만 socket과 thread 때문에 애를 많이 먹었다.
지나치게 실용적인 접근방식으로 프로그래밍을 배웠으니 처음에 제대로 된 프로그램이 나올리 만무하여, 결국 만들고 부시고 만들고 부시고를 반복하여 언젠가부터는 편집기만 덜렁 던져줘도 머리속에서 코드를 다 그릴 수 있게 되었다. 에러도 너무 많이 만났다. broken pipe 라고 나오면 도대체 파이프가 뭔지도 모르겠고.. 그래도 stacktrace가 나오면 그렇게 고마울 수가 없었다. 왠지 컴퓨터한테 피드백을 받은 기분이랄까. 그당시 내가 제일 무서웠던건 dead lock이나 race condition이였다. 얘는 뭐 에러도 안나고.. 뭔가 더이상 응답을 못하는데, 왜이러지? 하고 프로그램을 다시 시작하면 다시 잘 돌아간다. 그렇게 굴러다니다보니 뻔한 루틴잡은 무의식적으로 처리하고 중간 정도의 프로그램은 그저 루틴잡으로 처리할 수 있었다.
예측했다시피 위와 같은 방법을 사용하려면 엄청난 시간 리소스를 필요로 한다. 게다가 발전하려면 더 높은 요구사항이 떨어져야만 한다. 뭐 아는 게 없으니.. 그럴 수 밖에 없지 않겠나. 전문가들은 개념이 탑재되어있어 무엇이 어렵고 무엇이 위험하고 그런것들을 모두 알고 있다. 하지만 나는 하나도 모른다. 어려운 요구사항은 나한테 맡겨진다. 뭐가 어려운 일이고, 그 일을 했을 때 잠재적으로 생길 수 있는 위험이나 책임에 대한 정보가 하나도 없으니 내겐 어려울 이유가 없다. 아는 게 없으니 무서운 것도 두려운 것도 없다.
적어도 2003년까지는 이런 생활이 지속되었던 것 같다. 지겹다는 생각을 해본적은 없다. 사전정보가 없으니 내가 하는 일은 내 사고틀 안에서 모조리 '최초의 일' 이였기 때문에 재미 없을리 만무.
그런데 프로덕트 외적인 것들을 접하기 시작했다. 그게 2004년부터였던 거 같다. 프리랜서 활동이 한창 물 올랐던 시절. 프리랜서는 나홀로 개발하기 때문에 관계자와 의사소통할 때 프로그래밍과 관련된 이야기가 언급되기 어렵다. 내가 보기에 그들은 다른 세상 사람들 처럼 보였다. 그래서 마케터 형한테 마케팅 책도 추천받아 읽어보고 프로그래밍과 상관없는 것들을 뒤적이며 그당시까지 이해되지 않았던 많은 현상들을 재해석하며 감히 평가해보기도하고 그렇게 또 한동안 재미있게 보냈다.
그러다 어느순간부터는 코딩을 하지 않게 됐다. '다 그냥 하다보면 되는 일인데..' 라는 안일한 생각으로. 미리 준비되어 있어야 된다- 는 말에 대해서는 '그까이꺼 세상만사 제쳐놓고 길어야 3일밤만 안자면 되는데...' 로 일축.
그래도 세상에는 항상 재미있는 일이 넘쳐나는 법이라 가끔씩 꼭 만들고 싶은 것이 생겼는데, 그럴때면 집요하게 머리를 굴리고 손가락 노가다를 심하게 해서라도 원하던 것을 만들어낼 수 있었다. 하지만 언젠가부터 꼭 만들고 싶은 것이 자주 생기지 않게 되었다. 내게 제품을 요청하는 사람이 있어야 되는데, 그런 사람이 없다. 간간히 프리랜서 일이 들어와서 해소되긴 했으나, 난 그저 제품을 만들고 싶은데.. 경력이 높은 사람한테 코딩 따위 잘 안시키려 하더라. 나 HTML이랑 CSS 코딩도 진짜 좋아한다. element를 열고 닫을 때 사용하는 기호를 입력하기 위해 Shift 키를 눌러야 한다는 이유 때문에 사고의 흐름이 자주 끊겨 타이핑 측면에서는 좋아하지 않으나 어려운 게 많으니까 좋은거다. 밤을 새야 되는 것이기 때문. 못하니까 재밌는거다.
핑계는 이쯤에서 줄이고, 여튼 요새 프로그래밍을 별로 하지 않는다. 감 떨어지는 거 그거 솔직히 3년 쉬어도 3일만 밤새면 90% 이상 채워진다. 수박 겉 핥기 식으로 우물우물 처리했던거라면 1주일만 쉬어도 다 까먹을테지만, 밤을 지새우며 부정, 분노, 우울, 수용 -_- 등을 겪으며 학습한 기술들은 비슷한 감정 상태가 되면 사라졌던 뉴런 인덱스들이 어느새 삭삭 맞춰진다는 것을 믿고 있기 때문이다. (그리고 아직 신혼이라...)
그러다 며칠전 만들고 싶은게 생겨서.. 화면 구성, 플로우, 디자인 컨셉, 핵심 가치, security consideration 등등을 열심히 노트에 적었다. 컨텐트를 어떤 방식으로 만들거고 편리하게 생산하기 위한 입력툴 설계도 하고 디비 스키마도 만들고.. 성능을 고려해 인덱스도 지정해놓고.. 그렇게 나름 스스로 만족하는 product note를 하루만에 완성했다.
그리고 마지막, Implementation Part 라고 Heading을 잡고 펜을 들었는데...
30분이 지나도록 단 한줄도 쓰지 못하는 내 자신을 발견했다. 원래 하던대로 vim 엔터치고 시작해야 하는건가?
프로그래머로 살던 나는 도대체 어디로 갔을까.