각자는 서로의 대체제가 아니다
아래 글을 원작자 동의를 구하고 번역하였습니다.
부트캠프를 시작한 것은 내가 대학교 생활 중 내린 최고의 선택이었다. 그리고 만약 한 번도 코딩을 해본 적이 없다면, 당신에게도 그럴 것이라고 믿는다. 코딩 부트캠프는 굉장히 새로운 개념이다. 부트캠프는 12~15주 사이의 굉장히 짧은 기간 동안 학생들이 실무에 투입될 수 있는 수준으로 끌어올리는 빡센 교육 학교다. 이 부트캠프틑 대부분 경력 전환이나 창업을 원하는 성인을 대상으로 하고 있다.
나는 특이한 학생이어서 대학교 1학년 때 theFirehoseProject라고 불리는 부트캠프에 참여했다. 부트캠프는 대게 나와 같은 대학교에 재학 중인 학생을 대상으로 하진 않지만, 부트캠프를 하는 경험이 대학생으로서 대학 생활 중 할 수 있는 가장 유익한 경험이라고 생각한다.
코딩 부트캠프는 전통적인 컴퓨터 과학 전공과 무엇이 다를까? 이건 사람들이 굉장히 많이 묻는 질문이기도 하고, 또한 나 역시 부트캠프에 참가하기 전에 했던 질문이기도 하다. 아래는 내가 양쪽을 모두 경험하고 느낀 점이다.
코딩 부트캠프는 즉시 활용 가능한 기술과 실제 업계에서 사용하고 있는 최신 기술에 집중하고 있다. 대체로 루비(역주: 파이썬과 유사)를 가르친다. 이유는 프로그래머 친화적인 언어이면서, C나 자바 같은 언어에 비해 이해하기 쉽기 때문이다.
반면에 많은 컴퓨터 공학 과목들은 비교적 어려운 C나 자바 같은 언어로 시작한다. 물론 이런 언어들이 향후 프로그래머로서 필요할지는 모르나, 초심자가 이해하기에는 어렵다. 그래서 많은 사람이 이 지점에서 개발을 배우기를 그만둔다. 나 역시 그 사람 중에 하나였고, CS50이라는 하버드 온라인 코스 중 가장 유명한 과목으로 프로그래밍을 공부하다 그만둔 적이 있다. 물론 그 강의는 매우 훌륭했고 강의 질도 우수했다. 그러나 C라는 언어로 강의가 진행되었고, 이것이 교육적이로는 훌륭했을지 모르겠지만 지나치게 시스템적인 부분을 학습해야 했기 때문에 학생이 힘들어 나가떨어지게 만들기 충분했다. 사실 개발은 어렵지 않은데, 이런 경험은 코딩이 어렵다는 잘못된 인상을 심어주기에 충분했다.
다른 점 하나는 중급에서 고급에 이르는 많은 컴퓨터 공학 수업이 수학적 지식을 필요로 하고, 그래서 처음에 입문하는데 장벽으로 작용한다는 점이다. 수학적 사고는 중요하지만, 일부분의 개발 업종에만 필요하다. 코딩 부트캠프는 웹사이트를 만드는데 불필요한 수학적 개념을 걷어내고, 입문자에게 그 장벽을 낮추는 역할을 한다.
부트캠프의 목적이 완전히 프로그래밍에 대한 경험이 없는 사람을 짧은 시간에 실무에 투입할 수 있는 인원으로 만드는 것이기 때문에, 최고의 부트캠프는 초심자가 강의를 이해하도록 강의하는데 노력을 기울이고 있다. theFirehoseProject의 커리큘럼과 강의 스타일은 실제로 초보자가 이해하기에 충분히 쉽게 진행된다. theFirehoseProject에서 7주간의 교육이 끝나고, 나는 한 스타트업에서 일을 구할 수가 있었다. 그리고 그 일로 부트캠프 등록비를 내기에 충분했으니, 훌륭한 투자였다고 하겠다.
코딩을 할 수 있다는 사실만으로 대학교 안팎으로 다양한 기회가 열리기 시작했다. 부트캠프 8주 차에 나는 HackNC라는 해커톤에 참가했다. (해커톤은 24~48 시간 사이에 여러 팀이 모여서 뭔가 새로운 것을 개발하는 행사를 말한다.) 나는 2명의 다른 개발자와 1명의 경영학도와 함께 작업을 했는데, 24시간 후에는 꼭 필요한 기능을 넣은 가벼운 제품(MVP, minimally viable product)을 만들 수 있었다. 나는 부트캠프에서 이미 익숙해진 프런트엔드 쪽을 맡았다. 우리는 해커톤을 마치며 3개의 상을 수상했고, 내 인생 첫 해커톤에서 여러 개의 회사로부터 입사 제의도 받았다. 그 해커톤에 참가했던 팀원들은 여전히 좋은 친구이고, 이 모든 것은 결국 내가 부트캠프를 참가했기 때문에 가능했던 환상적인 경험이었다.
학교 밖에서도 코딩을 할 수 있다는 것 역시 업무 경험을 쌓을 수 있는 좋은 기회를 제공했다. 나는 페이스북에서 새로운 비즈니스 아이디어를 실현시키기 위한 웹사이트를 만들고 싶다는 한 사람의 포스팅을 봤다. 그리고 그 팀은 기꺼이 비용을 지불하고자 했다. 나는 코딩 캠프 7주 차 때, 한 번 도전 해기로 했다. 나는 이미 두어 개의 웹사이트를 만들었고, 나는 그 팀에게 비록 비교적 초심자지만 간단한 웹사이트를 만들 수 있고 저렴한 비용으로 그들의 아이디어를 만들도록 도와주겠다고 제안했다. 그들 역시 대학생에게 경험할 수 있는 기회를 주고 싶어 했고, 비용도 절감할 수 있었다. 그래서 그들은 나를 고용했고 그 프리랜 싱 비용으로 내 부트캠프 비용을 충분히 충당할 수 있었다.
아마도 당신이 지금 이렇게 질문하고 있을 수도 있다. '대학생이고 코딩을 배우고 싶었으면, 우선 컴퓨터 공학 수업을 들으면 되지 않을까?' 그 질문에 대한 대답은 매우 간단하다. 나는 내가 코딩을 배우기에 충분히 똑똑하지 않다고 생각했다. 코딩에 대한 잘못된 생각 중 하나는 코딩이 매우 매우 어려운 기술이라는 것이다. 그런데 실제로는 그렇지 않다. 물론 좋은 지원 시스템과 동기부여, 그리고 초기에 만날 수 있는 어려움을 극복할 수 있는 충분한 자료를 갖춰야 한다. 그래서 나는 부트캠프를 통해서 공부했다.
만약 내가 부트캠프에 참여하지 않았더라면, 나는 컴퓨터 공학 수업도 듣지 않았을 거고 전공을 하지도 않았을 거다. 코딩을 할 수 있게 되는 게 내 꿈이었음에도, 나는 앞서 말했던 CS50이라는 하버드 컴퓨터 공학 수업을 들으며 코딩을 배우는 걸 포기했었다. C로 진행되었던 그 수업은 바로 정렬 알고리즘을 가르쳤는데, 나는 이 경험을 통해서 코딩이 어렵다는 선입견을 가지게 되었다.
그런데 사실은 코딩은 당신이 생각하는 것만큼 어렵지 않다. 단지 프로그래머 친화적인 언어로 시작하고, 훌륭한 교육 시스템과 친절한 교육 커뮤니티만 있으면 된다. 그리고 이것이 바로 부트캠프에서 제공하는 것이다.
만약 당신이 대학생이고 코딩을 배우고 싶은데 너무 어렵게 느껴진다면, 그냥 부트캠프를 들어라. (몇몇 부트캠프는 비용 대비 효과가 좋지 않으니 반드시 좋은 부트캠프를 찾아라.) 좋은 교육 자료만 있다면 모든 사람이 개발을 배울 수 있다는 사실에 놀라게 될 거다. 코딩을 배우기 시작하면 당신이 이전에는 절대 깨닫지 못했던 기회를 만날 수 있을 것이다.
나는 지금 이 시점에서 부트캠프가 컴퓨터 공학을 대체할 수 있다고 말하는 것은 아니다. 이 둘은 분리해서 생각해야 된다. 컴퓨터 공학은 코딩뿐만 아니라 컴퓨터를 이해하는 학문이다. 반면 코딩 부트캠프는 기본적인 웹사이트를 개발하고 신입 개발자로 입사하기 위한 기본적이고 실용적인 기술을 가르친다. 그러니 컴퓨터에 관한 지식보다는 어떻게 코딩을 하는지에 관심이 있다면 부트캠프가 더 옳은 선택일 것이다.
아래는 좋다고 알려진 부트캠프들이다:
theFirehoseProject — 500만 원 정도에 매우 합리적인 가격으로 온라인 루비 온 레일즈 코딩 부트캠프이다. 언제나 도와주는 팀과 커뮤니티를 갖추고 있다. 매주 최고의 개발자의 수업을 통해서 빠른 속도로 개발자가 될 수 있다. 커리큘럼은 빡센 편이고, 실용적인 웹 개발 기술과 자료구조나 알고리즘 같은 컴퓨터 공학 쪽 내용도 공부할 수 있다. 그리고 회사를 그만두지 않고 싶어 하는 사람들을 위한 완벽한 선택지가 될 수 있다. 개인적이로 나는 이 과정을 사람들에게 추천하는데, 나 중에 개발자 인터뷰에 꼭 필요한 알고리즘 훈련을 시켜주기 때문이다. 학생 커뮤니티는 매우 활발하고, 슬랙 채널을 통해서 다양한 활동이 일어난다.
HackReactor — 2000만 원이라는 고가의 등록비지만 그 값어치를 한다. 만약 최고의 부트캠프를 찾고 있고, 그에 합당한 가격을 지불할 용의가 있다면 이 부트캠프가 적합할 것이다.
Fullstack Academy — HackReactor와 같은 유명한 부트캠프다. 이곳 학생들의 프로젝트가 매우 인상적인데, 이것은 항상 훌륭한 교육의 질을 반증한다.
Makersquare — 위의 두 부트캠프와 유사하다. 하루 종일 진행되는 부트캠프로 주로 자바스크립트 프레임워크에 초점을 맞춘다. 그리고 졸업생이 높은 확률로 취업한다고 주장하고 있다.
개발에 관심이 있으신가요? 아래 링크에 연락처 남겨주시면 관심있는 강의가 열릴 때 알려 드리겠습니다.
http://bit.ly/subscribe-imagineer
페이스북 페이지에서 개발 관련된 다양한 글을 받아보실 수 있습니다.
유튜브에 개발 관련 동영상을 공유하고 있습니다.
http://bit.ly/imagineer-youtube