Nextstep reviewer 활동 회고 (2019 상반기)

 

3-4월 동안 진행한 Nextstep 리뷰어 활동을 마무리하며 혼자만의 아주 사적인 회고를 하고자 한다.

어떤 활동이었나

Nextstep에서 진행하는 ‘TDD, Refactoring, Clean Code’ 강의에서 수강생들이 미션에 대한 PR을 보내면 코드에 대한 리뷰를 하는 활동이다. 백문이불여일견이라고, 아래 이미지와 같은 피드백을 하는 것을 말한다.

리뷰어로써 활동한다는 것은

항상 새로운 활동에 관심이 많다. 그 이유는 새로운 환경에 처했을 때 발현되는 내 능력을 발견하는 것이 재밌기 때문이다. 처음에 제안을 받았을 때 든 생각은 단 하나, ‘리뷰어로써 활동하면 어떤 모습의 또 다른 나를 발견하게 될까’였다. 그래서 시작하였고, 시작한 후에서야 이 활동을 (((열심히))) (((잘))) 해야 하는 또 다른 의미 2가지를 찾았다.

나 또한 이 강의의 수강생이었고, 이 강의를 통해 자신감과 기회를 얻은 수강생 중에 하나였다. 강의를 수료하고나서 ‘아, 이런 건 더 잘 정착해서 많은 사람이 들어야 해!!’라는 생각을 했었다. 그 이유는 주변에 ‘제대로된’ 개발자가 되고 싶지만 어떻게 해야 하는지 갈피를 못잡는 동료들이 이런 강의를 들으면 분명히 큰 도움이 되리라는 느낌이 들었기 때문이다. 이 강의로 만사형통하는 것은 아니지만, 가장 중요한 ‘시작’을 할 수 있게 해주는 강의라고 생각했다. 누군가에게 내 코드에 대해 피드백을 받을 수 있고, 개발자로 활동하는 사람들과 교류할 수 있으며, 그 사람들이 풍기는 분위기와 사고방식을 조금이나마 흡수할 수 있는 기회라고 말이다.

하지만, 강의 1회에 최대 20명, 피드백을 하는 사람은 강사님 혼자. 이렇게 되면 강사님은 강의를 더 많이 하고 싶어도 못하는 현실적인 리소스 부족 문제에 직면한다. 내가 더 많은 사람이 이 강의를 듣기를 원해도 현실적인 문제가 있는 것이다. 그런 의미에서 나와 그 외 다른 리뷰어들이 그 현실적인 문제에 대한 해결책이 될 수 있다면 내가 종사하고 있는 직군 내 사람들에게 좋은 교육 기회를 많이 제공하는 데에 기여할 수 있는 것이다. (첫 번째 의미)

그렇게 시작한 리뷰어 활동은 처음에는 생각보다 순탄하지 않았는데, 그 이유는 ‘피드백의 질’에 대한 것이었다. 가능한 짧은 시간을 들여 양질의 피드백을 하고 싶었던 탓이었다. 왜 나는 질 좋은 피드백을 하고 싶었을까(때로는 강사님이 내 피드백을 해주셨을 때보다 더 좋은 피드백을 하고 싶었다). 지금 내가 피드백을 하고 있는 이 리뷰이가 언젠가는 내 옆에서 일하는 동료가 될 수 있다는 생각을 했기 때문이었다. (두 번째 의미)

나에게 리뷰를 요청하고 있는 리뷰이가 우리 회사에 면접을 본다면, 혹시 잘 되어서 내 옆의 동료로 오게 된다면, 나와 같은 프로젝트 코드를 짜는 동료가 된다면..!

내가 엄청난 능력자는 아니라서 피드백하는 행위만으로 리뷰이에게 큰 변화를 선물해줄 수는 없다. 하지만, 적어도 나를 통해 한 가지라도 느끼고 얻어가는 것이 있었으면 하는 생각이 들기 시작했다. 왜냐하면, 모든 리뷰이는 내 잠정적 동료이기 때문이다. 코드에 대한 피드백을 통해서든, 나와의 질의응답에서든, 그냥 이 강의를 무사히 수료한다는 그 경험에서든 그 무엇이든 좋은 것을 가져가길 바라는 마음에서 리뷰어 활동에 대한 동력이 나왔다.

