정신없이 살다 보니 우테코를 시작한 지 어느덧 한 달이라는 시간이 지났다. 왕복 3시간 거리를 통학하는 것은 생각보다 쉽지 않았다. 정신을 차려보면 선릉역에 도착한 모습에 헛웃음이 나오기도 한다. 이렇게 어느 크루의 하루가 시작된다.
우테코 전에는 10시가 넘어서 일어나는 경우가 많았다. 눈을 떠도 1시간은 침대에 누워서 휴대폰을 하기 일쑤였다. 그러나, 한 달 사이에 늦잠은 하나의 과거가 되었다. 이제는 적어도 "출석"이라는 목적이 있기 때문이다. 이 또한 내면의 과업을 이룬 것으로 생각하며 소소한 뿌듯함을 느낀다.
사실 첫 주가 시작되기 전에 걱정이 이만저만이 아니었다. 내성적인 성격 탓에 사람들과 잘 어울릴 수 있을지 걱정이 많았기 때문이다. 하지만 쓸데없는 걱정이었다. 대부분의 크루들이 서로 배려하고 챙겨주기 위해 노력했다. 그 외에, 페어 프로그래밍을 통해 짝과 가까워지는 시간도 있었다. 덕분에 자연스레 우테코에 물들 수 있었다.
첫 주는 온보딩조로 시작하는데, 여기서 재미난 사실이 하나 있다. 온보딩 조 크루들의 MBTI가 모두 I로 시작한다는 것이다. 나중에 물어보니 다들 필자와 비슷한 고민을 하고 있었다고 한다.
우테코는 아이스 브레이킹을 위해 온보딩조끼리 연극을 준비해야 한다. 내향형 크루로만 뭉친 우리는 쉽지 않은 여정임을 바로 직감할 수 있었다.
하지만 전화위복이라는 말을 이런 상황에 사용하는 것일까? 오히려 내향적인 성격과 페어 프로그래밍을 합쳐서 주제를 구상해 냈다.
그 이름하여 팀명 아이(I)들의 우아한 페어 프로그래밍이었다.
최대한 재미 요소를 끌어내기 위해, 페어와 열심히 스크립트를 작성했다. 소심한 성격을 가진 페어끼리 프로그래밍하는 속마음을 보여주고자 했다. 각자 불만이 있어도 표현하지 못하고 끙끙 앓는다. 그러다가 페어가 자리를 비운 사이에 코드를 리셋해 버리는 내용이다. 열심히 완성한 아름다운 스크립트 내용에 조원들 모두 흡족해했다.
말로만 듣던 생존형 I들이 여기 다 모여있었다. 예상과 다르게 연습할 때 다들 연기를 정말 잘해주었기 때문이다. 덕분에 무대를 성공적으로 마무리할 수 있었다.
그렇게 일주일이 흐르고 온보딩이 끝났다. 아쉬워할 틈도 없이 Level 1을 함께 할 새로운 조가 편성됐다.
온보딩과 마찬가지로 페어가 매칭되고 미션이 주어졌다. 미션의 주제는 프리코스 미션 중 하나인 로또였다. 하지만 요구사항이 추가되니 새삼 어렵게 생소하게 느껴졌다. 단순히 숫자 6개를 매칭하는 프로그램을 작성하면 된다고 생각할 수 있다.
하지만 어떠한 프로그램을 구현하든 많은 부분을 고려해야 한다.
예를 들어, 올바른 MVC 패턴, 도메인 관심사 분리, 예외 처리가 있다. 이 요소들을 하나라도 놓쳐서는 좋을 게 없다.
똑같아 보이는 프로그램일지라도 다양한 구현 방식이 존재한다. 그러나, 이로 인해 유지보수성, 가독성, 재사용성이 결정된다. 그러다 보니 변수명 하나를 작성할 때에도 5분 넘게 고민하기도 했다.
누군가는 이런 과정이 스트레스처럼 느껴질 수 있다. 하지만 매 미션마다 성장하는 느낌을 받을 수 있기도 하다. 크게 세 가지가 있으며 다음과 같다.
새로운 페어의 코드 스타일을 엿볼 수 있다. 리뷰어도 새롭게 매칭되기 때문에 여러 현업자들의 의견을 들을 수 있다. 마지막으로, 미션별 강의를 통해 지금껏 몰랐던 지식을 배울 수 있다.
이러한 이유로 미션을 완료하면 그다음 미션이 더더욱 기대된다. 이 또한 우테코의 매력이라고 생각한다.
앞으로 남은 9개월을 어떻게 보내는지가 정말 중요하다고 생각한다. 어쩌면 평생의 개발자의 삶을 결정하는 시기일지도 모르기 때문이다. 지금은 많이 부족함을 느끼고 낙담하기도 한다. 하지만 다들 이렇게 시작하지 않겠는가.
불안하다면 리팩터링 하러 가기 전에 차 한 잔의 여유를 갖는 건 어떨까?
차를 입에 머금으며 우테코를 수료한 이후의 자신을 떠올려 본다.
'대외활동 > 우아한테크코스' 카테고리의 다른 글
[학습로그] 최신 Android에서는 왜 MVC 패턴을 사용하지 않는가? (1) | 2023.03.27 |
---|---|
[우아한테크코스] 함수형 프로그래밍(Functional Programming)이란? (4) | 2023.03.08 |
[우아한테크코스] 원시값 포장과 일급컬렉션은 무엇이고, 어디까지 감싸야 할까? (1) | 2023.02.27 |
[우아한테크코스] 2주차 - 점진적 리팩터링(Incremental Refactoring) (5) | 2023.02.24 |
[우아한테크코스] 2주차 - 로또(자동) 미션 회고 및 피드백 (4) | 2023.02.19 |