리모트 프로그래밍 부트캠프 코드스테이츠 첫 30일 회고록

paulkim·2020년 8월 26일
5

Bootcamp

목록 보기
1/2

1. 리모트 부트 캠프에 대한 정의

아마 우연이든, 아니면 관련 정보를 입수하기 위한 노력에 의한 것 이든, 이 글 까지 찾아보게 되었다면 아마 프로그래밍 부트 캠프가 무엇 인지에 대한 개념은 어느정도 이해하고 있을 것이다. 해서 간단하게 재차 설명하자면 프로그래밍 부트 캠프란 짧은 기간동안 고 강도의 훈련으로 취직을 준비시켜 주는 일종의 직업 훈련소이다.

그렇다면 리모트 부트 캠프란 무엇인가? 누군가는 온라인 부트 캠프라고 하는데 현재 수강하고 있는 입장에서 썩 와닿는 표현은 아니다. 보통 교육에 있어서 온라인이라는 표현이 많이 들어가는 온라인 강좌의 경우에는 자료나 커리큘럼이 온라인으로 제공되고 교육의 현장이 제공되지 않은 체 스스로가 알아서 따라가야 하는 그러한 형태를 떠올릴 것이다.

리모트 부트 캠프의 개념은 조금 다르다. 물리적으로 내가 있는 공간이 내 집 혹은 동네 카페라고 할지라도, 실제 경험은 마치 다른 사람들과 실제로 같이 공부를 하는 그런 느낌에 가깝기 때문이다. 물론 이 부분에 대해서는 개인 편차가 존재할 수 있다. 특히 코로나 바이러스로 인해 자택에서 근무하는 일이 많아진 현 시점에서, 분야가 업무가 아닌 교육과 학습 일 뿐이다. 사실상 지속적으로 스태프 분들 및 동기생 들과 소통하며 커리큘럼의 과정을 따라가야 한다는 점에서 자택 근무의 개념에서 크게 벗어나지 않는다.

그렇다면 나는 왜 부트 캠프를 통해 프로그래밍에 입문하게 되었는가?

2. 왜 부트 캠프를 통해 프로그래밍에 입문하고자 결정했는가?

그 것이 일터가 되었건, 다른 어떤 가치를 제공하기 위한 어떤 단체가 되었건, 하나의 조직에서 어떠한 역할을 수행하는 구성원이 된 경험이 있다면, 이에 대한 장점은 매우 뚜렷할 것이다. 내가 직접 처음부터 만들지 않아도 시스템이 존재한다는 것이다. 시스템이 갖춘 환경에서 무언가를 하는 것과 내가 스스로 시스템을 갖춰야 하는 것에는 매우 큰 차이가 있다.

첫째로 당연하게도 시간의 효율이다. 특히 부트 캠프에 관심이 있다면, 취직이 대부분 목적이기 때문에 시간적 효율이 얼마나 중요한지는 다들 이해하고 있을 것이다. 많은 사람들이 특히 금액 적인 부분에 대해서 굉장히 1 차원 적으로 접근하는 경우가 많은데, 만약 보편적인 통념대로 (미국에서의) 독학 - 부트 캠프 간의 학습 효율에 있어 약 1.5배가 난다고 가정 해보자.

만약 독학을 한다면 1년이 걸릴 취직을, 부트 캠프로 준비기간 1개월, 실제 수료 기간 5개월, 구직에 약 3개월 안에 끝낼 수 있다고 가정하면, 이미 4 개월에 대한 소득에 있어서 이득을 보는 것이다. 당연히 여기에서 그치지 않는다. 이 4개월간 발생 할 인맥, 실제 업무 환경에서의 학습 등 외적인 분야에서 오는 기회 비용도 무시할 수가 없는 것이다.

둘째는 환경적 요소이다. 개인적으로는 어처구니가 없었던 이야기 중 하나가, 애초에 부트 캠프나 국비 지원 프로그램 등을 통해서 성공할 수 있는 사람은 독학으로 성공할 수 있다라는 주장이다. 이 것은 나아가서는 시스템의 존재 이유를 근본적으로 부정하는 말이다. 물론 절대 독학으로 성공할 수 없다고 이야기 하는 것이 아니다.

조금 뜬금 없지만 역사 이야기를 해보자. 전쟁사에서 소총이 활을 대체하게 된 근본적인 이유는 성능 에서의 우월 함이 아니다. 비용이다. 여기서 비용은 우리가 단순히 생각하는 금전적인 것 뿐만 아니라, 시간이나 인력을 포함하고 있는 포괄적인 개념이다. 우리가 알고 있는 활, 칼, 도끼와 같은 냉 병기 들은 이것에 숙달해서 전투에 1 인분을 하는데 많은 시간과 개인적인 노력이 필요했다. 평균 3개월 에서 6개월 이면 숙달이 가능했던 소총은 "난이도"이 있었다.

