개발자

주니어끼리 코드리뷰하는게 의미가 있을까요?

2024년 03월 22일조회 5,932

안녕하세요 저는 1년차 JAVA 백앤드 개발자입니다. 현재 코드리뷰가 없는 강소기업에서 1년 정도 근무중에 있는데 저와 회사의 발전을 위해서 제가 주도적으로 도입을 추진해볼까 고민중에 있습니다. 하지만 저도 코드리뷰를 한번도 격어보지 않아 코드리뷰를 어떻게 진행할지 고민이 있어 질문글을 올립니다. 1. 직접 이야기해보진 못했지만 사측입장은 업무도 바쁜데 코드리뷰할 수 있는 시간을 따로 내어주지는 않을것으로 생각됩니다. 따라서 코드리뷰를 진행하게된다면 개발자들이 개인시간을 활용해서 진행하게될듯합니다, (물론 코드리뷰 문화가 어느정도 정착하게된다면 업무시간중에 할 수 있도록 건의드릴 예정입니다.) 아무래도 개인시간을 사용해야하다보니 길게는 할 수 없고 짧게 30분에서 1시간정도 일주일에 하루만 할듯한데 코드리뷰하는데 이정도 시간에 가능할지? 궁금합니다. 2. 사내 개발자가 약 30명 정도되는데 업무 특성상 거의 다른 회사나 다름없는 부서를 재외하고는 코드리뷰에 참여할 수 있을 인원이 많아야 5명 정도 될듯합니다. 이정도 인원으로 코드리뷰하는게 적당할지 궁금합니다. 3. 사내 개발자들간 사용하는 프레임워크나 언어가 완전이 다르더라도 코드리뷰를 하는 의미가 있을까요? 저 같은 경우는 JAVA Spring 위주로 개발을 진행하기 때문에 Python이나 Node.js 와 같은 코드를 리뷰하기 어려울듯한데 의견 부탁드립니다. 다른 회사의 경우는 사용하는 기술이 비슷해서 코드리뷰가 진행이 되는지.. 아니면 각자 자신의 분야에서 진행하는지 궁금합니다. 4. 회사에 중간 개발자가 없어 주니어 개발자 위주로 코드 리뷰가 진행될것으로 예상 되는데 이럴 경우 고오급 개발자들의 리뷰를 받을 수 없어 코드리뷰를 통한 발전이 저해될 수 있을것 같습니다. 이런경우에는 어떤 방식으로 코드리뷰를 진행하는것이 효율적일지 궁금합니다. 아니면 제가 초청? 할 수 있는 시니어 개발자분이 한분정도 있는데 이분이 오시게 되면 거의 이분 혼자서만 답변을 줄것으로 예상되는데 어떤 방향으로 가는게 좋을지? 궁금합니다. 4. 마지막으로 그외 어떤 조언이던지 해주실 수 있는 조언이 있다면 부탁드리겠습니다. 감사합니다.

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 7

인기 답변

lili님의 프로필 사진

개인적으로, chatGpt이용하는것도 추천드립니다. 아예 새로 짜는건 요령이 좀 필요하고 파이썬말곤 좀 안되는데 리뷰는 프롬프트에 몇가지 패턴에 맞게 넣으면 꽤 잘해줍니다. 작성한 코드넣고 심플하게 코드리뷰하고 수정사항 반영해줘 클래스 이렇게 구성했어 어떻게 생각해? 변수명 적절해? 이경우 모듈화 어떤게 좋아? 등등.. 전 c개발자고, 연차 좀 차다보니 어디 묻기 좀 민망해서 선임한테 질문하듯이 gpt랑 셀프 리뷰하는데 쏠쏠해요. 꽤 괜찮아요.

송지우님의 프로필 사진

송지우

Frontend2024년 04월 20일

gpt로 셀프 리뷰하는 팁이 있을까요?

lili님의 프로필 사진

lili

ss2024년 04월 20일

기본적으로 코드리뷰해줘/통상적으로 많이 쓰이는 방식이야?/ 개선점 확인해줘 정도로 물어봅니다. 그리고 본인이 약하거나 특히 개선하고 싶은부분 콕찝어서 물어봐도 좋아요. 코드 구조/변수랑 함수명/모듈화/효율적인 로직 이 맞는지 검토해줘. 그리고 여기 함수 callback으로 쓰는게 좋아?/Switch문이좋아 if else가 좋아?/이 변수는 지역변수가 좋아 전역변수가 좋아? 이런식으로 어떤방식이 좋을지 상담하기도 합니다 저는 이정도로 써요.

인기 답변

박정환님의 프로필 사진

