밑바닥부터 시작하는 딥러닝 3 후속편으로 파이썬 클린 코드를 읽기 시작했다. 솔직히 나를 스스로 평가하기에는 '코드를 제대로 짤 줄이나 알고 클린한 코드에 대한 설명을 읽냐'라는 생각이 들긴 한다.. 하지만 회사에서 팀원들과 개발 관련된 협업을 하기 시작했고 한 프로젝트에 두 명이상 붙기 때문에 서로의 기술적인 백그라운드를 맞추기 위한 초석이라고 생각한다.
백그라운드를 맞춘다라는 말은 결국 원활한 커뮤니케이션을 위해 우리가 사용하는 단어, 프로젝트가 돌아가고 있는 상황을 내가 아는 정도와 당신이 아는 정도가 같냐 확인한다는 것이다. PM으로 일할 때는 대체적으로 디테일한 것은 상대편이, 전반적인 상황은 내가 알고 있었기 때문에 모르는 것이 서로 파악이 잘 되는 편이었다. 하지만 코드, 기능, 실험 내용은 별도의 페이지로 잘 정리하거나 대면으로 설명하지 않으면 다른 사람들은 이해하기 힘들 수밖에 없다. "제가 이렇게 좋은 결과를 얻었어요!"라고 자랑하면 그건 회사 밖에서 공모전이나 성적표를 받을 때의 일이고, 회사에서는 그 좋은 결과를 활용하려면 먼저 '왜' 좋은 결과를 얻을 수 있었는지, 그것을 기반으로 어디에 어떻게 적용하면 좋을지를 고민하는 새로운 시작이 된다. 개발한 사람과 활용하려는 사람이 같으면 굳이 설명할 필요 없겠지만 아쉽게도 지금은 분업의 시대라.. 드디어 개발자와 개발자, 혹은 비개발자의 백그라운드 맞추기가 시작되는 것이다.
어디서 주워 들었는데 세상에는 생각보다 설명을 잘하는 개발자가 드물다고 한다. 나는 적어도 내가 해놓은 것에 대한 설명을 잘할 자신은 있다. 해놓은 게 허접해서 그렇지.. 이번 북클럽을 통해 잘해놓을 수 있는 발판을 마련할 수 있었으면 하는 작은 바람.
task 세분화의 중요성
이번달에는 셀프 분기 리뷰를 하면서 생각이 많아졌다. 지난번 회사에서는 1년에 한 번만 했던 업무 평가라서 1년에 네 번이나 스스로를 돌아보는 건 좀 횟수가 많지 않나 싶다가도 업무의 호흡이 상대적으로 짧고 일의 결과보다는 무엇을 얻고 앞으로 무엇을 잘해야 하나 짚어야 하는 직무라서 이렇게 하는 게 스스로를 채찍질하기에 더 좋겠다는 결론이 났다.
국가 연구과제를 하나 맡아서 진행하고 있는데, 업무가 내 분야와 100% 일치하지도 않고 모델 활용도 내 생각만큼 잘 되지 않아서 넘어야 할 산이 많다. 그럼에도 불구하고 일단 해보는 이유는 회사 일이니까 내 선호에 따라서 일을 고를 수 없다는 점을 둘째 치고, 내가 메인인 프로젝트를 뭐라도 하나 해두어야 내가 배울 것도 나중에 드러낼 것도 있다고 생각하기 때문이다.
아무튼 이렇게 뭘 어떻게 해야 하고 (도움이 필요하면 언제든지 말하는 상사가 있다 하더라도) 어디서 도움을 받아야 할지 감이 안 잡힐 때는 task를 세분화, 혹은 스텝 쪼개기, 혹은 구체적인 계획을 만들어봐야 한다는 것을 깨달았다. 사실 다른 급한 일이 있어서 묵혀뒀었는데 발등이 불이 떨어지니까 이렇게라도 하게 되더라.. 이렇게 어려운 일을 헤쳐나가다 보면 이거보다 쉬운 일은 더 잘할 수 있게 되지 않을까? 주니어는 이렇게 방황을 정신승리로 이겨내 본다.