brunch

You can make anything
by writing

C.S.Lewis

by 상윤 Jun 02. 2019

일기 1. 꾸준히 코딩

코딩 감을 다시 잡아오기까지의 감상

 그동안 사는데 바빠 브런치를 돌아볼 일이 잘 없었는데 간만에 짬이 생겼다. 마지막 글이 발행된 지가 벌써 작년 6월인걸 보니 1년이 빠르게 지나왔다 싶다. 그 이후로도 브런치에 써서 기록해두면 좋을만한 일들을 몇 가지 해왔고, 이직을 하기도 하는 등의 일들을 겪었고 때때론 그 내용들로 글을 쓰곤 했었다. 다만, 마무리를 짓질 못하다 보니 항상 서랍에 넣어놓고 꺼내질 않는데 이번에도 그런 일이 될까 싶긴 하지만 일단은 또 생각나는 대로 쓰고 생각하련다.


 작년 말 즈음, 회사에서 여러 일들을 하고 다양한 상황들을 겪게 됐지만 막상 나는 발전했다는 느낌을 영 받지 못하고 있었다. 그도 그럴 것이 하고 있는 일은 내가 원래 전문성을 쌓아 올리고 싶었던 분야였던 렌더링이나 GPGPU, AR이 아니라 전혀 다른 것인 DRI라는 좀 더 저수준 시스템에 대한 일이었기 때문이다.


 다른 잡무를 피하려고 GPU와 그나마 관련 있어 보이는 일을 내가 먼저 잡았었으니, 일이 재미없다거나 그런 문제는 아니었다. 새로 만난 분야에 정 붙이고 작업하면 할수록 원래 내가 하고 싶었던 분야들도 가만있지 않는 게 문제지. 가령 뭐, 이런 식이다. 퇴근 후에 가끔 업무에 불이 붙어 관련 문서들을 집에 끌고 와 읽고 있노라면 옆에 놓인 전공 서적들에 한 번씩 눈이 간다. 그렇게 잠깐 한눈이 팔려 책을 들어 올리면 곧 머릿속에서 전공 분야들이 자기는 언제 돌아봐줄 거냐고 묻곤 하는 것이다.


 내가 하고 싶다고 위에서 언급했던 분야들은 모두 GPU 응용 레벨의 분야들이다. 사실 회사에서 이 일을 시키니까 DRI라는 인프라 레벨의 일을 처음 제대로 접해보고 일도 해보면서 정 붙여 어떻게든 한 것이지, 이전까지만 해도 이 분야는 안중에도 없던 일 아닌가. 싫진 않지만 그렇다고 좋아 죽겠는 일도 아니니 발전했다는 느낌이 없는 건 어쩔 수 없는 노릇이었다.


 그래서 새 개인 프로젝트를 하기로 작정했다. 하고 싶은 걸 다 할 수 있게 프레임워크부터 간만에 설계하면서 계획을 짜갔다. 그렇게 작정한 지 며칠이 지나고, 이쯤 설계했으면 코드를 짜야할 것도 같아 키보드를 두들길 생각이었다. 그런데 막상 이걸 코딩하려고 하니 도입부터 턱턱 막히는 것이다. 단순히 처음엔 새 프로젝트 시작할 때 으레 겪는 일이 또 왔나 싶어 그냥 넘어가려 했다. 헌데 설계하면서 열심히 그려놓은 다이어그램이 실체화되기까지 너무 오래 걸리고 마는 것이다. 설계 내용을 몇 시간 동안 거의 노려보다시피 계속 쳐다봐야 간신히 뭔가가 코드로 쓰이는 상황이 며칠 째 이어졌다.


 그쯤 되니 일순간 너무 회사일만 하고  스스로 뭔가를 생각해서 만든 지가 너무 오래됐나 하는 생각이 들었다. 나는 항상 내가 코딩을 잘한다는 자신감이 가득했는데 이거 이래도 괜찮은 건가? 아니, 이건 뭔가 단단히 틀려먹었다.


 사람이 뭔가를 전문적으로 한다는 것은 이미 그것이 머릿속에 들어차서 내가 생각하지 않아도 자연스럽게 그렇게 하고 있는 것 정도가 아닐까? 그런 의미에서 한 줄 짜는데 자꾸 뭔가를 다시 들여다보고, 확신을 못해 한 줄 한 줄 쳐나가는 게 어렵기만 한 내 모습은 초보와 다를 게 없었다. 피하고 싶은 작금의 현실이 손가락을 움직이려는 마다마다 나타나는 바람에 외면할 수도 없었다. 지금이야 몇 달이 지나서 약간은 너그럽게 회상 중이지만, 너무 충격적이었다. 차츰 난 손을 놓은 몇 달만에 내 뇌가 거의 말랑말랑해졌다는 것을 어쩔 수 없이 받아들이게 됐다.


 이 상황을 두고 가만히 있을 수 없었다. 어떻게 다시 내가 생각하는 그대로 만드는 일을 해낼 수 있을까. 고민을 좀 하다가 곧 나는 내 설계안을 조금 포기하기로 했다. 현업 개발자로 커리어를 시작한 지 몇 년차쯤 되는 것도 아닌 주제에 설계한답시고 생각만 해대는데, 그걸 맘대로 만들지도 못한다? 이것이야 말로 입코더로 가는 지름길 아니고 뭔가 싶은 것이다. 지금은 차곡차곡 쌓아 올려야 할 시기건만 기초공사가 부실해선 돼야 할 것도 안 될 테다. 그래서 근 몇 년간 내가 그토록 남들에게 들이대던 잣대를 한심해진 나에게로 돌렸다.


 간단한 코드부터 다시 시작하기로 했다. 처음 배우는 것마냥 튜토리얼부터 입문 서적급 책들을 다시 꺼내 읽어서 다시 머리에 차곡차곡 채워야 할 것 같았다. 그걸 매일 퇴근하면 조금이라도 하기로 했다. 일이 바빠져 내 프로젝트에 코드를 며칠 손 놓게 될 때면 또 그 흐름을 타서 다시 몇 주를 또 쭈욱 놓아버리긴 했지만 다시 정신을 다잡고 다시 코드를 몇 줄이라도 써 올렸다. 그러는 와중에도 처음에 설계했던 것이 자꾸 아른거리니 거기서 멈춰 있기도 하고, 휴가를 다녀오면 또 멍해져서 멈출 때도 있었다. 그래도 다행히 중간에 정신이 들어서 아직까지 꾸준히 이어서 계속하고 있다.


 그렇게 해오고 있으면서도 여전히 코드를 짜다가 버벅대는 때가 종종 생긴다. 하지만 지금의 이 버벅거림은 몇 달 전 처음 프로젝트를 새로 시작할 시기 즈음에 느꼈던 기분이 아니다. 이번에 코딩하는 손을 멈춰 세우는 상황은 내가 써본 적 없는 새로운 것들을 써야 할 때 찾아온다. 그리고 그럴 때마다 새로운 것들을 찾아보면서 배우고 있다. 예전의 감도 조금씩 돌아오고 있고, 새로운 걸 익히고 있다는 고무적인 기분도 든다. 이렇게 좋은 기분이 드는데 왜 몇 년 사이에 코딩을 계속 제대로 하지 못했을까. 역시 이전 직장이 나랑 맞지 않던 게 문제였을까. (아니, 역시 이건 핑계밖에 안 되겠네.)


 아무튼 최근의 감상은 여기까지로 하고 난 이제 다시 코딩하러 가야겠다. 조금 더 뭔가를 만들고 나면 새로 배운 것들에 대해 다시 또 다룰 생각이 들겠지. 다음에 글을 쓰러 이 꾸준한 코딩이 뭔가 유의미한 결실을 맺어두었길, 그리고 그 내용이 의미 있는 주제라 글을 쓸 거리가 있길 바라며 맺는다.


작가의 이전글 용어 2. ICD
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari