회고/우아한테크코스

우테코 레벨1 생활기

시작


올해는 함께 자라기라는 목표를 세우고 달리기로 결심했었다.

우아한테크코스에 합류하기 전 1년간은 혼자서만 열심히 공부했다. 누군가와 프로젝트를 하기엔 아직 부족하다고 생각했다. 잘하는 사람과 같이 하고 싶으면 내가 먼저 잘해져야겠다고 생각했다. 한참을 혼자 공부하다 보니 내가 공부하고 있는 속도가 맞는지 궁금했고, 공부하는 방향이 맞는지도 궁금했다. 하지만 이제는 다르다. 우아한테크코스에서 함께 자라기의 성장 속도는 지난 1년간의 혼자 자라기와는 차원이 다르게 빠르다. 그래서 지난 한 달간, 아니 약 두 달간 경험했던 우테코가 함께 자라는 방식을 적어보고자 한다.

 

 

 

아싸인 내가 사람들과 잘 어울릴 수 있을까


지난 일 년간 아싸코딩을 해왔다. 우테코 합격 메일을 받은 날 정말 날아갈 듯이 기뻤다. 동시에, 내가 모르는 사람들과 게더타운에서 이야기를 나누고 개발이야기를 할 수 있을까 걱정이 들었다. 결론부터 말하자면 그런 걱정을 했던 것이 민망해질 정도로 우테코의 시스템이 좋다. 우테코 첫날은 하루종일 아이스브레이킹만 할 정도로 정말 한국인 패치가 잘 되어있다. 둘째 주에는 보이는 라디오를 통해 서로의 밑바닥까지 보여준다. 원래 밑바닥을 보여주면 부끄러움이 사라지게 되어있다. 게다가, 같은 조를 매칭해준다. 어딘가에 소속되어 있으면 서로 친밀감이 높아질 수밖에 없다. 매일 데일리 미팅을 하는데, 서로 돌아가면서 리드를 한다. 10명이 넘는 사람들을 데리고 미팅을 리드하는 경험을 (반)강제적으로 하게 된다.
(반)강제적으로 하게 되는 이 우테코 환경이 정말 좋다.

 

 

 

자바로만 복잡한 어플리케이션 만들어보기


딱 작년 이맘때 서비스를 만들겠다는 포부를 가지고 자바 문법만 떼고난 후 바로 스프링강의를 결제했다. 스프링과 웹 어플리케이션 강의이기 때문에 아주 간단한 도메인만 가지고 웹 어플리케이션을 만들었다. 이정도 도메인으로는 서비스를 만들어 낼 수 없을 것으로 생각했다. 그래서 자바를 좀 더 알고 싶다는 생각과 프레임워크에 의존하지 않고 자바로만 개발해보고 싶다는 생각이 들었다.

레벨1에서는 자바 언어와 객체지향설계를 중점으로 학습한다. LOL로 따지면 CS 파밍인 것 같다. 화려한 피지컬(프레임 워크)을 갖고있어도 같은 피지컬에 CS를 더 먹은 챔피언보다 약할 수밖에 없다. 난이도 있는 미션들을 통해 자바에서 제공하는 기능들로 어떻게 객체지향적인 설계를 할 수 있을까를 끊임없이 고민한다. 처음에는 각박하게만 느껴졌던 객체지향생활체조원칙 이 점점 익숙해지는 과정이다.

 

 

 

페어 프로그래밍 : 하나의 코드를 둘이서 짠다.


하나의 프로젝트를 여러 명이 분업해서 하는 방식은 생각해봤어도 하나의 코드를 둘이서 같이 짠다는 생각은 한 번도 못해봤었다. 첫 페어 프로그래밍은 내가 가지고 있던 모든 습관을 한 번씩 더 되묻게 되는 시간이었다. 당연하다는 듯이 작성했던 커밋메세지도 한글로 쓸지, 영어로 쓸 지서로 조율해야 했다. 어디서부터 어떻게 코드를 작성할지 하나하나 물어가며 조율했다. 코드 한 줄을 작성하기 위해 서로의 근거를 가지고 설득해서 더 좋은 코드를 선택해 작성한다. 페어 프로그래밍을 통해 내 나쁜 습관을 잡고 상대방의 좋은 습관을 내 것으로 만든다. 미션마다 페어가 달라지는 우테코의 크루원들은 점점 상향 평준화가 될 수밖에 없다.

 

 

 

내 코드를 현업자가 읽고 리뷰해준다.


우테코에 합류하고 싶은 큰 이유 중에 하나였다. 혼자 공부하면서 내 코드가 맞는지 확인받고 싶어서 코드리뷰를 돈 주고 받아보려고 했었다. 가격은 30만 원 정도였고 바로 포기했다. 하지만 우테코는 무려 공짜다. 장담하건대 30만 원 코드리뷰보다 훨씬 퀄리티가 좋을 것으로 생각한다. 애초에 개발자 경력이 전혀 없지만 코드리뷰를 받아본 학부생이 몇 명이나 있을까? 피드백을 주면 받아서 고치고 때론 리뷰어에게 내 코드가 맞다고 대들어 보기도 한다. 그러다가 친절한 몽둥이찜질을 맞고 더 성장한다. (우테코 크루들은 이것을 M(맞)DD라고 부른다.)

 

 

 

글쓰기


"개발자는 글도 잘 써야 한다." -포비
개발자가 글을 써야 하는 이유는 여러 가지가 있다. 기억에 의존하지 않고 기록에 의존해야 하고, 내가 얼마나 알고 있는지 내가 쓰는 글을 통해 알 수 있다. 이미 이를 깨닫고 작년부터 블로그에 깨작깨작 글을 쓰고 있었다. 하지만 작년과 달라진 점은 '무엇을'과 '어떻게'이다. 이제는 내가 '무엇을' 모르고 있는지를 깨닫고 '어떻게' 해결했는지 쓰기 시작했다.

우테코에선 어떤 것이든 할 때마다 회고를 진행한다. (강의 회고, 페어 회고, 미션 회고, 레벨 회고 등) 회고를 통해 이번에 내가 무엇을 깨달았는지, 아쉬운 점은 뭐였는지 되새기고 성장하게 된다.

참고로 우테코에선 글쓰기마저 리뷰를 받는다. (우테코가 글쓰기에 얼마나 진심인지 알 수 있다.)

 

 

 

마무리


포비가 포수타(포비와 수다타임)에서 이런 얘기를 했었다.
"많은 기업은 개발자의 성장에 투자하지 않으면서 좋은 개발자를 뽑기 원한다."

요즘은 우테코를 따라 하려는 기업들이 정말 많아졌으면 좋겠다는 생각을 한다. 나보다 더 성장하고 싶은 취준생들이 분명히 있을 것이고 나는 그중에 운좋게 이번 기회에 뽑혔을 뿐이다. 정말 성장하고 싶은 사람들에게 더 많은 기회가 주어졌으면 좋겠다.

내가 지난 두달간 얼마나 행복한 생활을 했는지 지금까지의 글에 다 적혀있을 것이다. 하지만 행복하다고 해서 힘들지 않은 것은 아니다. 우테코는 힘들어서 좋다. 우테코가 힘들어야 "6개월 만에 편하게 마스터하는 스프링 백엔드"을 절대로 믿지 않은 내 신념이 증명이 된다. 가끔 정신이 해이해질 때마다 치열하게 성장하고 싶던 작년의 나를 생각한다. 벌써 10개 월중 2개월이 끝났다. 정말 좋은 기회가 나에게 주어진 만큼, 남은 8개월간 고통을 즐기며 성장해야겠다.