와우.. 정말 좋은 생각입니다. 하지만 현실의 벽에 부딪혀 잘 진행되지 않을 가능성이 높습니다. 코드리뷰란건 구성원의 참여의지가 제일 중요합니다. 그리고 참여의지라는건 약간의 강제성도 띄어야 됩니다. (회사에선 이런게 어쩔수 없습니다.) 주니어개발자뿐이라도 리뷰를 하는건 좋은 행동입니다. 근데 회사라는 특성상 다른 분들이 싫어할 가능성도 있긴 합니다. 결정적으로 본인이 주니어이기 때문에 뭔가를 제안하는건 좋지만 다른사람들이 찬동할지, 이게 임원급들 마음도 움직일수 있을지는 미지수입니다. 안타깝지만 현실적으로 잘 안될거 같아서 정 자신의 발전을 위해서라거나 함께할 동료가 있다면 회사 외적으로 따로 스터디 모임이나 개발자 모임에 참석하시는 방향이 좋을 것 같네요. 기대하신 답변을 드리지 못해 죄송합니다. 제안은 해보시되, 잘 안되도 낙심하지 마시기 바랍니다.

profile picture

익명

작성자

2024년 03월 22일

진지한 조언 감사드립니다. 말씀 주신 대로 우선적으로 수요 조사를 진행할 예정입니다. 수요 조사 이후 최소한의 찬성이 없다면 깔끔하게 포기하고 다른 기회를 찾아봐야 할듯하네요~

박정환님의 프로필 사진

박정환

시니어 엔지니어2024년 03월 22일

코드리뷰가 없는 회사에 코드리뷰 문화를 정착시킨다는게 쉽지 않습니다. 그런 어려운 것에 도전하려는 마음은 응원합니다. 비록 저는 잘 못하였지만 질문자님께서 언젠가는 이루어 주기 바랍니다 ^^

인기 답변

D님의 프로필 사진

1. 개발자 성향에 따라서 개인시간을 소비하여 리뷰하자고 하면 제대로 운영하기 쉽지 않아보입니다. 초기에는 오프라인 리뷰보다는 온라인 PR 리뷰를 시작하고 승인 2~3명 이상 받아야 운영배포 하는 식으로 해보는건 어떨까요? 오프라인 리뷰는 정기적으로 무조건 하는것 보단 단위가 좀 크거나 중요한 개발건이 배포나갈 예정일때만 비정기적으로 하는것도 괜찮아 보입니다. 2, 3. 말씀하신대로 팀마다 사용하는 기술스택이나 도메인이 다를텐데 관여할 일이 없는 곳까지 리뷰 하는건 불필요하다고 생각합니다. 특히 이제 막 도입을 하는 입장이라면 단위를 작고 실천 가능하게 잡는게 중요하다고 봅니다. 처음 시작은 약속된 코딩컨벤션과 잘 맞는지, 변수나 함수네이밍이 적절한지부터 체크하는 것도 전 괜찮다고 생각해요. 다른사람의 코드를 직접 로컬에서 실행도 해보면서 버그를 찾을수도 있고요. 4. 시니어 초청도 좋은 방법이지만 한편으론 강의식 리뷰가 될까 걱정도 됩니다. 코드리뷰의 목적이 결국 코드 품질향상에 있지만 그 방법이 무조건 하향식 주입은 또 아니라고 생각하거든요. 처음부터 완벽한 문화를 정착하는건 당연히 불가능합니다. 매번 중요하고 무거운 리뷰만 하게되면 "이런거 말 해도 되나.." 하는 마음이 생기면서 참여율이 떨어지게 되거든요. 마지막으로 리뷰 문화를 정착하는데 제일 중요한건 소프트스킬이라고 생각합니다. 리뷰어의 의도와 다르게 받아들이는 입장에선 비난이라고 생각이 들수도 있거든요. 절대로 "왜그렇게 했냐, 뭐가 안된다(리뷰와 QA는 다릅니다.)" 등의 비난과 비판은 자제하고 부드럽게 의사전달하면서 칭찬과 질문도 자주하는게 중요합니다.

인기 답변

승우리님의 프로필 사진

개인적으로, 코드 리뷰는 의의를 코드 리뷰를 한다에 두시지 마시고, 비즈니스 가치 중점적으로 설득해보시기 바랍니다. 코드 리뷰(페어프로그래밍), TDD, CI/CD 등은 실행 관례이고, 이보다 나은 실행 관례가 있다고 주장하는 사람이 있다면 어떤 실행관례가 있는지, 그 것을 적용하려면 어떻게 해야하는지 등을 물어보세요. 그게 아니라 "개발자들이 버그를 양산하는게 문제다. 우린 저런거 없어도 잘 한다"라고 하는 조직이 있다면 굉장히 무책임한 조직 또는 조직 리더일 가능성이 높아요. 빠른 이직을 준비하시기 바랍니다. 그 잘나가는 구글도 위의 실행관례 없이 진행한 프로젝트 실패율은 70% 또는 그 이상입니다. 이런 예제도 곁들여보시면 어떨까 싶어요. 기술 부채 중점적으로 나열한 글이 있어 소개드립니다. https://post.naver.com/viewer/postView.naver?volumeNo=33784707&memberNo=36733075 항상 문화를 도입할 때는 본인이 왜? 라는 질문에 대해 잘 설명할 수 있어야합니다. 지금 의미도 찾지 못하는데 굳이 진행할 이유가 없어보입니다.

