[회고] 우테코 한달 생활기
1.
우테코의 지원 과정은 프리코스로 진행된다.
각 주마다 새로운 미션이 시작되며, 새로운 요구사항이 생긴다.
indent 제한이 생기거나 else를 사용하지 말라고 하는가 하면, 듣도 보도 못한 enum이라는 것을 쓰라고 하기도 한다.
이 과정에서 많은 크루가 '좋은 코드'에 대한 고민을 해 봤을 것이다.
나 역시 그중 하나였다.
공통 피드백과 디스코드에 올라오는 다양한 포스팅, 코드 리뷰 등을 통해 나만의 좋은 코드에 대한 기준들을 쌓아 왔다.
매주 미션을 거듭해 가면서, 그리고 많은 지원자 토론을 하면서 나의 기준들은 조금씩 견고해졌다.
2.
나의 기준들은 우테코를 시작하던 시점에서 철칙 정도로 단단해졌다.
불행인지 다행인지, 자동차 경주와 사다리 게임 미션을 진행하는 3주간 나의 기준들은 흔들린 적이 없었다.
리뷰어가 나의 코드에 리뷰를 달면 최선을 다해서 리뷰어를 설득했고, 리뷰어 역시 그런 나의 모습을 좋게 봐주셨다.
이렇게 나의 기준이 완성되는구나.
어쩌면 내가 조금은 더 좋은 개발자로 성장한 것 같았다.
3.
블랙잭 미션은 여태 지나온 미션들에 비해 리뷰가 많았다.
분명, 이번 미션 역시 평소처럼 내가 생각했던 기준들을 철저하게 준수했으며 페어와도 정말 토론을 많이 하며 작성한 코드였다.
여느 때처럼 나는 리뷰어에게 내 기준을 설명했고, 리뷰어도 나에게 본인의 생각을 강요하지는 않았다.
그럼에도, 서로 그리는 그림의 모양이 많이 달랐기 때문에 좀처럼 제자리를 걷는다는 생각을 떨쳐낼 수 없었다.
문득 지난 미션에서 페어 프로그래밍을 하던 나의 모습이 떠올랐다.
항상 페어에게도 내 기준을 설득하기 바빴지 않았었나?
나는 과연 그들의 의견을 존중하고, 더 좋은 방향을 위해 토론을 했던 것이 맞았을까?
어쩌면, 생각을 고집하느라 정작 더 중요한 것을 놓치고 있는 건지도 모른다.
4.
네오조는 레벨 1의 초반부터 '리뷰 리뷰 스터디'를 진행해 왔다.
미션을 진행하면서 받은 리뷰를 함께 공유하고, 의견을 나누는 스터디였다.
'리뷰 리뷰 스터디'를 진행한다는 이야기를 들은 지 조금 지나서, 네오가 이 스터디를 반대했다는 이야기를 들었다.
지금 단계에서는 리뷰어의 시야를 최대한 받아들이는 것이 중요한데, 다른 리뷰어의 의견이 섞여서 온전히 한 사람의 생각을 배우지 못한다는 것이 주된 이유였다.
5.
잠실 캠퍼스에선 매주 두 번, 네오가 백엔드 수업을 진행한다.
네오의 블랙잭 피드백에서 상태 패턴을 다루었는데, 처음엔 왜 상태 패턴을 사용하는 건지 이해가 되지 않았다.
시간이 흘러 완성된 네오의 코드는 상태에 대한 조건 분기 대신 각각의 상태 객체가 자신의 행동을 구현하고 있었다.
결국 결과를 보고 나서야 "모든 것을 객체로 만든다."라는 네오의 의도를 조금은 느껴 볼 수 있었다.
6.
<함께 자라기 - 김창준> 에서 "수파리" 라는 단어를 읽었다.
주로 검도나 다도, 예술 분야 등에서 수행의 단계를 설명할 때 사용하는 말로, 수, 파, 리의 각 단계로 구분된다고 한다.
수 는 "지키다" 라는 뜻으로, 규칙과 스승의 가르침을 충실히 지키며 반복과 연습을 반복하는 단계에 해당한다.
파 는 "깨뜨리다" 라는 뜻으로, 규칙을 깨뜨리고 자기만의 방식을 찾는 단계에 해당한다.
리 는 "떠나다" 라는 뜻으로, 규칙에서 벗어나 새로운 세계로 입문하는 단계에 해당한다.
우리는 '수'의 단계를 지나고 있는 지도 모른다.
어쩌면 네오는 크루들이 리뷰어들의 다양한 생각을 경험하고, 이 과정에서 시야를 넓히기를 바랬던 것이 아닐까?
7.
결국 직접 경험해 보지 않으면 넓은 시야는 얻을 수 없겠구나.
고민 끝에 나의 기준을 지켜 나가는 대신, 리뷰어의 그림을 최대한 따라가 보기로 했다.
(리뷰어), 주말 잘 보내고 계신가요?!
말씀 주신 부분들 최대한 신경써서 반영을 해 보았어요. 이번주 네오를 포함해 다양한 코치들과 대화를 하기도 했고, 선배들과도 이야기를 나눠 보면서 들었던 생각이 있는데요.
리뷰를 받는 동안은 제 기준을 조금 더 단단히 쌓아 가기 위해서 각 미션마다의 리뷰어분들의 스타일을 최대한 따라 가보고 싶어졌어요.
물론, 맹목적으로 하라는 대로 하는 것이 아니라, 기존의 제가 생각하던 길과 꼼꼼하게 비교를 해 보겠습니다!
다만, 제가 리뷰어분들께서 말씀하시는 것들이 제가 지금까지 사용하지 않던 방식들이라면, 해당 방식들을 적용해 보면서 저의 시야가 조금 더 넓어질 수 있을 것 같았거든요. 혹시 괜찮으시다면, 어느 정도 머지가 가능한 수준에서 (리뷰어)께서 아쉽게 느껴지는 부분들을 한번 더 읽어 주시고, 리뷰를 한번 더 요청해도 될까요!
이번 리뷰도 잘 부탁 드립니다!
- 리뷰어와의 DM 중
8.
저는 코드도 문학이라고 봐서요, 10명 중 10명이 다 좋다는 코드는 만들기 힘들다고 생각해요.
그래서 10명 중 7명 정도가 끄덕끄덕 할 정도면 좋은 코드다, 생각하고 또 그렇게 짜려고 노력하는데요.
(이하 생략)
어느 리뷰어가 다른 크루에게 해 준 말이다.
많은 사람의 공감을 얻기 위해선 많은 사람의 생각을 이해할 수 있어야 하는 것처럼,
좋은 코드를 작성하기 위해선 많은 사람의 각자만의 기준을 이해할 수 있어야 한다고 생각한다.
그래.
나의 기준에 대한 자부심은 조금 더 미뤄 두자.
분명 좋은 개발자로 성장할 수 있을 것 같은 느낌이다.
마치며
우테코에서는 레벨당 하나의 글을 작성해야 합니다.
그리고, 지난 기수인 5기까지는 레벨 1의 글쓰기 주제가 "우테코 한달 생활기" 였는데요.
저는 선배들의 한달 생활기 들을 보면서 동기부여를 많이 받았습니다.
그리고, 나도 언젠가 우테코에 합격해서 한달 생활기를 남기고 싶었어요.
6기의 레벨 1 글쓰기 주제는 '마인드셋, 유연성 강화 목표 & 돌아보기' 로 진행되었습니다.
아쉬운 마음에 개인적으로 한달 생활기를 작성해 보았습니다.