낯선 코드에 숟가락 얹기
2024.01.21.
누구나 이직, 팀 이동 등의 이유로 낯선 코드를 마주하는 경험을 하게 된다. 처음부터 시작하는 프로젝트가 아니라면 이미 운영되고 있는 코드에 기여해야 한다. 잘 차려둔 밥상에 숟가락 얹는 상황이랄까.
어떻게 하면 잘 적응할 수 있을까? 누구나 할 수 있지만 아무도 하지 않았던 일부터 시작하면 된다.
관찰하기
모든 팀에는 저마다의 상황이 있다. 코드도 마찬가지다. 팀과 코드가 어떤 상황에 놓여있는지 관찰하는 걸로 시작하자. 기여할 점을 찾기 위한 관찰이다.
문서, 테스트 코드에 기여할 점이 있을 가능성이 높다. 사용하지 않는 변수나 패키지가 있을 수도 있다. 일관되지 않은 코드 스타일을 발견할 수도 있다.
팀이 일하는 방법도 관찰하자. 커밋 컨벤션, 코드 리뷰 방식도 관찰의 대상이다. 관찰하면서 알게 된 팀과 코드의 상황, 더 나아질 방법을 생각해 보자.
질문하기
관찰한 코드에 대해 질문하자. 이유 없는 코드는 없다. 당시에는 최선의 선택이었을 코드지만 현재는 아닐 수도 있다. 당시에 어떤 이유로 결정했는지 질문하자.
문제를 지적하는 게 아니라는 점을 인지하자. 가르침을 구하는 자세로. 질문을 통해 당시의 상황, 그리고 현재 상황을 파악하자.
개선 방법을 제시하고 직접 해보겠다고 제안해 보자. 개선 방법은 누구나 할 수 있는 일이어야 한다. 그만큼 쉽고 단순한 것이어야 한다. 화려한 기술을 보여주지 않아도 괜찮다.
기여하기
누구나 할 수 있는 일, 중에서도 금방 끝낼 수 있는 일을 먼저 하자. 작게 시작하고 빠르게 공유하자. 작은 일을 여러 개 해도 좋다. 그 과정에서 코드에 대한 이해도가 높아진다.
기여하면서 관찰할 때 보이지 않았던 새로운 점을 발견할 수 있다. 이 역시 한 번에 해결하려고 하지 말고 따로 적어두자.
리뷰하는 동료가 부담 없이 확인할 수 있을 정도로만 리뷰를 요청하자. 리뷰를 주고받으며 함께 일할 동료와 소통하는 기회를 얻는다.
무엇보다도 일을 작게 나눠서 하면 두려움은 줄고 자신감은 커진다. 낯선 코드에서 익숙한 영역도 늘어난다.
누구나 할 수 있지만 아무도 하지 않았던 일
조급한 마음이 들 수도 있다. 누구나 할 수 있는 일을 하고 있다는 사실에.
하지만 팀원들은 그 일을 긍정적으로 평가할 가능성이 높다. 아무도 하지 않았던 일을 해주었으니까. 팀이 더 잘 일할 수 있도록 돕는 일에 기여했으니까. 이 과정에서 동료들의 신뢰를 얻고 점차 중요한 일을 맡게 된다.
그러니까 누구나 할 수 있지만 아무도 하지 않았던 일로 시작하자. 작은 일로 시작해서 점점 크고 중요한 일로 확장해 가자. 그렇게 숟가락을 얹고 함께 코드를 짜는 동료가 되어간다.