코딩 - 어떤 주니어 개발자의 이야기

2017년도 회고록

코드스쿼드

‘이상한 제목의 글이 코드스쿼드 블로그에 올라왔구나.’ 라고 생각하면서 들어왔다면 사실 이 제목은 파트리그 쥐스킨트의 ‘향수 — 어느 살인자의 이야기’ 에서 따 왔습니다. 아래의 내용은 제 페북 타임라인에 올라온 글인데 작성자이신 남현욱님의 허가를 받고 원 글을그대로 옮겼습니다.

게임과 개발을 좋아하는 장발의 개발자 남현욱님의 포스팅. (그래도 안생겨요)

2017년도 이제 거의 끝물이라 올해 내가 뭘 했는지 정리를 쭉 해봤다. 하다 보니 한 일 보다는 평소에 생각하던 것들, 고민하던 것들의 정리 같은 느낌이 됐다. 뭔가 의식의 흐름같이 그냥 거의 매일 스스로 되새기는 이야기들을 쭉 글로 적어놓은 형태가 됐는데, 글이 길어서 블로그 같은데 따로 써서 올릴까 하다가 뭐 거창하게 그럴만한 내용도 아닌 것 같아 대충 페이스북에만 올려두기로.

*

내가 올 해 가장 시간을 많이 쏟은 일(회사 일 제외)을 두 가지 꼽으라면 하나는 lutris 이름 달고 만드는 인디게임 만들기일 거고, 다른 하나는 PS(알고리즘 문제 풀이)일 것이다. 한 해 동안 나는 lutris 이름으로 2개의 게임(pass up, little slam)을 좀 부족한 상태로나마 완성했고 그 외에도 공개는 안 했지만 4,5개 이상의 게임을 만들다 실패했다. 결과물 수준은 둘째치고 어쨌든 1년 내내 꾸준히 게임을 만들어 왔다. 알고리즘 문제 풀이의 경우 올 한 해동안, 정확히는 4월 중순쯤부터 시작해서 이런저런 사이트 합쳐서 대충 1600문제 정도를 풀었다. 알고리즘 대회도 20~25회 정도 참가했고. 문제 풀이는 옛날부터 좋아했지만 진지하게 열심히 공부한 건 올해가 처음이었다.

저 두 가지 일(게임 개발, 문제 풀이)은 올해 나름대로 꾸준히 해온 것 같다. 이 “꾸준함”이라는게 굉장히 중요한데, 개인적으로는 어떤 분야의 능력을 향상시키기 위해서는 성실함, 열정 이런 것보다도 꾸준함이 가장 필요한 요소라고 생각한다. 성실함과 꾸준함이 같은 말 아니냐고 볼 수도 있는데 개인적으로는 꾸준하면서 게으를 수도 있다고 생각한다. 그리고 오히려 그 성실하게 해야한다는 마음가짐이 사람들이 꾸준히 무언가를 하기 힘들게 만든다고 생각한다.

내가 문제 풀이를 올해 열심히 하게 된 계기는 4월쯤에 구글 코드잼 2라운드에서 한 문제도 제대로 못 풀고 탈락한 후(여기서 1000등 안에 들면 티셔츠를 주는데, 이걸 정말 받고 싶었다), 내가 실력도 안 되면서 공부도 안하는데 결과만 바라고 있었다는 걸 깨달았다. 그래서 내년에는 티셔츠를 받고야 말겠다! 정도의 생각으로 문제를 열심히 풀기 시작했다. 이 시점에서는 문제 풀이에 대한 열정이 굉장히 컸다. 문제도 정말 엄청나게 풀어댔는데, 매일 그 날 풀 문제 목록을 정해놓고 무조건 그 문제는 다 푼 다음에 잤다. 많이 풀 때는 하루에 8문제씩 풀기도 했다. 그렇게 한 3개월 정도는 열심히 문제를 풀었다.

그런데, 특정 시점을 넘어가 자신을 지탱해주던 열정이 날아가고 나면 그 정도의 성실함을 유지한 채로 꾸준히 하는 건 굉장히 고통스러운 일이 된다. 체력만큼이나 열정에도 한계라는게 있어서 그렇게 계속 의지를 활활 불태우면서 뭔가를 계속 해낼 수는 없다. 그래서 나는 조금씩 조금씩 매일 풀 문제 수를 줄여 나갔고, 어느 순간부터는 문제를 풀었다 안 풀었다 하게 됐다.

그럼에도 불구하고 중요한 건, 풀었다 안 풀었다 하게 된 거지 문제를 아예 안 풀게 된 건 아니라는 점이다. 나는 이게 게으르게 꾸준한거라고 생각하는데, 의지가 꺾이지 않을 정도의 범위에서 어쨌든 꾸준함을 유지하는게 스스로 고통스러울 정도로 억지로 성실함을 유지하는 것보다 훨씬 낫다고 생각한다. 억지로 성실하게 꾸준히 했다가는 흔히 말하는 번아웃이 오고, 다시 회복하기 힘들어 지게 된다. 마치 한계까지 억지로 쭉 늘렸다가 끊어져버린 고무줄 같은 느낌이라고 할지. 게으르게라도 꾸준히 하다보면 어느 순간 여러 가지 계기로 다시 열정이 생긴다. 그러면 또 좀 열심히 했다가, 다시 또 힘들어지면 손을 놓지 않는 정도 선에서 꾸준히 유지만 하는 것이다. 그래서 성실함, 열정 이런 것보다는 꾸준함이 중요하다고 생각한다.

