Writing/회고

[주간회고] 우아한테크코스 1주차 - 게으름에서의 탈피

행복한 시지프 2022. 2. 16. 01:43

1주차 키워드 : 게으름에서의 탈피, 환경의 힘, 페어 프로그래밍, 단기 컨텐츠 디톡스

 

드디어 기다리던 우아한테크코스가 시작했다. 12월 18일, 최종 테스트를 본 후, 2월 8일까지 50여일간 개발을 거의 하지 않았다. 그 동안 노는 것이 질릴 만큼 열심히 놀았다. 그리고 상태가 안 좋았던 것이, 한 번 노는 관성이 형성되고 나니 다시 돌이키기가 정말 어려웠던 것이다. 다시 개발을 시작하려고 해도 그게 힘들었다. 공부 동기도 이전 만큼 크지 않고, 우테코를 시작하면 다시 처음부터 배울 것이라고 생각하니 공부가 손에 잡히지 않았다. 그렇게 우테코 OT를 맞이하였다.

 

강제성이 부여되기를 고대하였다. 하지만 우테코는 하루 종일 앉혀두고 교육하지 않는다. 우테코에서 중점을 두는 것은 자기 주도적 학습이다. 그렇지만, 자기 주도적 학습을 의지력으로 달성하라고 말하지 않는다. 의지력보다, 환경의 힘을 중시한다. 우리는 무언가 잘 해내지 못 하는 자신을 볼 때, 자신의 의지력을 탓하는 것에 익숙하지만, 실천에 있어 의지력 보다 중요한 것이 많다. 의지가 없더라도, 환경만 조성되어 있으면 하게 된다는 것이 우테코 입장이다. 그러므로, 우테코 코치님들은 좋은 환경을 조성하려고 매우 노력하신다.

 

그 중 하나가 페어 프로그래밍이다. 페어 프로그래밍이란 2명이, 한대의 컴퓨터로 코딩하는 것을 말한다. 2명은 각각 Driver, Navigator 역할을 맡는데, Driver는 키보드와 마우스를 쥐고 코드를 쓰는 사람, Navigator는 이를 지켜보며 지시하는 역할을 한다. Driver는 코드를 직접 작성하기 때문에, 근시안적이게 될 수밖에 없다. Navigator는 지켜보고 있기 때문에, 좀 더 넓은 시야를 가지고 바라볼 수 있다. 페어 프로그래밍은 단지 학습에 이로운 기법이라고 생각했는데, 학습 뿐만 아니라 실제로 개발 속도를 증진시켜줄 수도 있다는 주장이 흥미로웠다. 개발자는 에러를 잡고, 코드를 리팩토링 하는데 긴 시간을 보낸다. 혼자서 개발할 때 고려하지 못 하는 에러들을 2명이 개발하다 보면, Navigator가 지켜보며 지시하는 구조로 개발한다면 사전에 많은 에러를 처리할 수 있을 것이다. 실제로 첫 페어 프로그래밍을 해본 결과, 기능을 완성에만 초점을 두었음에도 꽤 완성도 높은 코드를 짤 수 있었다. 예외 처리는 이미 많이 해두었고, 코드 퀄리티도 2명이 관여하다 보니 더 높아졌음을 확인할 수 있었다.

 

1주차에 2가지 미션을 수행했는데, 계산기 미션과 자동차 경주 게임이었다. 50일만에 개발을 하다보니 계산기를 만드는 것이 조금 어려웠다. 자바스크립트를 어떻게 쓰더라...? 더욱이 페어와 함께 하다 보니, 긴장도 되고 하니 더욱이 과거의 지식을 꺼내는데 시간이 걸렸던 것 같다. 하지만, 페어분도 오랜만에 개발을 하는 분이라 서로의 현재 수준을 털어놓고 기억을 되살리며 완성했다.

자동차 경주게임은 프리코스 때 이미 해본 것이었다. 내가 그 당시 고심해서 짰던 코드가 과연 얼마나 잘 짠 코드이고, 얼마나 별로인 코드인지 확인할 수 있는 기회였다. 먼저 페어와 함께 한다는 점, 그리고 이후에 현직자에게 리뷰를 받을 수 있다는 점에서 그러했다. 페어와 소통하면서 서로 코드를 비교해보았는데, 다행히 큰 충돌이 없었다. 나만의 방식은 왜 그러한 방식을 택했는지 논리적으로 설명하는 과정을 거치면서, 더욱이 견고해지는 느낌을 받았다. 그렇게 자동차 경주게임을 완성하고 PR을 날리고 코드리뷰를 받았다.

 

 

매우 기분이 좋게도 위과 같은 리뷰를 받았다.

대학생 개발자, 주니어 개발자의 숙명이 바로, 자신의 코드에 대한 회의이다. 내가 짠 코드가 맞을까? 하는 고민. 현직자분이라고 정답을 내려주는 것은 아니지만, 적어도 현업에서 그렇게 사용하여도 무방하다는 말이니 후련했다. 내가 쌓아온 것을 긍정 받는 경험은 누구에게나 즐겁다.

 

Keep

  • 근시사회 - 단기적인 욕망 충족 을 단절하자. 현재 우리 사회는 근시 사회라고 한다. 빠르게 자신의 욕구를 충족시켜줄 수 있기 때문에, 인낸심이 없고, 장기적인 시야가 부족하다. 깊이 고민하기 보다는, 짧게 고민하고 판단한다. 사유하기 보다는 유흥을 즐긴다. 사회 전반적인 문제이며, 현재 내가 게으름에 허우적대는 근본적인 이유라고 생각했다. 그래서 단기 컨텐츠인 인스타그램, 유튜브 디톡스를 시작했다. blocksites 라는 서비스로 휴대폰, 노트북에서 접근하지 못 하도록 막아두었다. 인스타그램은 비활성화 했다. 심심하면 보던 것들을 보지 않게 되니, 심심할 때 할 것이 없다. 하지만 훨씬 건강해졌음을 느낀다. 사유를 되찾고 있다.

Problem

  • 게으름에서 벗어나기 시작했지만, 아직 아침시간과 밤 시간을 제대로 활용하지 못 하고 있다. 수면시간과 기상시간을 일정하게 고정하고 패턴을 형성하자. 1시에 자서 8시에 일어나자. 그러면 무엇을 할지가 필요하다. 환경을 만들어야지. 스터디를 고민해봐야겠다. 학습 로그를 작성해야겠다.
  • 심심할 때 뭐하지..? 여전히 네이버 스포츠, 인터넷 기사를 읽고 있다. 좀 더 의미있는 것은 없을까. 체스? 오목? 책?
  • 뭔가 많이 배우고 있다. 학습 방법, 지식, 개인 피드백 등. 그렇지만 정리되지 못 하고 중구난방 흩어져 있다.

Try

  • 나를 정제해주는 것을 꼽으라고 하면, 독서, 글쓰기, 달리기 이다. 이것들 중 하나라도 수행하고 있다면, 나는 내 삶은 내가 생각한대로 살아가고 있을 확률이 매우 높다. 하지만, 매우 고된 과정이기 때문에 가만히 두면 안 하게 된다. 환경을 만들어야지. 주간 회고 스터디를 하면 어떨까. 우테코 내에서 주간회고 스터디를 기획해보겠다.
  • 배운 지식들을 정리하는 방법을 강구하자. 노션을 카테고리화 하자. 강의노트, 학습 노트, 피드백 정리 노트, 회고 노트 등을 만들자. 그 중 블로그 포스팅 가능한 것은 올리자.
  • 네이버 블로그는 개발자가 하기 불편한 플랫폼이니, 티스토리로 옮겨야지.