우아한 테크 캠프 5기
- 벌써 8주간의 길면 긴, 짧으면 짧은 여정이 끝났다.
- 아쉬움이 깊게 남으면서도 후련함이 몰려온다.
- 이를 수료하고 난 내 모습의 회고를 남겨보고자 한다.
우테캠 합격하기까지
안드로이드 시작하고 약 5개월정도 지나면서 운이 좋게도 금년도부터 우아한 테크 캠프에 안드로이드 트랙이 생겼다는 소식을 접하게 되었다.
모집을 시작하고 즉시 지원을 하게 되었고, 1차 알고리즘 코테를 보았다.
코테 준비를 크게 따로 준비하지 않았기도 했고 지난해 지원했을 때 엄청난 경쟁률에 떨어졌었기에 큰 기대감을 가지고 있진 않았다.
별 기대없이 기다리고 있던 중에 메일함을 들어가봤더니 합격소식을 전해받았다.
운이 좋게도 알고리즘 코테에 통과를 한 것에 큰 기쁨을 느끼고 2차 과제 코테를 준비했다.
과제 코테는 크게 3개의 미션이 주어졌었는데, 주어진 템플릿에 맞추어 3개의 미션을 완수하는 것이었다.
그 중 마지막 미션은 추가점수에 들어가는 것이라 나는 2개를 완벽히 만드는 것에 초점을 두고 개발했다.
첫번째 미션은 약 30분만에 완성을 했지만, 두번째 미션에서는 잘 사용해보지 않은 Radio Button이 말썽을 부려 모든 시간을 까먹어버렸다.
결국 완성을 하지 못했고, 그대로 제출을 하게 되었다.
하지만 예상을 깨고 마지막 면접까지 가게 되었다..
그 이후 면접을 준비하게 되었는데, 면접은 회사 면접처럼 인적성 위주로 준비를 했었다. (1분 자기소개 등..)
실제 면접에서는 인적성 위주보다는 2차 과제에 대해서 많이 물어보았다.
‘왜 이렇게 코드를 작성했는가’ / ‘RecyclerView를 사용했는데 왜 이것을 사용을 했고, RecyclerView가 무엇인가’ 등 과제에 대해서 많이 물어보았고 관련된 개념들을 꼬리물기식으로 나아갔다.
면접이 끝나고 결과를 큰 기대없이 놀고 있었다.
그러다 여름 선물로 합격소식을 받게 되었다.
이 순간만큼은 이번 년도 최고의 하이라이트지 않을까..
캠프의 마무리
마무리한지 꽤 지났고.. 이제서야 작성한다.
캠프가 끝나고 회식에서 그간의 회포를 모두 풀었다. 프로젝트를 하면서 힘들었던 점, 앞으로의 방향, 많은 이야기를 했지만 그 엄청난 양의 프로젝트를 진행하면서 서로가 서로에게 악감정이 하나같이 생기지 않았다라는 것은 느낄 수 있었다.
정말 열정이 가득하고 능력과 성격 모두가 좋으면서 안드로이드 개발자들끼리 모이는 이런 자리가 또 다시 있을까.. 라는 아쉬움이 몰아친다.
캠프를 하면서 안드로이드 개발 기술적인 실력의 향상은 물론이고 앞으로 내가 이 개발공부를 어떻게 할까에 대한 방향성이 잡힌 큰 계기가 되었다.
지금껏 플러터, 스프링, 현재의 안드로이드까지 겉핥기식으로 개발해오면서 구현에만 목적을 두고 달려왔다.
특히 원하는 동작을 구현하기 위해서 구글링을 통해 코드의 구성을 보지않고 그저 복붙만을 반복해왔다.
어떻게 동작하는지는 상관없었다. 그저 돌아가기면 하면 될 뿐인 1회성 코드였다. 그렇게 스파게티 코드가 되고, 다시 돌아보지 않을 코드가 되어 깃허브 레포 가장 심해에서 더 이상의 업데이트가 이루어지지 않는다. 이대로 괜찮은가?
이에 대한 답은 알고 있었다. 답은 알고 있었지만 어떻게 해야할지 몰랐다. 무엇을 공부해야할지.. 어떻게 코드를 짜야할지..
그 손을 내밀어준 곳이 이 캠프다. 무지성으로 코드를 짜던 내게 한 줄의 코드에도 이유를 찾게 해준 곳이다.
프로젝트를 진행하며 매일 일일 회고를 통해 프로젝트 머지 등 수행하기 전에 팀원께 나의 코드를 이해시키기 위해 내 코드를 더 이해해야만 했다.
왜 이 코드가 내가 선택한 최선인지, 더 나은 방법은 없었는지. 그러고 나면 나의 한정된 시각에서 벗어나 팀원의 새로운 시각으로 내 코드를 바라볼 수 있었다. 내가 짠 코드지만 더 깊이 이해할 수 있는 시간들이었다.
또, 그룹별 회고에서는 내 기술적 결함을 논의하면서 더 효율적인 코드를 짠것에 자랑을 하며 다른 팀에서 내가 모르는 기술을 사용했을 때 호기심이 생겨 우리도 사용했던 그런 모든 경험들은 재밌었고, 그 시간들이 전혀 아깝지가 않았다.
수업에서는 무엇이 정답이다를 알려주는 것이 아닌, A와 B를 알려주고 어떤 것이 더 나을지 스스로 보고 판단하고 우리에게 질문을 던진다.
단순히 정보 제공의 목적이 아닌 학습의 자립을 세워주었다. 물론 기술에 대한 이야기도 했다. 하지만, 그 기술이라 함은 새로운 기술이 아닌 그 기술의 본질이다.
지금껏 나 혼자서 Activity가 무엇인가를 스스로 생각을 해보았는가. Context가 무엇인가를 생각해 보았는가. 당연하게 사용했던 것들은 당연하지 않았다는 것을 깨닫게 해주었다.
항상 강조해서 말했던 말이 있다. ‘코드에 마법은 없다.’ (워딩이 맞나..?)
지금까지의 개발들은 마치 마법처럼 선언만 하면서 뚝딱 만들어져왔다.
하지만 중간에 문제가 발생하면 이 원인을 찾는 것은 코드를 짜는 것보다도 더 많은 시간과 노력이 들어가게 된다.
내가 사용하는 것이 무엇인지를 더 정확히 알고 무엇을 목적으로 개발을 하는 것인지 개발 방향을 알고 개발하는 것은 위 같은 문제들을 더 쉽게 해결할 수 있을 것이다.
그 사실들을 일깨워준 것이다.
정리하면, 이 캠프에서 프로젝트를 통해 내 코드의 이유를 찾아주는 연습을 했고, 수업을 통해서 내가 쓰는 기술들이 어떻게 동작하는가를 알아가는 방법을 학습했다.
분명 더 많은 것들을 보고 배웠는데, 수료하고 꽤 이후에 쓴 게으른 나를 탓하면서 이 글을 마무리 하고자 한다. 앞으로 캠프에서 배웠던 이 마음가짐과 공부하면서 실제로 내가 부족하다고 느꼈던 부분들을 더욱 메꿔야될 필요성을 느끼고 공부를 할 예정이다.
티스토리에 공부할 내용들을 정리해두고 하나씩 처리해 나가자.
ps. 이후 안드로이드 개발 신입을 지원하게 되었고, 그 결과는 처참히 떨어졌다..
그 만큼 내가 지금 부족하다는 것일거고, 면접에서 그것을 뼈저리게 느꼈다.
캠퍼 중 누가 붙은지는 모르지만 정말 그 누구가 붙더라도 이상할 것 없을 정도로 대단한 분들이었기에 나는 이만 박수치면서 퇴장한다.
혹여 우아한 테크캠프 모바일 1기 분들 중 이 글을 보신다면 2달 동안 정말 고생많으셨구 각자의 위치에서 최선을 다하고 다시 모일 수 있기를 바라겠습니다..!
모두들 화이팅!!