포스트

[우아한 테크코스] 우아한 테크코스 3,4,5주차 회고

3,4,5 주차 회고

회고를 몰아쓰다니… 좀 별로긴 하지만 이 3주동안 정말 눈코 뜰 새 없이 바빴기 때문에 진득하게 글을 쓸 기회가 없었다. 다행히도 주차별로 어떤것을 했고, 어떤 생각을 했는지 적어놨기에 그걸 키워드로 회고해 볼 계획이다.

TDD

2주차 미션에서는 TDD를 적극적으로 사용해보는 것이 주요 요구사항이었다. 페어프로그래밍을 할 때도 TDD를 사용해 구현했지만, 아무래도 시간 제한이 빡빡하다 보니 제대로 생각을 사유하고 해본 느낌은 아니다.

혼자서 다시 구현할때는 충분히 시간이 있어서 꽤나 치밀하게 설계했다고 생각했지만, 코드를 치다 보니 어느샌가 그때그때 필요한 것을 구현하고 있었다. 내 초기 구상이 부족했던건지? 아니면 애초에 TDD가 그렇게 해도 되는 방법인지는 잘 모르겠다. 실제 현업에 가게 되면 이런 미션보다 훨씬 도메인이 복잡할 것 같은데 그렇다면 TDD가 유효한 방법인지도 다시 생각해봤다.

아 물론 빠르게 피드백 받는다는 장점은 정말 좋았다. 특히 내가 짠 코드가 최소한 내가 생각한 범위 내에서는 버그를 내지 않겠다는 안도감은 받는다.

CS 공부는?

아마 전공자와 비전공자가 제일 크게 차이나는 부분이 cs일 것이다. Java에 대한 이해나 능력은 10개월동안 지지고 볶다 보면 비슷해질 수도 있다. 하지만 이 cs는 어떻게, 또 얼마나 해야하는지 감이 안온다.

3주차에 크루들과 cs에 대해 이야기해본 적이 있다. 각자 생각하는 중요한 부분은 달랐지만 공통된 의견은 어느 분야든 cs에 대해 알고 구현하면 더 좋다. 정도였다.

나의 짧은 생각이지만, 아직 이른 것 같다. 나중에 필요하면 공부하겠지… 정도로 넘어가도 괜찮…을려나?

스터디를 시작하다.

생각해보면, 대학 생활을 하면서 스터디를 해본 적이 없었다. 전공 공부는 혼자서 해도 충분했고 영어 자격증 공부나 다른 자격증 공부도 딱히 스터디가 필요하다고 느낀 적은 없었다.

하지만 우테코에 들어와서 ‘여기서만 할 수 있는 것을 하자’를 목표로 삼고, 가장 먼저 생각난 것은 스터디였다. 열정 있고 실력 있는 크루들이 있는데, 굳이 안 할 필요가 없다고 느꼈다.

스터디는 모던자바 인 액션의 각 챕터를 읽고, 발표하는 형식으로 진행됐다. 나는 어쩌다가 가장 먼저 2번의 발표를 연달아서 하게 됐다. 페어 프로그래밍을 비롯한 그 외 여러 일정과 겹쳐 꽤나 쉽지 않은 주간이었지만, 나름대로 준비해서 발표하는 경험은 꽤나 재미있었다. 내가 준비해온 발표에 대해 질답하고, 생각하지 못한 부분에 대해 서로 토론하는 것은 장기적인 관점에서 학습하는데 시간을 꽤나 단축시킬 수 있을 것 같다고 느꼈다. 앞으로 기회가 된다면 레벨별로 하나씩은 꼭 하고 싶다.

유연함 강화 스터디

또 프로그래밍과 관련 없는 활동이 나왔다. 짧게 요약하자면 연극조 팀원들과 매주 내가 나의 사고를 확장하기 위해 어떤 행동을 하고 있는지 공유하는 시간이다. 결론부터 말하자면 꽤나 마음에 드는 활동이었다.

나는 아무래도 다른 사람과 마음을 터놓고 이야기 하는 것이 어렵다. (애초에 터놓을 필요성이 있나?) 이대로 가다간, 레벨1이 종료될 때 우리조 팀원 말고는 모르는 상황이 올 것 같았다. 그래서 이 부분을 집중적으로 개선해보고자 했다. 위에서 이야기한 ‘여기서만 할 수 있는 활동’ 과 연관해서 생각해봤다.

지금까지 3번의 페어 프로그래밍을 해왔는데 2, 3번 페어는 다른 조 사람이었다. 지금 우테코에서는 대부분이 연극 조 사람들과 같이 점심을 먹는데, 5주차엔 우리 조원들 대신 페어네 조원들과 점심을 같이 먹었다.

같이 점심을 먹으면서 스몰토크 좀 하고, 내 얼굴도 상대들에게 익히고, 상대들의 얼굴과 닉네임도 외우려고 노력했다. 이 과정에서는 크루위키의 도움이 컸다. Shout out to CrewWiki developers.

여담이지만, 이전에 친구의 친구와 만났던 적이 있는데 이름을 외우지 못했었다. 나는 그냥 이름을 잘 외우지 못하는 편이라고 생각했으나, 그게 아니라 외우려는 노력을 하지 않았다는 말을 들었다. 나는 이 말에 굉장히 충격을 받았었다. 생각해보면 인간관계에서 별로 노력을 해 본 적이 없었던 것 같다. 그래서 크루위키로 상대방의 닉네임과 관심사를 조금 알아와서 이야기 소재로 써먹었다.

덕분에 조원이 아닌 다른 크루들과 매일 인사도 하게 됐고, 개발 이야기도 했다. 또 내 스터디 발표에 초대도 했다. 이정도면 꽤나 성공적인 활동이라 생각한다.

뜻 밖

3주차 페어 프로그래밍이 종료될 즈음, 페어에게 이번 미션을 같이 진행하게 돼서 정말 좋았다는 말을 들었다. 이런 말을 면전에서 들어본 것은 정말 오랫만이라(그게 아니라 없었을 수도 있다.) 갑자기 스턴에 걸렸었다. 물론 내가 페어 프로그래밍을 하면서 의견 교환 과정을 꽤나 나쁘지 않게 했다고는 생각했지만, 그정도인가 라는 생각도 들었다.

요약하자면

  • 내가 의견을 제시할 때, 반드시 적절한 근거를 대면서 말함
  • 상대의 의견을 들을 때, 무조건 수용하는게 아니라 그렇게 안했으면 좋을 근거, 혹은 그렇게 하면 더 좋을 근거를 대면서 말함
  • 생각의 폭이 늘어남(이 부분은 꽤나 놀랐다.)

아무래도 나는 비전공이고 프로그래밍 경력이 길지 않다 보니 페어들이 고민하는 과정에서 어떤 프로세스로 생각하는지 듣고 싶었다. 그런 부분들을 물어봤는데, 이런 부분에서 한번 더 생각할 기회를 준다고 느낀 것 같다. 내 생각도 말해야 어떤 부분이 별로인지 좋은 발상인지 들을 수 있으니 그렇게 했을 뿐인데, 좋게 봐줘서 너무 고마웠다.



이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.