부스트캠프 웹모바일 6기 - 모바일 Android(Kotlin) 챌린지 회고
7월 19일부터 8월 13일까지 진행됐던 부스트캠프 웹모바일 6기 챌린지 과정을 끝마치고 올리는 늦은 회고문이다. 현재는 멤버십 과정에 입과해 학습 진행중이다.
지원할때의 상황
부스트 캠프를 지원할때 나는 싸피(웹 풀스택)를 한 학기 이수한 후 안드로이드 직무로 5개월동안 인턴을 했고, 이와 별개로 일년반정도 사이드프로젝트 팀에서 서버+안드로이드 개발자로 일을 하고있는 상황이었다.
인턴생활을 했던 회사는 프로그래머스 서머코딩을 통해서 합격한 스타트업으로 인턴 2개월이 끝난 후 추가로 3개월동안 계약직으로 일을 했는데, 정규직 오퍼를 받았으나 아직 대학원 생각이 있기도 했고 조금 더 공부를 해보고 싶어서 거절했다.
또, 취준을 적극적으로 하고 있지 않았지만 지원했던 두 곳 (카카오 추천팀 인턴과 cj enm 정규직 공채) 모두 최종 면접에서 탈락했다.
지원 이유
먼저 작년에 싸피에서 자바와 웹 풀스택 공부를 하면서 직무를 안드로이드로 확실히 정하게 됐다. 싸피와 부캠은 장단점이 극명해서 둘이 비교하는 포스팅을 추후에 올릴 예정이지만, 간단하게 미리 말하자면 커리큘럼 자체는 너무 좋은데 내용이 내가 원하는 분야가 아니라는 것이 너무 아쉬웠다. 초반에는 자바로 알고리즘 수업을 하는데, 그동안 파이썬으로 코테 준비를 했던 나로서는 자바도 익숙하지 않은데 알고리즘까지 풀어야해서 손발이 꽁꽁 묶인채로 문제를 푸는 답답한 느낌이었다.
스스로 선택한것이긴 했지만 웹을 하고싶어서 선택한게 아니라 [전공자과정: 자바(스프링) / 비전공자과정: 파이썬(장고) / 임베디드] 이렇게 나뉘어 있었기 때문에 그랬던거고 애초에 나는 웹으로 취업을 할 생각이 없었다.
그래서 낮에는 싸피를 하며 날고 기는 애들 사이에서 웹 과정을 겨우겨우 따라가고, 저녁엔 안드로이드 공부를 따로 했는데 이 상황이 너무 지치고 체력적으로도 힘들었다. 심지어 흥미도 없는 공부를 하고 매주 시험을 보자니 스트레스만 받고 더이상 개발이 재밌지가 않았다. (물론 지금 돌이켜보니 제법 다 도움이 됐습니다)
또, 인턴과 프로젝트를 진행하면서 원하는 기능을 구현하는것 까지는 큰 어려움 없이 가능한 실력이 됐지만
과일깎기로 비유해보자면 사과로 토끼를 만드세요~ 라는 말에

다른 사람들은 다 이렇게 만드는데

내 토끼만 이런 기분이었다.
나도 사과의 속성, 사과를 깎는법, 어떤 과도를 사용해야 하는지 등등 이론은 다 배웠는데! 심지어 나는 곡선썰기까지 하고 눈도 팠는데!
저렇게 해야하는지 알았으면 저렇게 했을건데 그걸 몰라서 오히려 남들보다 노력은 더 해놓고 결과물 자체는 현업에서 원하는 모양이 아닌 상황이라고 하면 확 와닿으려나 ..?
결론적으로는 현업에서 사용하는 코딩 스타일과 패턴 등의 방식을 익히고 싶었고, 안드로이드와 코틀린을 처음부터 차근차근 공부하는 기회를 통해 현재 조각조각 알고있는 지식들을 하나로 이어보고싶었다.
선발과정


서류를 제출한 모든 인원이 응시료만 납부하면 1차 코딩테스트를 치게된다. 그 후에 2차 코딩테스트때는 대상자에게만 안내 메일이 온다.
시간이 오래 지나서 기억이 잘 안나는데 1,2차 모두 IDE사용이 불가했던거 같고 인터넷 검색은 가능했다. (확실하지 않음. 진짜 기억이 잘 안난다)

