검토자에게 따르는 커다란 책임

코드 및 설계 리뷰할 때 ‘내 설계가 아니니까.. 내 코드가 아니니까…’라는 생각 하시나요? 어떤 마음 가짐으로 리뷰하시나요? 모든 검토자에게는 암묵적인 책임이 따르며, 문제가 생길시 작성자만큼 큰 책임을 져야하는 것 같습니다. 검토자에게 따라는 커다란 책임과 제가 생각했을 때 가져야할 마음가짐에 관해 몇 자 적어 봅니다. 그리고 코멘트에 여러분은 어떤 마음가짐으로 검토하는지, 또는 좋은 리뷰 문화를 만들기 위해 지금 하고 있는 게 무엇인지 가르쳐 주세요! 1️⃣ 코드 작성자만큼 책임을 진다는 마음가짐 ”내 일이 바삐서 또는 내 책임이 아니니까“라며 책임을 회피하면 안된다. 관련 코드로 인한 문제 발생 시 ’코드 작성자만큼 문제에 대한 책임을 져야한다‘라는 자세를 가져야 한다. 코드를 작성하는 것만큼 중요한 게 코드 리뷰며, 검토자가 대충 승인해 버리면 코드 리뷰 프로세스가 있으나 마나다(이럴 바에 코드 리뷰 프로세스가 차나리 없는 게 나을 정도다…). 코드를 작성하며 놓치는 부분이 반드시 있기 마련이고 ‘코드를 읽기만 할 때’ 보이는 허점이 반드시 있다. 논문 쓸 때작성할 때는 몰랐지만 다 적고 다시 읽어 보면 실수가 눈에 보이듯 코드 리뷰도 그만큼 중요한 역할을 한디. 2️⃣ 제대로 되지 않은 설계는 만성적인 골칫덩이라는 마음가짐 설계 검토할 때 의견을 내지 않거나 따로 피드백을 주지 않을 수 있다. 문서를 보고 대충 다이어그램이 맞으면 ‘이 설계 괜찮군’이라고 생각하고 넘길 수 있다. 그러나, 잘못된 (또는 미완성된) 설계의 역효과는 수 년 또는 수십 년 지속되며, 최악에는 리팩토링 또는 재설계를 해야 한다. 예컨대 이미 설계를 완료한 상태에서 새 기능을 추가한다고 생각해 보자. 초창기 설계 당시 이 가능성을 염두해 두지 않고 특정 기능에 적합한 설계를 한다. 처음 몇 년은 괜찮아도 수년이 지나 비지니스 니즈 때문에 새 기능을 넣을 때야 비로소 ‘이 아키텍처로 도저히 새 기능 추기가 불가능하군’이라고 느낀다. 이 때 문제를 고치기엔 너무 늦었다. 왜냐하면 최악으로 설계를 다시하거나 리펙토링을 해야 하기 때문이다. 또는 미완성된 또는 흠이 많은 아키텍처를 기반으로 한 서비스는 운영 및 관리 비용이 많이 들 수 있다(고로 내 일이 필요 이상으로 힘들어 진다…). 설계할 때 또는 설계를 검토할 때 시스템에 중요한 extensibility, scalability, availability, reliability, durability, consistency 등등 여러 각도에서 생각해 보자. 3️⃣ ‘질문하는 것‘이 좋은 피드백이 된다는 마음가짐 대게 주니어 또는 신입사원일 때 잘 몰라서 피드백을 제공하지 않는다. 시스템을 잘 모른다며 검토하지 않은 것은 문제를 방관하는 것과 같다. 잘 모른다면 작성자에게 모르는 점을 ‘질문‘함으로써 유익한 피드백을 줄 수 있다. 의외로 많은 사람들이 ‘질문의 힘‘을 모르는데, 질문을 통해 작성자는 틈을 발견하고 더 나은 코드와 설계를 할 수 있게 된다. 내가 주니어 개발자였을 때 내가 하는 말을 아무도 들어 주지 않을 것 같아서(지금 생각해 보면 자신감이 없었던 것 같다) 피드백을 주지 않았던 적이 있었다. 돌이켜 보니 자신있게 질문하며 잘 몰라도 설계의 틈을 피헤쳐 봤어야 했다. 의외로 주니어 개발자 동료가 질문하고 내가 그 질문에 관한 답을 찾다가 코드나 설계의 흠을 찾게 된 경우가 수없이 많았다. 4️⃣ ’돌다리도 두들겨 보고 건너라‘라는 마음가짐 ‘돌다리도 두들겨 보고 건너라’라는 말이 있듯 아무리 시스템을 잘 알고 똑똑한 선임도 실수한다. 나보다 직급이 높거나 오래 근무한 팀원이 하는 일이 무조건 맞다고 생각하면 안 된다. 잘 알 수록 실수할 경우의 수가 낮을 수는 있어도 그 수가 완전히 0가 되지 않는다. 5️⃣ 리뷰를 통해 성장한다는 마음가짐 ’내가 직접 코드를 작성하고 설계를 해야 성장한다‘는 건 맞는 말이지만 리뷰를 통해 더 큰 성장을 이룰 수 있다. 다양한 사람들이 작성하는 코드와 설계를 보며 ’이렇게 코드를 작상할 수 있구나!‘ 또는 ’이런 설계법이 있구나!’라는 것을 알게 된다. 또한 다른 사람이 한 실수나 나쁜 습관를 보며 ‘나는 이런 실수를 하지 말아야지‘라는 것을 배울 수 있다. 즉, 리뷰하는 것을 시야를 넓힐 수 있고 배움의 기회로 여겨야 한다. 6️⃣ 리뷰를 통해 멘토링한다는 마음가짐 선임이 후임을 멘토하는 방법으로 일대일 면담만 있는 건 아니다. 검토 과정을 통해 유익한 피드백을 남기면서 그들에게 좋은 멘토가 될 수 있다. 예전에 유독 리뷰에 관심이 많고 피드백을 자주 남겨주는 동료가 있었다. 내 할 일도 바쁜데 리뷰를 열심히 해주는 게 고맙기도 했고 한편으론 이해가 안됬었다. 하지만 돌이켜 보니 일대일 면담으로 멘토링을 따로 받는 것보다 오히려 그 동료의 리뷰를 통해 정말 많은 걸 배웠다. 멘토링이 단순히 주니어나 중간 개발자에게만 도움 되는 건 아니다. 그들의 역량을 기르면 내 일도 쉬워진다. 역량이 높은 팀원들과 일하면 나도 계속 성장할 기회를 얻는다.

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 9월 18일 오후 2:08

 • 

저장 78조회 8,777

댓글 2

함께 읽은 게시물

Lottie vs WebP – iOS 앱에서 애니메이션 성능 비교

i

... 더 보기

Lottie vs WebP Animation

iOYES

Lottie vs WebP Animation

여러분 PostgreSQL 프로시저는 Python, JavaScript은 물론 Perl, Java, Lua 등도 사용할 수 있답니다~* 대부분 구식🤭 MySQL만 쓰셔서 모르시겠지만.. (도망간다)



ChatGPT 버전명 설명

ChatGPT 사용할 때 어떤 모델을 선택해야할지 망설여집니다. 모델명만 봐서는 어떤게 좋은지 모르겠더라고요.

... 더 보기

한때 천만원에 거래되었던 Manus, Bedrock 무료 오픈소스로 공개

... 더 보기

LinkedIn

lnkd.in

LinkedIn

 • 

저장 17 • 조회 1,332


감사합니다. 멋진 서비스 잘 만들어보겠습니다.

... 더 보기

조회 1,954