profile picture

익명

작성자

2024년 04월 08일

좋은 의견 감사드립니다. 말씀주신대로 비즈니스적 관점으로 코드리뷰의 필요성을 어필하는 방향으로 의견을 공유드리는것도 좋을듯하네요.

kevin님의 프로필 사진

코드리뷰는 저희집고양이랑해도 도움된다고생각합니다!

손유승님의 프로필 사진

체스에서는 경기 후 상대와 그 경기를 처음부터 다시 두면서 각자의 생각을 나누는 "복기"라는 문화가 있습니다. 신기한 것은, 저보다 객관적인 전력이 명백히 떨어지는 상대라도 제가 놓친 수, 생각하지 못했던 아이디어를 알려 줄 때가 있다는 것입니다. 바로 이것 때문에 복기는 실력 향상을 위해 적극 권장되는 행위죠. 코드 리뷰도 마찬가지라 생각합니다. 비록 주니어들끼리라도 "제3자"의 시선은 분명히 중요하고, 당사자들이 놓칠 수 있는 포인트를 잘 잡아 줍니다. 다만 이때 중요한 것은 설령 그 생각이 완전히 틀렸들지라도 자신의 생각을 이야기하는 것에 주저함이 없어야 합니다. 틀렸으면 고치면 되지만, 생각이 없으면 발전이 없기 때문이죠. 정 시간이 안 맞다면 혼자서라도 코드 리뷰를 해 보시면 도움이 많이 될 겁니다

profile picture

익명

작성자

2024년 03월 27일

감사합니다. 일단 짧은 시간이라도 코드 리뷰를 할 수 있게 동료를 모으고 있습니다. 윗 답변처럼 수포로 돌아갈 가능성이 있지만 해보고 포기하는거랑 안해보고 포기하는건 다를것 같습니다. 또 답변자님 말씀처럼 아에 작게 또는 혼자서라도 리뷰를 이어나갈 수 있는 개기가 될 수 있으면 좋깄습니다

불꽃남자님의 프로필 사진

많은 테크 기업에서 코드리뷰 문화 및 프로세스를 공유해놓은 좋은 글이 많습니다. 그냥 막연히 코드만 보면 도움 안될 수 있습니다. 코드리뷰 문화 및 프로세스만 도입해도 무엇을 리뷰할 것인지, 어떻게 리뷰할 것인지 도움되는 방향이 나옵니다. 그리고 코드도 사람이 짜는 것이기 때문에 코드리뷰는 무조건 옳습니다.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 AI 봇

GPT가 달아주는 답변입니다.

2024년 03월 22일

1. 코드 리뷰에 필요한 시간은 리뷰하는 코드의 복잡도와 양에 따라 달라집니다. 초기에는 30분~1시간이 충분할 수 있지만, 프로젝트가 커지면서 필요한 시간이 늘어날 수도 있습니다. 이를 위해 '리뷰'라는 활동을 일정 관리의 일부로 포함하고, 이를 통해 개발 스케줄 평가에 반영해보는 것을 추천드립니다. 2. 마찬가지로, 리뷰 참여 인원은 기업 규모나 프로젝트의 크기에 따라 다르며 중요한 점은 모든 참여자들이 역할과 책임을 명확히 이해하고 있는지입니다. 3. 사용하는 프레임워크나 언어가 다르더라도 코드리뷰를 하는 의미는 충분히 있다고 생각합니다. 어디까지나 코드 리뷰의 목적 중 하나는 '코드 품질 향상'이며, 작성된 코드를 보면서 서로 다른 방식으로 같은 문제를 해결하는 방법을 고민하거나 기존 방식을 고치려는 노력 자체에서 많은 배움을 얻을 수 있습니다. 4. 시니어 개발자가 없다면, 외부의 전문가나 많은 경험이 있는 개발자를 초청하여 코드 리뷰를 진행하는 것도 하나의 방법이 될 수 있습니다. 혹은 각자의 분야에서 우수한 오픈소스 프로젝트를 찾아 그들의 코드리뷰 과정을 학습하는 것도 추천드립니다. 기본적으로 코드리뷰는 팀원 모두에게 업무 속도와 품질 향상에 도움을 주는 활동입니다. 이러한 문화가 정착되면, 한 명이 아닌 모든 팀원이 서로를 위해 노력하고 시간을 내 코드를 개선하는 것에 긍정적인 영향을 줍니다.

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!