커리큘럼

챌린지 기간동안에는 어떤 분야를 골랐든 모두 cs 기본 지식에 대한 미션을 한다. 물론 분야별로 사용해야하는 언어는 다르다.
수업을 듣는 방식이 아니라 매일 주어지는 미션을 해결하기위해 스스로 학습하고, 미션을 해결한 후 다른 캠퍼들과 코드리뷰를 진행하는 방식이다. 릴레이 프로젝트를 진행하는 금요일을 제외한 월화수목에는 4주동안 총 16개의 미션을 수행한다. 미션은 컴공 기초지식에 대한 주제들로 고루고루 나왔다.
미션의 난이도는 한 두 시간내로 뚝딱 끝낼정도는 절대 아니었다. 미션마다 편차가 있긴 했지만 어려운 미션이 나온 날에는 마감시간인 7시에 제출을 하고도 밤 늦게까지 계속 붙잡고 있는 사람들이 많았다.
좋았던점
일단 미션의 주제들이 다 언젠가는 한번씩 정리해둬야지 싶었던 내용들로 이루어져있어서 챌린지 과정동안 반강제적으로 미뤘던 공부를 하게됐다.
또, 진행 방식이 나와 굉장히 잘 맞았는데 물론 사람마다 성향이 다르겠지만 개인적으로는 하루종일 수업하고 시험보는 방식이 아니라서 좋았다. 나는 수업시간에 배우는대로 암기하기보단 혼자 깊게 파고들어서 이해를 해야지 공부했다는 느낌이 들기 때문이다. 충분히 고민하고 여러 시도를 할 시간이 있었던게 단기간에 많이 성장 할 수 있었던 이유라고 생각한다.
코드리뷰를 진행하면서 다른 사람은 나와 똑같이 주어진 시간속에서 어떻게 해결했나 보면서 배우기도 했다. 늘 내가 모르는게 있으면 우리 중 누군가는 알고있다. 다만 모두가 비슷하게 해결했다고 해도 모두 확신이 없는 상황에서는 우리가 맞게 한건지 확인할 방법이 없어서 좀 아쉽긴 했다.
학습 커뮤니티 분위기가 형성되는것도 좋았는데 슬랙에 질문을 하러 들어가면 이미 다른 사람이 비슷한 질문을 올려놨고, 어려운 미션이 나온 날에는 다들 당근을 흔들고 있었기 때문에 나만 어려운게아니구나 생각이 들어서 마음을 다잡을 수 있었다.
아쉬웠던점
매일의 미션에 대해 정확한 명세가 주어지지 않는다는 점이 어려웠다. 싸피에서는 피디에프로 아예 변수명까지 명세가 주어졌었다. 이정도까지 원한건 아니지만 부캠을 하면서 처음 미션을 받으면 그래서 어떤 인풋이 들어갔을때 어떤 아웃풋이 나와야 한다는것인지를 파악하는데만 해도 오래 걸렸었다.
물론 마스터분들이 ‘미션의 의도는 정답과 일치하는 코드를 짜서 내는것이 아닌 그 과정속에서 학습하고 발전하는것’이라고 말씀하시고부터 조금 부담을 덜었지만 그래도 챌린지에서 절반의 인원만 멤버십에 선발된다는 이전의 후기들을 본 이후라 누구보다 명확한 정답을 제출해야 선발될 것 같다는 걱정은 매일 했다.
또, 스스로에게 아쉬웠던 점 중 하나는 3주차가 시작할때쯤 <코틀린 인 액션> 책을 구입했는데 읽다보니 미리 읽었으면 첫주부터 미션이 조금 더 수월했을거 같다는 생각이 들었다. 물론 이미 다 아는 사람을 타겟으로 하는 프로그램이 아닐것이니 지금이라도 알게된것이 다행이라고 생각한다. 덕분에 책읽는 습관을 들여서 다음달부터는 <이펙티브 코틀린>과 새로운 안드로이드 책을 읽을 예정이다.