문제 풀이에서 게임 개발쪽으로 넘어가서, 회사 일도 아니고 누구도 시키지 않는데 뭔가 프로젝트를 개발한다는 것은 정말 힘든 일이다. 대부분의 경우 프로젝트들은 완성하고 결과물을 보는 건 재밌지만 만드는 과정은 고통스럽기만 하기 때문이다. 이런 고통스러운 과정을 혼자 견디면서 꾸준히 한다는 것은 굉장히 힘들다. 나같은 경우는 형이랑 같이 게임을 만들기 때문에 내가 힘들다고 프로젝트를 놓아버릴 수 없고, 서로가 서로를 그런식으로 독려하면서 계속 프로젝트를 진행하게 됐던 것 같다. 이건 솔직히 나 혼자였다면 꾸준히 못 했을 것 같다. 문제 풀이의 경우도 백준 슬랙 채팅방에 있는 사람들이 꾸준히 공부를 지속하는데 많이 도움이 됐었다.

그래서 혼자서 꾸준히 하기 힘든 일들의 경우 어떤 식으로든 내 의지가 바닥났을 때 계속 건드려준다고 해야할지, 일깨워준다고 해야할지 뭔가 장치를 만들어두는게 좋은 것 갈다. 개인적으로는 학교가 그 역할을 하는 거라고 생각하는데(강의-과제-평가 등으로 안할 수 없게 만드니까) 학교를 졸업한 순간부터는 그런 도움을 받을 수는 없으니 같이 그 일을 하는 굉장히 가까운 사람을 만들거나, 아니면 비슷한 사람들이 모인 커뮤니티 등에서 매일 관련된 이야기를 보는 것(보다보면 또 하고 싶어진다) 정도가 방법일 것 같다.

요약하자면 1. 뭔가 잘하고 싶은 게 있다면 그 것과 관련된 공부를 꾸준히 하자. 2. 꾸준히 하려면 스스로에게 너무 짐을 지우지 말고 본인이 힘들지 않은 선에서 적당히 해야한다. 3. 혼자 꾸준히 하는게 힘들다면 의지가 다했을 때 다시 본인을 자극시켜 줄 장치를 만들어두자. 정도인 것 같다.

이제 여기서 또 중요한게, 꾸준함을 위해선 ‘내가 지금 힘든가, 힘들지 않은가?’를 스스로 잘 알아야 한다는 것이다. 이게 쉬워보이지만 말처럼 쉽지 않은 일이다. 뭔가에 깊게 빠져 버리면 스스로가 어떤 상황인지 눈에 잘 들어오지 않기 때문이다. 그래서 ‘내 몸과 마음이 지금 어떤 상태인가’를 매일 곰곰이 생각해봐야 한다. 오늘 너무 피곤하고 힘든 것 같다면 아무것도 안 하는게 가장 좋다. 반대로 오늘 컨디션이 좋다면 원래 하려고 생각했던 것보다도 더 많이 하는 게 좋다.

이렇게 ‘내 컨디션이 오늘 어떻지?’를 매일 생각해보는 습관 자체가 꾸준함에 도움이 되는 것 같다. ‘오늘은 힘드니까 문제 안 풀어야지’, ‘오늘은 좀 잘 되니까 문제 많이 풀어야지. 게임도 이런 기능까지 만들어야겠다’같은 생각 자체가 내가 오늘 할 일을 되새기게 해주고 또 목표를 뚜렷이 생각하게 만들어주기 때문이다. 여기서 중요한건 엄격한게 아니라 객관적으로 보는 것이다. 스스로에게 엄격하게 굴면 너무 자신을 몰아붙일 염려가 있기 때문에 되도록 제3자의 입장에서 스스로를 바라보는 연습을 하는게 좋은 것 같다. 오늘은 내 몸이 xyz한 상태야 -> 그러니까 a를 1만큼 b를 2만큼 c를 3만큼 하자. 라고 생각하고 그대로 한 다음, 거기에 대한 판단을 내릴 때 엄격한게 맞는 것 같다. 진짜로 내 컨디션이 그정도였어? 혹은 내 몸이 이 정도 컨디션일 때 이만큼만 하는게 맞아? 이건 최대한 엄격하게 해야 다음 번에 더 정확하게 스스로를 판단할 수 있다. 자기 전에 내 몸이 너무 피곤하지도 힘이 넘치지도 않고 하루에 대해 적절한 만족감이 느껴지는 정도면 가장 완벽한 것 같다.

