자유게시판

제목 바둑의 복기와 소스코드의 복기
글쓴이 박쥐 작성시각 2016/09/08 19:18:13
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 9724   RSS

예전에 미생이라는 바둑을 소재로 회사생활을 그리는 드라마가 있었습니다.

그리고 얼마 전에는 알파고로 바둑 열풍이 불기도 했었죠.

저는 바둑을 잘 두지는 못합니다. 고수들이 흔히 그냥 잘 두지 못합니다. 라고 말하는 것이 아닌, 정말 잘 두지 못합니다.

인터넷으로 한자리 급수정도 됩니다. 지금은 안둔지 좀 되서 두자리수가 될 수도 있겠네요.

 

아무튼 최근에 웹개발을 하면서 바둑의 복기하는 것과 소스코드의 복기하는 것이 비슷하다고 생각이 되었습니다.

제가 바둑을 복기할 정도의 수준이 아나리서 그냥 주워들은 것으로 보는 것이라 정확하다고 볼 수는 없지만,

대부분의(모든) 바둑 고수들은 자신이 둔 바둑을 복기, 그러니깐 그 순서를 다 기억하고 다시 그 순서대로 둘 수 있다고 합니다.

심지어는 남의 바둑도 그 순서를 다 알고 다시 똑같이 바둑판에 둘 수 있다고 합니다.

바둑의 수는 많은 전문가들이 이세돌과 알파고의 승부 예측을 빗나가게 할 정도로, 그 수가 많아서 이세돌이 당연히 이길 것이라고 했습니다.

하지만 알파고가 이기게 되었죠. 그만큼 알파고가 대단하긴 한겁니다.

아무튼, 이런 바둑의 복기와 소스코드의 복기가 매우 비슷한거 같습니다.

어느정도 그 프로젝트에 집중을 하게 되면, 출퇴근을 하기 위해 이동하는동안, 또는 잠시 커피를 마시며 바깥바람을 쐬는 동안 등

머릿속에 소스코드가 있고 그 머릿속에서 어떤 식으로 구현을 한다던가, 꼬여있는 코드를 어떤식으로 좀 정리를 한다던가 하는

생각을 하게 됩니다. 마치 자신이 둔 바둑의 패배의 원인을 분석하는 것처럼 자신의 코드의 문제점이 뭔지 분석하게 됩니다.

순전히 머릿속에서 말이죠. 때문에 컴퓨터 앞에 앉아서 타자를 두드리는 것만이 다가 아닌 것이죠.

어떤 개발자분은 자신은 10의 시간중에 8을 생각하는 시간에 쓰고 2를 실제 키보드를 두드리는 시간에 쓴다고 했습니다.

 

바둑을 두는 것을 한번쯤은 보셨을 것입니다. 물론 짧은 시간안에 두는 속기 바둑도 있지만, 대부분의 바둑은 많은 생각을 한 뒤에

한수를 두게 됩니다. 정작 바둑판에 돌을 놓는 시간은 몇초가 안되고 나머지는 머릿속에서 생각을 하는 시간입니다.

이처럼 개발자들도 짧은 코드 몇줄을 만들기 위해 많은 생각을 한뒤에 코드를 입력합니다. 정작 코드를 입력하는 시간은

어떤 개발자분처럼 10중에서 2밖에 안되는 시간일 수 있고, 또는 그것보다 짧을 수도 있습니다.

저는 어떤때는, 신이 내린 것처럼 코딩하는 경험을 하는 적도 있었습니다. 이미 머릿속에서 구현이 끝났기 때문에

타자를 빨리 치면서 할 수 있는 것이죠. 그러기 위해서는 많은 생각을 해야 합니다.

 

여기서 드리고 싶은 말씀은 이것입니다. 생각하는 시간이 다른 사람 눈에는 멍때리거나, 일에 집중하지 않는 것으로 비춰질 수 있다는 점 입니다.

이런 오해들이 쌓여 개발자에 대한 불신으로 이어지게 되고 그런 것을 간혹 느낀적도 있습니다.

이런 전반적인 인식을 점차 바꿔나가야 한다고 생각합니다. 그러니 가끔 이글을 읽고 계신 여러분중에도 자신 스스로가 다른사람에게 멍하게 비춰질수 있다는 것을

항상 상기하고, 만약 그렇게 비춰지는 것 같다고 생각이 들 때는, 자연스레 바둑얘기를 꺼내며, 바둑의 한 수처럼 소스코드의 한줄을 완성하기 위해서

수많은 생각을 한다고 전하십시요. 그것이 모든 개발자들에게 이로울 것이고 스스로에게도 이롭게 될 것 입니다.

 

 

 다음글 이직때문에 고민이 많습니다... (5)
 이전글 2016 KOSS Hackathon (6)

댓글

한대승(불의회상) / 2016/09/09 08:47:13 / 추천 0
동감 합니다. 진행중이던 프로젝트를 꿈속에서도 진행하던 기억이 납니다. ^^
하늘치 / 2016/09/09 09:20:22 / 추천 0
저도 동감합니다. 자다가 새벽에 일어나서 코딩했던 기억이 나네요;;
변종원(웅파) / 2016/09/09 13:58:40 / 추천 0
뜸을 잘 들여야 밥이 맛있듯이 생각(구조)을 잘해야 잘 빠진 코드가 나오죠. ^^