우아한테크코스 한 달 생활기

sojukang·2022년 3월 27일
0
post-custom-banner

슬픈 행복의 우테코😂

격정의 우테코 한 달이 흘렀다. 분노와 슬픔 속에서 참회의 명상을 가지기도 했다. 흐름을 탄 리팩토링을 끊기 싫어 동틀 무렵 아침 하늘을 보고 침대로 쓰러지기도 했다. 동료로서, 인간적으로 동경심이 드는 크루들을 만났다. 그리고 지금 생각해본다. 우테코를 선택한 일은 옳았는가? 답을 내기 전에 한 달간의 기억을 돌아보고자 한다.

우테코 한 달 돌아보기

다시 만난 자동차🚗

여행을 가면 꼭 한번은 울게 된다.

심보선, 외국인들 - 눈앞에 없는 사람

불안했다. 컴퓨터 공학을 전공했거나, 부전공으로 삼았던 크루들이 많았다. 이방인의 자유, 패기를 담아 도전했지만 부족함을 들키는 일은 감정 소모가 컸다. 그런 생각이 들 무렵, 포비가 포수타에서 나와 비슷한 걱정을 했던 크루의 질문에 이런 답을 해주셨다.

자신의 약점을 빨리 공개하세요.

포비

내가 겪는 불안은 모두의 불안이고, 누군가 이미 겪은 불안이다. 포수타의 그 문답이 위로가 되었다. 익명의 크루에게 감사를 전합니다.

첫 번째 미션은 다시 만난 자동차 경주였다. 익숙한 이름, 프리코스때 만났던 그놈이다. 프리코스를 만나 처음 자바를 공부했고, 장황한 문법과 이를 극복하기 위한 IDE의 눈물 나는 공헌에 마음이 뜨끈해졌던 기억이 스쳤다. 첫 미션은 가볍게 가자는 걸까, 순조로울 것 같았다. 리뷰로 눈물 나게 깨지기 전까지는. 여백이 부족하여 이를 적진 않겠습니다.

로또와 페어는 모두 랜덤🤝

자동차와 보이는 라디오를 거치며 어느새 우테코에 익숙해진 크루들. 시스템에 익숙해진 뒤에는 관계에서 어려움이 찾아온다. 페어와의 충돌에 관한 이야기가 들리기 시작한다. 각 미션에 매칭되는 페어는 랜덤이고, 페어와의 케미가 코드의 완성도뿐만 아니라 미션 기간 전체의 정신 건강을 좌우한다. 다행히 잘 맞는 페어를 만난 크루는 오프라인으로 만나기도 하고, 미션 기간이 끝난 후에도 교류를 이어갔다. 반면 감정의 지옥을 맛보고 일찌감치 손절한 페어도 있었다.

페어 손절

실제 두 분은 자타공인 사이 좋은 페어다

다행히 전부 좋으신 분과 팀이 되어서 마음껏 배울 수 있었다. 남은 기간도 이렇게 순조롭지만은 않을 터이다. 로또 미션에서 무작위성을 제어하기 위해 전략으로 대응하듯, 불확실한 인간관계에 대응하기 위해 함께 자라기를 읽으며 단서를 찾았다.

  1. 팀에 누가 있는지(전문가, 내향/외향, 지능 등)보다 팀원들이 서로 어떻게 상호작용하고 자기 일을 어떻게 바라보는지가 훨씬 중요했다.
  2. 성공적 팀의 가장 큰 특징은 심리적 안전감이었다.
  3. 심리적 안전감은 팀 토론 등 소통으로 높아진다.

김창준, 함께 자라기

그렇다. 실력이나 성격보다 소통하는 태도가 훨씬 중요하다는 것이다. 주목할 만한 점은 '심리적 안전감'인데, 자유로운 의견을 낼 수 있음은 물론, 제시한 의견이 적극적으로 고려되고 공격적인(혹은 감정적인) 피드백이 주어지지 않을 때 심리적 안전감은 높아진다. 돌아보면, 나 또한 심리적 안전감을 느껴 많은 대화와 의견을 내었다. 그러나 의견을 들을 땐 생각 없이 '아니오'를 말한 적이 많았다. 차갑게 느껴질 말투로 대화한 기억이 남아 한없이 부끄럽다. 모 크루가 나를 가장 무섭다고 느꼈다는 말을 듣고 그동안 만난 팀원들이 모두 좋았던 건 내가 빌런이었기 때문인가?라는 의문이 들었다. 부끄럽습니다. 선생님들... 혹시 보고 계신다면 사죄를 드립니다. 한 번 말하면 세 번 듣고 항상 긍정적으로 생각하는 사람이 되겠습니다.

모든 '아니오"에는 반드시 하나 이상의 대안들이 따라와야 한다. 남이 작성한 코드를 엉망이라고 그냥 말하기는 쉽다. 하지만 나라면 더 잘 만들 수 있는가? 라고 스스로에게 물어보야야 한다.

산드로 만쿠소, 소프트웨어 장인