여기에 덧붙여서 ‘내가 지금 어느 수준인가?’를 매일 체크하는 것도 좋다. 내 지금 수준을 알아야 내가 지금 하고 있는 공부, 작업의 수준이 적절한 지도 알 수 있고, 내가 어떤 걸 더 많이 공부하고 노력해야하는 지도 알 수 있기 때문이다. 사람은 뭔가 반복해서 하다보면 반드시 매너리즘에 빠지게 되어있다. 계속 매일 내가 뭘 했는지를 인지하고 있어야하고, 이걸로 충분한가? 더 나은 방법은 없는가? 내가 뭐가 부족한가?를 고민해야 한다.

하지만 매일 이걸 다 따지고 있는 건 굉장히 피곤한 일이다. 보통은 내가 잘 하고 있는가?만 어렴풋이 생각하고 거기에 뭔가 강한 불안감이 생기면 더 깊이 생각해보는 것 같다. 잘 하고 있는가? 그럭저럭. … 잘 하고 있는가? 좀 불안한데. … 잘 하고 있는가? 이건 좀 아닌 것 같은데.. 뭔가 문제가 있는 것 같다. 뭐가 문제일까? -> 이 정도 생각이 들면 그 때 더 깊이 해결 방법을 고민해보는 식. 문제야 더 일찍부터 있었겠지만 문제점을 빨리 찾는 것보다도 <스스로를 너무 피곤하게 하지 않기>, <스스로를 너무 몰아세우지 않기> 이 두 가지에 촛점을 맞춰야 한다고 생각한다. 이 두 가지가 갖춰져 있어야만 제대로 객관적으로 자신을 바라볼 수 있고, 그래야만 냉정하고 정확하게 평가할 수 있기 때문이다. 그다지 이성적이고 냉정하지 않은 상태에서 판단하면 오히려 문제가 아닌 걸 문제라고 생각할 수도 있으니 평소에도 너무 스스로를 피곤하게 몰아세우면 안 된다. 육체적인 피곤함은 쉽게 느낄 수 있지만 정신적인 피곤함은 형체가 없어 계속 신경쓰지 않으면 인지하기가 힘드니 항상 주의할 것.

그래서 또 정리하자면, 꾸준한 공부를 위해 1. 내 몸의 컨디션(특히 정신적인)이 어떤가? 를 매일 생각할 것. 2. 그래서 내 컨디션 수준에 적합한 매일의 공부/작업량이 어떤지도 매일 생각할 것. 3. 그런 작업량은 매일 잠들기 직전에 너무 피곤하지도, 힘이 넘치지도 않게 적절한 만족감이 느껴지는 선이 적절하다. 4. 이걸 생각하는 과정은 엄격한게 아니라 객관적이어야 하고, 내 판단이 적절했는지 평가할 때 엄격해야 한다. 5. 덧붙여서 내 수준이 지금 어느 정도인가?를 매일 생각할 것 6. 내가 생각하는 내 수준에 비췄을 때 내가 하고 있는 일이 적절한가? 이 정도로 충분한가? 더 나은 방법은 없는가? 를 고민할 것 7. 하지만 이런 것들을 모두 매일 매일 따지고 생각하는 것도 굉장히 피곤하고 힘을 많이 쏟는 일 8. 가장 중요한 원칙은 스스로를 너무 피곤하게 하지 않기, 스스로를 몰아세우지 않기 9. 정신적으로 피곤하지 않고 깨끗한 상태여야 객관적으로 자신을 바라보고 냉정하게 평가할 수 있다 정도인 것 같다.

그래서 내가 2017년을 정말 열심히 잘 보냈냐고 한다면, 별로 그렇진 않은 것 같다. 내가 할 수 있었던 최선이 100이라면 50정도 하지 않았을까. 하지만 최선을 다해서 했다면 아마 좀 더 많이 피곤하고 힘들었을 것 같고.. 스스로를 너무 피곤하지 않게, 몰아세우지 않게는 잘 했던 것 같다. 조금이라도 피곤하거나 의지가 안 생기면 그냥 쉬었다. 반대로 열심히 할 수 있을 것 같을 땐 또 열심히 했고. 그러니 할 수 있었던 공부의 양으로 생각하면 100에 50이지만 제일 중요한 원칙들을 잘 지켜서 행동했는가로 생각하면 100에 80점 정도는 줄 수 있을 것 같다. 잘 반성해서 내년에는 좀 더 잘 해야지. 어떻게 하면 좀 더 잘 할 수 있는가?도 꾸준히 고민해봐야 할 것 같다.

좋은 글의 게제를 허락해 주셔서 감사합니다. 혹시 안드로이드 유저시라면 https://play.google.com/store/apps/details?id=com.Lutris.TheHole 링크의 게임 구매를 하시면 좋습니다. (다른 게임은 비추합니다 ㅋㅋㅋ.)

뭔가 그림을 더 넣고 싶어서 제가 애정하는 The hole의 스샷을 첨부.

기업문화 엿볼 때, 더팀스

로그인

/