난이도란 것은 잘 짜여진 시스템 하나만으로 상당히 낮출 수 있다. 독학 만으로 효율적 이게 공부할 사람이 있을 수도 있겠지만, 대게 사람들은 갖추어진 시스템에서 공부하는 것에 의해 더 효율적으로 공부할 수 있다. 또한 나와 비슷한 목적을 갖고 있는 동료들에게 서 얻을 수 있는 경쟁 의식과 동기 부여는 덤이다.

셋째는 Networking 이다. 이것을 직역하면 "인맥" 이 되어 버리기 때문에 전체적인 단어의 의미를 전달하지 못하는 것 같아 영어 단어로 이야기 했다. 당연히 인맥 적인 요소도 중요하지만, 누군가 나라는 사람에 대해 인식을 하고 있다는 것과 없다는 것은 사회적으로 굉장히 큰 차이다. 실제로 직원 면접을 직접 해 보았던 입장에서 얘기하자면, 어차피 면접이라는 것은 개개인의 능력은 완벽하게 파악할 수가 없고 최소한 이 사람의 성향이 우리 회사와 맞나, 기본적인 업무 이해도는 갖추어져 있는지 여부를 보는 자리이다.

이런 상황에서 대부분의 지원자는 폭발과 테러가 난무하는 시리아 분쟁지역에서 살아남아 찢어지게 가난한 상황에서 이 회사 만을 위해 이를 악물고 공부해 면접에 온 사람이 아닌 이상, "거기서 거기" 로 귀결이 되는 것이 현실이다. 이 때 만들 수 있는 가장 큰 'Difference Maker' 는 내가 이 사람을 어떠한 경위를 통해서 든 구면으로 인식하고 있는지에 대한 여부이다. 이 부분은 단순히 얼굴을 아는 문제가 아닌 들어본 적이 있나, 같은 학교 출신인가 여부 등 역시 포함된다.

따라서 부트 캠프를 통해 꼭 스태프 분들이 아니더라도 누군가를 알고 있다는 것은 구직 활동을 포함한 이후의 커리어에 있어서 학비의 가치를 훨씬 웃도는 자산이 될 수 있다.

물론 적어도 한국에서는 굉장히 뚜렷한 상대 비교 대상이 있다. 이른바 "국비" 시스템이다. 이 프로그램은 외국인인 내 입장에서 이미 고려대상이 아니었기 때문에 깊게 생각해본 바 가 없으니, 이 부분에 대해서는 지인에게 들은 내용 정도로만 축약해서 이야기 하도록 하겠다. 내가 생각하는 국비 시스템의 굉장히 큰 장점이자 문제점은 학비가 무료라는 것이다. 예를 들어서 프로젝트와 같은 팀에 필요한 구성 요원들 일부는, 만약 도중 그만두게 되거나 성공적 이게 수료하지 못하더라도 단순 비용 적인 측면에서 리스크가 적기 때문에 이를 쉽게 생각할 수 있다.

예를 들어서 포트폴리오를 만들어야 하는데 동기생 중 백엔드를 하고 싶어하는 인원이 없다면? 어떻게든 Firebase 등을 이용해서 프로젝트를 완성한다고 하더라도, 결국 아쉬운 프로젝트가 되고 말 것이다. 이런 상황이 발생했을 때, 정말 열심히 했던 생존 인원들은 그들의 열정에 100% 보상 받지 못하는 상황이 발생하는 것이다. 물론 이런 케이스가 흔한 것인지, 아니면 정말 가끔 발생하는 것인지는 말할 수 없지만, 대게 리스크가 없는 상황에서 (혹은 인식을 못하는 상황에서) 생산적인 활동은 효율적인 측면에 있어서 지장을 받는다는 것이 대부분의 연구 결과이다.

3. 왜 하필 코드 스테이츠 인가?

참고로 나는 절대 맹목적인 pro 부트 캠프도 아니며, 맹목적인 pro 코드 스테이츠도 아니다. 내가 코드 스테이츠 에서 수강하고 있다는 사실을 제외하고는 해당 블로그 글과 코드 스테이츠 간의 연관성은 전혀 존재하지 않는다. 나는 사회생활 경험이 있기 때문에, 그만큼 전혀 다른 분야인 개발에서도 아는 지인이 꽤 있다. 이들 대부분이 공통적으로 하는 말은, "코딩 배우려면 스스로 프로젝트를 하면서 배워야 한다. 이론 수업 만으로는 개발자가 되기 힘들다" 혹은, "프로그래밍은 학습 분야가 너무 많아서 자기 주도적으로 학습을 못하는 사람은 개발자가 되기 힘들다" 등이다. 첫째로 코드 스테이츠의 자기주도 학습이라는 교육적 이념은 내가 조언을 받았던 내용, 그리고 나아가 내 학습 철학과 일치했다.

