부트캠프로 개발자 되기
군인이 되기 전 꼭 거쳐야 하는 과정이 있다. 바로 '신병훈련소'이다. 자유가 박탈당한 체 약 한 달간의 교육으로 사회에 묻은 때를 벗기고 군인으로 거듭나는 과정이다. 훈련을 하기 위해서는 일명 A급 전투복은 관물함에 모셔놓고 훈련복을 지급 받이야 한다. 산더미 같은 낡은 군복이 강당에 쌓여 있다. 교관은 그곳을 가리키며 말한다. "지금부터 자신에 사이즈에 맞는 옷을 10분 안에 찾습니다. 실시!" 명령과 동시에 수 십 명의 군인들이 우르르 뛰어가 가장 괜찮은 옷을 찾아 입는다. 대부분에 사이즈는 크다. 처음에는 몸에 안 맞는 훈련복이 어색하고 미칠 것 같지만 며칠 지나다 보면 진짜로 마치 자기 사이즈처럼 편안해진다. 그렇게 헐렁한 옷이 몸에 맞혀지듯 신병훈련소는 억지로 일반인을 군인으로 한순간에 바꾸어준다. 그곳이 바로 '부트캠프(boot camp)'이다.
개발자가 되기 위한 가장 빠른 방법은 무엇일까? 바로 코딩 훈련소에 가는 것이다. 우리는 이런 코딩 교육과정을 우리는 '부트캠프'라고 표현하기 시작했다. 이름에서 느껴지는 것처럼 부트캠프는 단기간에 개발자가 될 수 있게 교육하는 훈련소이다. 단기간에 일반인을 개발자로 만들기 위한 최적의 교육과정이다. 앞에서 언급한 국비지원과 독학으로 하는 것보다. 훨씬 힘든 과정이다. 현업에서 사용하는 프로그래밍 지식을 기반으로 교육을 하기 때문이다. 마치 훈련소에 입소한 일반인들이 마치 원래 군인이었던 것처럼 구보를 시키고 경례를 시키는 것처럼 부트 캠프는 예비 개발자들에게 곧바로 실무에서 사용하는 코딩 기술을 가르치기 시작한다. 그곳이 바로 '부트캠프(boot camp)'이다.
부트캠프는 그 어떤 개발자 입문보다 빠르다는 장점이 있다. 짧은 곳은 한 달 만에 모든 과정을 끝내기도 한다. 부트캠프에 입소하면 하루에 10시간이 넘는 교육을 받는다. 거친 곳은 주 6일 동안 일주일에 약 60시간을 훈련시킨다. 훈련병이 사회생활을 하지 못하듯 부트캠프에 입소하면 다른 건 아무것도 하지 않고 오직 프로그래밍 실습에만 집중한다. 덕분에 학습 몰입도는 매우 높다. 그리고 수강생들 모두 같은 목적으로 입소하였기 때문에 서로 도와가며 동기부여를 해준다. 그리고 이런 동기들은 후에 훌륭한 인맥이 된다. 그리고 강사님들은 교관처럼 즉각적인 질문과 답변을 해줄 수 있다. 이러한 피드백은 코딩 공부에 있어서 꽤나 큰 이점이 된다.
부트캠프도 매우 높은 취업률을 보장한다. 정확히 말하면 개발자 수요가 높기 때문에 부족한 인원을 보충하는 회사들이 많기 때문이다. 사실 어떤 개발자 과정이든 취업은 문제가 되지 않는다. 그런데 부트캠프 출신의 개발자를 선호하는 기업들이 다소 존재한다. 부트캠프의 목적은 취업이다. 그렇기 때문에 그 어떤 과정보다 취업률을 신경을 많이 쓴다. 만약 취업에 실패하면 수강료를 돌려주거나 목표하는 직장에 취직했을 때 축하금을 주는 등 다양한 방법으로 취업을 장려한다.
필자가 생각하는 부트캠프의 가장 큰 장점은 실무와 같은 현장 환경이다. 부트캠프는 학교에서 가르쳐 주지 않는 프로그래밍 세계에 적응을 도와준다. 실무와 같은 코딩 환경으로 개발 업계가 어떻게 돌아가는지 보여준다. 부트캠프에 취지 역시 훈련소이기 때문에 신병훈련소가 전쟁을 모방한 훈련을 하듯 부트캠프 또한 개발자가 코딩 실무를 모방한 훈련을 하기 때문에 실용적인 측면이 강하다. 그리고 필자의 개인적은 생각으로도 부트캠프 출신의 개발자들이 좀 더 현장 적응에 빠르다는 느낌을 강하게 받았다.
부트캠프는 강렬하게 개발자를 키워낸다. 그 덕분에 단점도 명확한 거 같다. 우선 부트캠프는 호불호가 명확하다. 단기간 내에 고생해서 개발자가 되기보다는 천천히 코딩 공부를 음미하면서 취업을 하고 싶은 예비 개발자들에게는 잘 맞지 않을 것이다. 그리고 소심하거나 게으른 사람들은 분위기만 망칠 뿐 큰 도움이 되지 않을 거라는 생각이 든다. 그렇기에 정말 간절하게 짧은 시간 내에 개발자가 되고 싶지 않은 사람에게는 추천하지 않는다. 부트캠프는 오직 이 생활에만 전념해야 하기 때문에 개인생활을 보장받지 못한다. 덕분에 이러한 교육이 수긍이 가지 않는 사람은 아주 불편한 교육 과정이 될 것이다.
부트캠프는 무료가 아니다. 비싼 곳은 천만 원이 넘는 수강료를 지출해야 한다. 국비지원처럼 무료로 들으면서 오히려 훈련비를 받아본 입장에서는 너무나 큰돈이다. 온라인으로 들을 수 있는 유명 개발자의 강의도 무료인데 조금은 아까운 돈이다. 혹여나 훈련에 참가했다고 낙오하거나 일이 생겨버리면 그 비싼 돈은 어떻게 환불해야 할 것일까? 물론 온라인 부트캠프는 상대적으로 저렴하지만 역시 한 푼이라도 아쉬운 사람들에겐 유료라는 점은 아쉬울 수밖에 없다.
부트캠프의 단점이지만 장점이 될 수도 있다. 해당 교육방식은 힘들기로 유명하다. 단순히 출석만 해야 하는 게 아니라 최선을 다해야 한다. 아마도 지쳐 쓰러질 때까지 해야 한다. 필자는 신병 교육대에서 허약한 체질로 구보 중에 쓰러진 적이 있지만 한 시간 휴식 후에 다시 훈련에 투입되었다. 열외 없이 군인을 만들기 위해서이다. 역시 부트캠프도 마찬가지다. 단 한 명에 학생까지 개발자로 만들기 위해서는 게으름 피울 시간이 없다. 너무 힘들다는 건 그런데 단점보다는 장점이지 않을까? 그건 개인에 판단에 맡기겠다.
현명한 독자들은 수백만 원에서 천만 원까지 지불하게 되는 부트캠프를 구하면서 대충 아무 곳이나 지원하지는 않을 것이다. 철저한 사전의 정보를 통해서 선택해야 하는 건 말할 것도 없다. 그래도 더 좋은 부트캠프를 구하는 방법을 알아보도록 하자. 필자는 얼마 전 부트캠프를 수료하고 중견기업에 취직한 후배 프로그래머에게 인터뷰를 해보았다.
Q. 부트캠프는 비싼 거 같다. 좀 더 저렴한 곳을 선택하는 게 효율적이지 않을까?
A. 가격이 저렴한 부트캠프만을 찾아다니는 것은 현명한 방법이 아닌 거 같다. 조금의 돈을 더 주더라도 좋은 교육을 해주는 부트캠프를 선택하는 것이 개발자로 일할 때에 피와 살이 되는 거 같다. 금액의 차이는 생각보다. 크지 않다. 가격은 우선 접어두고 열린 마음으로 생각해 길 권한다.
Q. 좋은 부트캠프를 고르는 방법은?
A. 우선 기간을 봐야 한다. 짧은 곳은 7주 만에 끝나기도 하고, 1년이 넘게 걸리는 곳이 있다. 본인에 일정에 맞게 선택하는 게 중요하다. 일정이 맞지 않는다면 무슨 소용이 있는가? 그리고 커리큘럼을 보길 바란다. 어떤 언어로 진행하는지 백엔드인지 프런트엔드인지 아니면 풀 스택으로 진행하는지 하고 싶은 과목이 있는지 상세하게 보길 바란다. 그리고 강사진도 잘 살펴보길 바란다. 이런 정보는 부트캠프 신청 페이지에 자세히 기록되어 있고, 전화로 문의하면 쉽게 알아낼 수 있다.
Q. 인터넷 후기도 중요한가?
A. 부트캠프도 하나의 사업체다. 온라인에는 자신들이 최고의 부트캠프라고 칭송하는 글뿐이 찾을 수 없다. 광고 블로그에 적힌 글을 곧이곧대로 믿지 말고 직접 발품을 팔아 수료한 수강생들을 만나 추천을 얻어보길 바란다. 그것이 어렵다면 코딩 커뮤니티에서 진솔한 후기를 읽어보도록 하자.
Q. 인터뷰에 응해줘서 고맙다. 이 글을 읽는 독자에게 한마디 부탁한다.
A. 부트캠프는 나에게 좋은 경험을 선사했다. 코딩 실력뿐만 아니라 할 수 있다는 자신감까지 얻게 되었다 하지만 어느 정도 IT 기초를 닦고 나서 훈련소로 떠나길 바란다. 준비된 마음과 노력이 있다면 누구나 합류해서 훌륭한 개발자가 될 수 있다고 생각한다.
부트캠프는 증가하는 개발자 수요를 충당하기 위해 계속해서 증가하는 훈련 방식이다. 짧은 기간에 비전공자를 개발자로 만드는 가장 효율적인 과정일지 모른다. 현재 젊음과 패기가 넘치는 예배 개발자가 있다면 코딩 훈련소에 자진 입소해 그 열정을 불태워보길 바란다. 당장은 힘들지만 몇 달 후에 눈빛이 변한 개발자가 되어 있을지 모를 일이다. 필자는 시니어 개발자로 10년이 넘도록 현업에서 코딩을 하고 있다. 가끔은 수행자의 마음으로 돌아가 부트캠프에 참석하고 싶다는 생각이 듣다. 그 당시에 열정을 다시 한번 느끼고 싶어 휴가를 내고 부트캠프에 참석해보면 어떨까라는 생각을 하고는 한다. 부트캠프는 어쩌면 현재 가장 어울리는 코딩 교육 과정은 아닐지 생각해본다.