결론적으로, 내가 리뷰어로써 열심히 활동한다는 것은

  1. 새로운 환경에서의 또 다른 내 모습을 발견한다.
  2. 내가 종사하고 있는 직군 내 사람들에게 좋은 교육 기회를 많이 제공하는 데에 기여한다.
  3. 언젠가는 내 동료가 될 수 있는 사람들에게 그 무엇이든 좋은 것을 얻게한다.

이렇게 3가지 목표를 달성하기 위함이었다.

내가 생각한 최고의 리뷰이(reviewee)란

나는 리뷰이가 대략 3가지의 모습을 갖추었을 때 아주 좋은 리뷰이를 만났다고 생각했다.

  1. 코드를 작성하는 의도가 일관되게 드러난다.
  2. 자신이 맡은 바를 충실하게 꼼꼼하게 확인한다.
  3. 코드에 대한 소통을 함에 있어 적극적이다.

아주 운이 좋게도 이에 부합하는 리뷰이를 2명이나 만나게 되었고, 이 중 한 분은 끝까지 미션수행을 끝 마치신 것 같아서 (확실하지 않다) 내 마음이 다 뿌듯해짐을 느낀다.

아주 지극히 내 기준이기에 이것을 마치 정답인 양 이야기하고자 하는 것은 아니다. 나는 코드 스킬을 조금 더 연마해야 하는 사람이더라도 위의 3가지를 갖춘 사람이라면, 함께 일하기에 즐거울 것이고 능력도 스스로 개발할 수 있을 것이라는 생각을 하고 있다. 리뷰이와 리뷰어라는 관계 속에서 피드백을 무조건 수용해야 한다는 생각이 들 수도 있겠지만, 그것보다는 코드에 대한 자신의 생각을 이야기하고 내 의견을 물어와줄 때 더 좋은 기회를 만드는 것이라는 믿음을 가지고 있다.

인상깊었던 리뷰가 있다면

https://github.com/next-step/java-racingcar/pull/183

아주아주 나이스한 리뷰였다고 생각하고, 그 결과물이 어떻든 간에 코드에 대해 아주 깊이있게 이야기하고 서로가 이해하는 것에 대해서 그 수준을 맞추려고 한 그 과정이 제일 인상깊게 남는다. 조급해 하지 않으시고 끝까지 나와의 대화를 이어나가주신 리뷰이분께 감사를 표한다.

(하지만, 아직까지 피드백의 수준이 부족했을 수도 있을 것 같다는 생각을 하고 있다. 다시 한번 내용을 보니 더 좋은 코드에 대해 이야기할 수 있는 수준이 되어야 할텐데 하는 걱정이 든다.)

번외) 감추어 둔 리뷰어의 속사정

  • 아침에 일어나 앉은 자리 그대로 리뷰를 할 때도 있었다.
  • ‘리뷰해야 하는데’ 라는 말을 입에 달고 산다.
  • ‘와.. java를 거의 까먹어버렸네 큰일났다’라는 생각이 가끔 든다.
  • 피드백을 하고 출근준비를 하러 화장실에 들어가서도 ‘아 아까 그 내용에 부족한게 있는거 같은데’라는 생각을 하며 뛰쳐나올 때가 있다.
  • 낮에 피드백이 1개, 2개 쌓여가면 일을 하면서도 저녁시간 리뷰 스케줄을 짜고 있다.
  • 반쪽이가 데이트하러 가자고해도 ‘안돼 나 리뷰해야돼’하며 퇴짜를 놓는다.
  • 리뷰를 하기 위해 정시에 퇴근을 한다. (낮에 무진장 빡센데 더 빡세게 일한다)
  • 리뷰에 힘을 쓰다보니 주회고를 할 때 게을러진다.
  • 피드백을 할 것이 없는 코드를 봤을 때 행복한 미소를 짓는다.
  • 하루 리뷰를 끝내면 ‘리뷰 끝!!!’을 외치며 침대에 풀썩 뛰어든다.