코드 스테이츠가 리모트 환경에서 진행된다는 부분도 선택에 있어서 어느 정도의 역할을 한 것 같다. 이 것은 내가 사람을 대하는 것이 힘들어서, 혹은 내가 외국인이어서 가 아니라 시간적인 개념에 있어서다. 일반적으로 통학을 하는데 걸리는 시간이 하루에 2시간이라고 가정하면, 코드 스테이츠 수료기간은 20 주 동안 무려 100 시간을 낭비하는 것과 같다. 일반적으로 프론트앤드 혹은 백앤드를 직업에서 요구하는 수준으로 준비하는데 각각 최소 1000 시간이 소요된다고 하는데, 이는 이 시간의 10% 에 속하는 결코 무시할 수 없는 비중이다. 이 시간은 나에게 있어서 휴식 시간이 될 수도, 공부 시간이 될 수도 있기 때문에 시간을 절약할 수 있다는 측면에서 리모트 환경에 더 매력을 느꼈다.

마지막으로 여타 한국의 교육기관 에서는 찾아보기 힘들었던 ISA(Income Share Agreement) 를 제공한다는 측면이었다. 이 부분은 단순히 내가 이 프로그램에서 직접적인 혜택을 받아 서가 아니라, 역시 간접적인 이유다. ISA 를 제공하는 교육 기관은 재학생이 취업을 해야 수익을 얻을 수 있는 구조다. 따라서 코드 스테이츠와 나의 이해관계가 같아 진다면 내가 열심히 한다는 가정 하에, 코드 스테이츠 역시 나를 상대적으로 좋은 대우를 해 주는 회사에 취직시켜 주는 것이 최대의 목표일 것이다. 또한 ISA 와 같은 상대적으로 위험성이 있는 시스템을 채용한다는 것은 곧 회사의 management 가 진취 적인 사고를 할 가능성이 높다는 의미로 해석해 볼 수 있다.

물론 ISA 모델의 경우 계약을 교육기관 - 은행권에서 서로 사고 파는 사례도 미국에서 많이 존재하기 때문에, 여러 문제들이 있지만 이 부분에 대한 것은 나중에 다루어 보도록 하겠다.

4. 1달 간의 소감

코드 스테이츠 1달 간의 경험을 통해 깨우친 것은, 짧은 기간에 커리어 체인지를 한다는 것이 상상보다 더 어렵다는 것이다. 단순히 개발 분야의 문화에 적응하는 것의 문제가 아닌, 학습량, 정신력 적인 측면에서도 많은 것이 요구된다. 만약 이 글을 읽고 있는 여러분이 5 개월 만에 회화와 직업적 소통에 무리가 없을 정도로 스페인어를 배워야 한다면? 이렇게 가정하면 편하다. 프로그래밍을 배운다는 것은 마치 새로운 언어, 그리고 체계를 배우는 것과 같이 느껴졌다. 물론 시간이 흐르면서 자연스럽게 습득이 되겠지만, 짧은 기간동안 제로로 시작해서 숙련자가 된다는 것이 얼마나 힘든 일인지를 실감할 수 있다. 물론 그 이면에는 내가 그만큼 배우는 것이 많다는 것이니 긍정적인 요소이기도 하다.

동료는 매우 중요하다. 이것이 또한 내가 지난 1달을 겪으면서 다시한번 느낀 부분이다. 많은 사람들이 우리가 일상에서 만나는 사람들을 "거쳐가는" 사람들로 인식하기 마련이다. 하지만 좋은 동료의 존재가 특히 부트 캠프 환경에서 학습에 대한 큰 영향을 끼치는 것이 내가 느낀점이다. 이는 단순히 동기생에 대한 부분 뿐만 아니라 스태프 분들에 대한 것도 마찬가지다. 적어도 내가 있는 부트캠프에서 스태프 분들은 도움을 주는데 매우 적극적이며, 이들을 통해서 단순히 지식적인 측면 뿐만 아니라 정신적인 측면에서도 굉장히 큰 도움이 되기도 한다. 리모트 부트캠프지만, 훌륭한 사람들과 만나 이들과 소통하며 서로 발전하는 것은 전체적인 학습 경험에서 굉장히 큰 일부다. 코드 스테이츠의 커리큘럼 에서도 이 부분을 굉장히 강조하기 때문에 개인적으로 굉장히 잘하고 있는 부분이라고 생각한다.

마지막으로 코드 스테이츠의 마케팅 실수에 대한 부분을 한 가지 이야기 하고 싶다. 사전 준비가 전혀 필요 없이 제로부터 시작할 수 있다는 부분이다. 사실 이것은 마케팅 실수라기 보다, 개인이 결코 착각을 해선 안될 사항이다. 또한 이 부분은 내가 굉장히 큰 후회를 하고 있는 부분이기도 하다. 미국에서 부트캠프 과정을 수료하기 전에 괜히 약 3-4개월 간의 Pre-Bootcamp 스터디 모임들이 많은 것이 아니다. 물론 제로 부터 시작해서 절대 불가능한 것은 아니겠지만, 사전에 최소한 2-3 개월 가량의 준비를 하고 부트캠프 과정을 시작하면 훨씬 더 많은 학습을 효율적으로 할 수 있다고 생각한다. 만약 본인이 부트 캠프 과정을 수료하려고 생각하고 있다면, 꼭 사전 공부를 어느정도 하고 들어가기를 강력하게 권한다.

0개의 댓글