ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 10/21 TIL | 코드 리뷰는 결국 조직 문화! 《 코드 리뷰를 해야 하나요?》를 듣고.
    📝 기록/매일의 기록 2022. 10. 21. 20:12

    매주 찾아오는 금요 지식회. 이번 주는 격리가 끝났으므로 현장에서 들을 수 있었다! 오늘 주제는 노아님의 '코드 리뷰를 해야 하나요?'였다. 개발자로서 코드 리뷰는 떼어낼 수 없는 요소이므로 오늘 들은 내용을 한번 TIL로 정리해보려고 한다!


    코드 리뷰를 하면 좋은 점

    1. 코드 버그 및 설계 문제를 조기에 발견할 수 있다. → 개발 비용을 절감할 수 있음.
    2. 변경된 코드를 팀 내에 공유할 수 있다.  리뷰를 하면서 변경된 코드에 대해서 알 수 있음.
    3. 팀의 코드 스타일이 통일된다. → 장기적으로 봤을 때 유지 보수에도 도움이 됨.
    4. 팀원들의 코드에 대한 주인의식이 강해진다. → 나의 리뷰가 반영되면 해당 코드에 기여를 함으로써 '우리'의 코드가 됨.
    5. 코드 리뷰를 하면서 알게 된 지식이 팀내에 전파된다.
    6. 기록이 남는다.

    코드 리뷰를 잘하기 위한 체크리스트

    는 틀렸다! 이건 그냥 코드 리뷰의 미신...

    코드 리뷰가 안 되는 진짜 이유: 기술 문제가 아닌 사람 문제

    1. 내 코드를 보여주고 싶지 않다. 누군가에게 평가를 당하는 게 힘든 심리적 원인.
    2. 연차 낮은 사람에게 리뷰를 받는 게 기분이 나쁘다.  장유유서가 몸에 베인 유교사상의 한국인.
    3. '제대로 알고 코드 짠거야?'라는 시선이 두렵다.  내가 틀렸을 까봐 두렵고, 모르는 것을 인정한다는 게 힘듦.
    4. 내 꺼 하기 바쁘고 이 코드 주인에게 관심이 없다.  내 퇴근 시간을 미루면서까지 이 사람의 코드를 리뷰하고 싶지가 않음.

    극복하는 방법

    1. 코드가 완벽하게 완성됐을 때 리뷰를 하는 게 아니라 된 데까지 중간중간 바로바로 리뷰하자.
    이미 코드가 다 진행되고 나서의 리뷰는 반영하기가 힘드니 중간중간 설계와 방향을 조정할 수 있게 리뷰 텀을 짧게 가지는 것이 좋다.

    2. 리뷰이와 리뷰어의 수평적인 관계가 보장되어야 한다.
    → 수평적인 관계가 보장되어야 보다 더 자유롭고 양질의 리뷰가 나올 수 있다. 또한 자존심을 부리지 말자.

    3. 팀원들에 대한 신뢰가 있어야 한다.
    → 이 리뷰이의 실력에 대한 믿음이 있어야 한다. 리뷰에 앞서 '아 얘 못하는 애지 ㅋㅋ' 뭐 이런 마인드는 절대 NOPE! 만약 나의 실력 문제라면 실력을 키워야 하고, 팀의 문제라면 스터디를 하는 방식으로 함께 성장하자.

    4. 서로 친해야 한다.
    → 친하면 한 글자라도 더 세심하게 봐주게 된다. 리뷰를 하기에 앞서 먼저 팀 분위기가 화목해야 한다.

    노아님네 회사에서는

    1. 누구든지 리뷰할 수 있음
    → 숙련도에 따라 역할을 나눠, 숙련도가 높으면 기술적으로, 숙련도가 낮으면 코드 컨벤션 위주로 리뷰함.

    2. 팀원들끼리 친하고 신뢰 관계가 형성되는 것이 제일 우선!
    → 내부적으로 하루에 3번 이상 웃고 떠들지 않는다면 문제가 있다 판단함.

    3. 피드백을 주고받는 연습을 할 수 있게 피드백 주기를 극단적으로 줄인다.
    → 분량이 적을수록 리뷰하기가 수월하고 더 제대로 봐줄 수 있음.

    4. 리뷰도 분위기가 중요함.
    → Approve할 때 짤방을 넣어서 텍스트만 있을 때의 딱딱함을 완화시킴.

    FAQ

    1. 받는 것도 하는 것도 두려운데 어떡하나요?
    → 완성 버전 말고 중간중간 리뷰를 받아 부담을 좀 줄이자. 그리고 처음부터 코드 리뷰를 받지 말고 초반엔 간략하게 정리한 자신의 TIL을 공유한다든지 해서 리뷰를 주고받는 분위기를 먼저 만들어보자.

    2. 리뷰를 할 인원이 적은데 어쩌죠?
    → 사람이 많은 게 중요하지 않다. 궁극적으로 피드백을 주고받기 위함이므로 오히려 인원이 적으면 더 좋다.

    3. 그렇다면 원칙이나 기술이 중요한 게 아니라 오로지 소프트 스킬 측면이 중요한 건가요?
    → 소프트 스킬과 함께 조직 문화가 갖춰지면 원칙과 기술은 자동으로 따라온다.


    오늘 금요 지식회를 들으면서 전 회사 CTO님이 생각났다. CTO님께서 입사 첫날 일대일 면담에서 좋은 말씀을 되게 많이 해주셨는데, 코드 리뷰에 대한 마인드셋도 얘기해주셨기 때문이다. 그때 나한테 '코드 리뷰는 나에 대한 리뷰가 아닌 그냥 코드에 대한 리뷰일 뿐이며, 나와 코드를 동일시하면 안 된다'라고 하셨었다. 오늘 노아님이 이야기하신 내용 중에 그 내용도 등장해서 괜히 더 반가웠고..!

    내 생각엔 결국 코드 리뷰란 상대가 기분 상하지 않게 자기의 의견을 어떻게 잘 전달하느냐가 관건인 거 같다. 개인적으로는 소프트 스킬이 중요하고, 팀 단위로는 팀 분위기가 제일 중요한 거 같다. 이런 내용들을 잘 숙지해서 회사에 들어가 슬기로운 리뷰 생활을 하는 개발자가 되어보자.