99일간의 부트캠프에 승선했다.
벌써 1주일이 됐지만 얻은 것은 예상보다 많았다.
뜻밖의 행운이었다.
이번 기수부터 심화반이 개설됐다고 하여 당연히 신청을 하였고, 커리큘럼 또한 굉장히 마음에 들었다.
프로젝트가 기존 3개에서 2개로 줄어드는 대신, 알고리즘과 자료구조를 4주동안 진행예정이고, 이곳에선 주특기라고 불리는 기술 하나를 깊게 파고들 수 있었다.
주특기는 Spring, NodeJS, React 세 가지 중 고르는 것인데, Spring은 이미 지겹도록 써봤고(재미없다), NodeJS도 구미가 당겼지만 최근 몇년간 프론트엔드를 거의 장악하고 있는 React를 평소 배우고 싶었다. 그래서 개인적으로 React-Native도 잠깐 공부를 했었는데 이번 기회에 본격적으로 배울 기회가 생긴것이다.
프로젝트 진행 또한 순조로웠다. 팀원들이 모두 열심히 하였고 이대로 가면 계획했던 모든 기능을 구현하고 기한 안에 마칠 수 있을 것 같았다.
하지만 3일 차에 팀장을 맡았던 분이 개인적인 이유로 하차를 하게 되었고, 어쩔 수 없이 구현하지 못한 기능을 몇 개 남겨둔 채 마무리하게 된다.
그래도 항해측의 의도는 첫 시작이니 짧은 기간 안에 프로젝트를 진행함으로써 개발공부에 몰입하게 하는 것이었고, 때문에 오랜만에 몰입의 즐거움을 느낄 수 있었으니 만족했다.
5일차부터 제일 두려웠지만 제일 기대했던 알고리즘 주차를 시작했다. 팀이 재편성 되었고, 이번 팀원 구성 또한 만족도가 굉장히 높았다.
컴공출신인 분이 계셔 알고리즘 공부에 있어 많은 도움이 될 거 같았고, 실제로 많은 도움을 받고 있다. 그 분 또한 정보를 공유하는 것에 즐거움을 가지신 분 같았다.
항해에서 준 책으로 혼자 공부하고 팀원끼리 스터디도 하고, 저녁엔 강사님의 라이브 강의까지 있었다.
크게 깨달은 것은 그동안 내가 한 알고리즘 공부는 겉핥기 였다는 것이다. 이론 공부를 하기 싫어 문제만 풀고, 깊게 파고들지 못하였다. 제일 기본이 되는 배열, 문자열, 시간복잡도와 공간복잡도 조차 제대로 알고 있지 못했으니 스스로에게 너무 부끄러웠다.
책을 정독하며, 팀원들이 문제를 풀 때 생각하는 방식이며, 강사님의 이론 강의를 듣고나니, 이렇게 기본 개념이 확립되지 않으니 그동안 푼 알고리즘이 얼마나 비효율적인 코드들이었는지 깨닫게 되었다.
이걸 깨닫고 나니, 이론 공부가 재밌어졌다.