내 거친 생각과 불안한 블랙잭♣️

누군가 말한다
스키드 마크는
바퀴도 번민한다는 뜻이지

심보선, 도시적 고독에 관한 가설 - 눈앞에 없는 사람

프리코스부터 미션을 진행하며 MVC, 불변 등 변화를 주며 구현을 해왔다. 그러나 도메인의 차이를 제외하면 대동소이한 구조가 되었다. 색다른 방법을 찾아 다른 크루들의 코드를 보아도 차이가 크지 않았다. 블랙잭 미션은 이전 미션들보다 조금 까다로웠지만, 구조는 이전과 비슷했다. 슬슬 반복되는 작업에 조금의 번민을 느낄 즈음이었다. 뭔가 재밌는 구조가 없을까?
2단계 리뷰 신청을 하기 직전, 네오가 진행하신 피드백 강의에서 상태 패턴으로 구현된 블랙잭을 보았다. 신선했다. 리뷰어분께 양해를 구하고 기존의 객체 구조를 상태를 기반으로 변경했다.

이맘때쯤 읽었던 '소프트웨어 장인'에서 개발자 교환의 효과에 관한 글이 기억에 남았다. 자신의 코드를 잠시 벗어나 다른 팀의 코드에 참여하는 경험이 모두에게 도움이 된다는 내용이었다. 그래서 데일리 조원분들을 모아 코드를 공개하는 시간을 자주 가졌다. 그중 내 코드를 설명한 후 아서가 주셨던 질문이 뇌리에 남았다.

상태 패턴으로 바꿨을 때 어떤 장점이 있었나요? 조건문이 줄었다고 하지만 분산되었을 뿐 준 것 같지는 않아 보이네요.

Sweet 그 자체 아서

그렇다. 의욕이 앞서 개선은 크게 되지 않은 리팩토링을 했다. 좋은 코드는 깔끔한 구조가 아니라 읽고 쓰는 사람을 배려한 코드라는 생각이 들었다. 번민이 조금 줄어들고 마음이 편안해졌다. 코드 뒤에는 사람이 있다. 100개의 코드에는 100개의 논리가 있고, 그보다 훨씬 많은 감정이 녹아있다. 완벽한 사람이 존재하지 않는 것처럼(우테코에 완벽한 남자는 존재한다는 소문이 있다), 완벽한 코드도 존재할 수 없다. 타인과 소통하려는 노력이 보이는 코드라면 모두 최고라고 생각한다.

완벽한 코드 같은 건 존재하지 않아. 완벽한 절망이 존재하지 않는 것처럼...

무라카미 하루키, 바람의 노래를 들어라, 사실 원문은 코드가 아니라 문장이다...

아침에는 웃음을 생각하는 것이 좋다🌄

오전 열 시.
이제 일어나야 해요.

심보선, 늦잠 - 눈앞에 없는 사람

워니조의 데일리 미팅은 따듯했다. 으레 집단 속에 있기 마련인 상극인 사람도 없었다. 우테코 첫 동료들을 잘 만났다고 생각한다. 덕분에 아침에는 한껏 웃으며 일과를 시작할 수 있었다. 내가 이렇게 웃음이 많은지 몰랐다. 아마 졸업이 준 해방이 큰 영향을 주었으리라(만국의 공대생이여 안녕하라). 그러다 불현듯 기시감과 함께 물음이 찾아오기도 한다. 내가 여기 있어도 될까? 나보다 적격자가 떨어지지는 않았을까? 내가 오늘 웃기 위해 누군가는 쓴 눈물을 삼키지는 않았을까. 생각해보면 지금까지 참으로 많은 이들의 도움을 받았다. 내가 사랑하지 않았던 많은 사람조차 함께 웃을 수 있는 사회가 되었으면 좋겠다. 더 많은 이들에게 소프트웨어의 가치를 전하고 싶다. 그래서 우테코에 들어왔으니까.

내가 진심으로 되고 싶은 개발자의 태도

20%는 남겨줘 다음 추억을 위해👋

어떤 크루는 문고리에 먼지가 켜켜이 쌓인다고 했다. 재밌다고 생각했다. 그날 운동화를 신으며 문득 어색함을 느꼈다. 쿠션에 닿는 발가락 감촉이 이랬나? 그렇다. 거리를 오래 걸었던 기억이 꽤 오래전이다. 항상 욕하며 탔던 지하철이 그리운 걸 보아 정신병 초기 증세일지 모른다. 새로운 환경에서, 새로운 사람들을 만날 때가 되었다. 우테코의 비대면 소통은 효과적이었다. 그래도 직접 눈 마주치며 건네는 말소리만큼의 깊음은 없다. 우리는 픽셀이 아니고, 마크다운도 아니다. 36도의 온기를 가지고 소통할 다음 추억을 위해 20%는 남겨둔다. 우테코에서 지낸 한 달, 80% 만족스럽다.

profile
기계공학과 개발어린이
post-custom-banner

0개의 댓글