항해 플러스 프론트엔드 코스란?
1~4년 차 주니어 프론트엔드 개발자들이 모여 매주 토요일마다 오프라인 모임, 코드 리뷰를 진행하고
평일에 한 번씩 멘토링을 진행하면서 주니어 개발자들이 성장할 수 있는 환경을 제공해 주는 코스입니다.
이번 글에서는 항해 플러스 프론트엔드 멘토링 활동을 하면서 알게 된
"신뢰있는 개발자"에 대해서 작성해 보려 합니다.
국어사전에서 "신뢰"라는 의미를 다음과 같이 설명합니다.
굳게 믿고 의지함
저는 "여러 방법 중에서 최고의 선택을 할 수 있는 사람"이 신뢰있는 개발자라고 생각하였습니다.
이렇게 생각한 이유는 최고의 선택을 생각하는 사람이라면 코드 리뷰/설계할 때 의견을 믿고 맡길 수 있다고 생각하였기 때문입니다.
한마디로 자기 주관이 있는 사람을 신뢰할 수 있다고 생각했습니다.
그런데 멘토님께서 역으로 이렇게 질문하였습니다.
그렇다면 제안한 의견이 선택되게끔 하는 사람이 신뢰할 수 있는 사람인가요?
말문이 막혔습니다.
사람이 항상 최고의 선택만 할 순 없는 것이고,
반대로 제안한 의견이 선택되지 않으면 그 사람을 신뢰할 수 없는 것도 아니기 때문입니다.
저는 항상 좋은 설계를 하고, 적극적으로 기술 의견을 내는 사람이 회사에서 신뢰할 수 있는 개발자라고 생각하였습니다. 그래서 제 의견이 채택되었으면 좋겠다는 마음으로 코드 리뷰를 엄청 열심히 하였고, 가끔 의견이 거부되면 자책하기도 했었습니다.
멘토링 이후에 저는 [신뢰있는 개발자]가 무엇인지 개념을 새로 그려보았습니다.
제가 다시 정의한 [신뢰있는 개발자]는 다음과 같습니다.
[신뢰있는 개발자]가 되려면 "장애가 날 것 같다고 생각하는 부분을 넘어가지 않는 개발자"가 되어야 합니다.
개인적으로 운영하는 사이드 프로젝트에서는 "여러 방법 중에서 최고의 선택을 알 수 있는 사람"이 신뢰있는 사람이 될 수도 있습니다. 하지만, 회사에서는 서비스를 운영하고 비즈니스를 통해 돈을 벌어야 하는 조직이기 때문에 기술적인 퍼포먼스보다는 서비스 안정화에 기여하는 사람을 신뢰합니다.
따라서 장애가 날 것 같은 부분을 넘어가지 않는 개발자가 되어야 그 사람에게 일을 맡기고,
그 사람의 말에 귀 기울이며 신뢰하게 됩니다.
즉, 투명한 사람이 되어야 합니다.
일반적인 사람들은 대부분 마감일에 대한 압박감이 있습니다.
상사: 00 씨 이 작업 며칠 내에 끝내실 수 있죠?
나: (오래 걸릴 것 같은데…. 일단 질러보자) 3일 이내에 할 수 있습니다!(3일 후)
나: 테스트는 많이 못 해봤지만 일단 되는 것 같으니 마무리 하자..!
마감일이 다가오게 되면, 압박감을 못 이기고 하나에 집중하지 못하는 경우가 있습니다.
저도 이러한 경험이 있었는데요.
빠르게 마감일 내에 마무리하기 위해 여러 케이스의 테스트를 대충 하게 되었고,
서비스에 결함을 발생시킨 경험이 있었습니다.
또다시 Revert하고, 마감일을 못 지켰다는 죄책감으로 일에 집중하지 못하여 작업을 지연시키기도 하였습니다.
이러한 과정은 주변 사람에게 신뢰를 잃는 행동이 될 수도 있습니다.
A: 00 님 저번에 마감 기한 못 지켰는데, 이번에도 지킬 수 있으려나…?
그러니 저희는 투명한 사람이 되어 장애가 날 것 같은 부분(테스트가 덜 된 부분)을 넘어가지 않으려고 노력해야 해요.
또한 장애가 날 것 같은 부분을 알기 위해서는 내가 짠 코드의 흐름을 알아야 하고, 끊임없이 팀원들과 소통하여 작업 진행 상황을 공유해야 합니다!
제가 처음에 생각했던 "최고의 선택을 할 수 있는 사람"과 반대되는
"모르는 것을 모른다고 말할 수 있는 개발자"가 되어야 합니다.
특정 작업을 할 수 있다면 할 수 있다고,
못 하겠으면 못 하겠다고,
모르겠으면 이 부분을 모르겠다고 말할 수 있는 개발자가 되어야 합니다.
A: 모르는 것을 모른다고 말하면 기술적으로 부족해 보이지 않을까…?
이렇게 생각하실 수 있지만, 오히려 저는 반대로 생각합니다.
이 사람은 자신의 한계를 인정하고, 트러블 슈팅을 공유할 수 있구나!
자신의 한계를 인정하고 솔직하게 말하는 것은 책임감 있는 태도를 보여줍니다. 주어진 업무에 대해 신중하게 접근하고, 최선의 결과를 도출하기 위해 노력하는 모습이라고 느껴집니다.
모르는 것을 부끄럽게 생각하지 마시고, 자신의 트러블 슈팅을 공유하는 것을 통해 신뢰를 얻은 시면 좋을 것 같습니다.
마지막으로 다시 정리하자면, 신뢰있는 개발자는 "최고의 선택을 제시할 수 있는 사람"보다는
"장애를 덮지 않고, 모르는 것을 공유하며 지속적으로 소통하는 사람"이라고 정의할 수 있을 것 같습니다.
"왜 회사에서는 나에게 중요한 일을 맡기지 않을까?" 고민한 적도 있었는데요. 이번 멘토링을 통해 "내가 그동안 신뢰 받지 못한 행동을 했을 수도 있겠다."라는 생각을 하며 제 자신을 돌아보게 되는 계기가 되었습니다.
계속 자책하기보다는 주변의 동료들이 어떻게 마감 기한 안에 지키려고 행동하는지 지켜보면서 많이 배우려고 노력해보겠습니다.
각자 생각하는 신뢰있는 개발자의 의미는 다 다르기 때문에 저와 다른 의견이 있으시거나 공감되시는 내용이 있으시다면 댓글 남겨주세요!
긴 글 읽어주셔서 감사합니다 :)
요즘 IT - 프로덕트 팀의 신뢰를 '자산'처럼 관리해야 하는 이유
믿을 수 있는 사람의 7가지 특징
제가 현재 참여하고 있는 항해 플러스 프론트엔드 코스가 4기를 모집하고 있다고 하여 공유드립니다!
10월 24일까지 신청하시면 얼리버드 혜택으로 약 50% 할인을 받으실 수 있습니다.
또한 추천인 제도로 [추천인] 코드에 “zmK2OE”를 입력하시면 20만 원 추가 할인 혜택이 있으니
관심 있으신 분들은 항해 플러스 공식 홈페이지에서 신청하시면 됩니다 :)
저의 후기 글을 보시고 항해 플러스 프론트엔드 코스 관련해서 궁금한 사항이 있으시다면 링크드인 메시지 또는 이메일 yoosioff@gmail.com으로 편하게 연락주세요.