해당 부트캠프 참여를 고민하는 사람들을 위해 글을 적습니다.
사람마다 상황과 가지고 있는 지식이 다르기에 무조건 추천한다는 말은 사용하지 않습니다.
이 글에선 그저 어떤 교육과정이 있었고 각 과정에서 어떤 점을 배우고 느꼈는지에 대해 서술합니다.
그리고 각 사람들의 상황에 따라 어떤 부분을 배울 수 있을지에 대해 추측해 보았습니다.
해당 과정은 클라우드 엔지니어를 지향하며 다른 웹개발자 과정보다는 클라우드 기술에 조금 더 치중된 커리큐럼을 가집니다. (전반적인 웹기술도 다루기에 웹개발자를 지향하는 사람들에게도 적합합니다.)
교육은 6개월 동안 진행되며 앞의 4개월은 온라인에서 수업을 진행합니다.
온라인 기간 동안엔 전반적인 컴퓨터 과학과 개인 프로젝트 동안 사용하게될 프로그래밍 언어와 Git, Github 같은 도구 사용법을 배웁니다. 그리고 SNS 성향의 커뮤니티 서비스를 개발하게 됩니다. 뿐만 아니라 팀을 꾸려 다같이 면접 스터디나 특정 주제를 가지고 조사해 발표하는 시간을 가집니다.
컴퓨터 과학 등 강의 관련된 부분을 먼저 말씀드리자면 초반 몇 주 간 보이드라는 강사분께서 전반적인 컴퓨터 과학 지식과 자바스크립트 등 기술에 대해서 알려주셨습니다. 신경써서 만들어주신 교재가 었었음에도 이 과정이 꽤 타이트해 여기서 조금 버거워하신 분이 존재했습니다. 웹에 대한 전반적인 지식을 빠르게 배운 뒤 클라우드 쪽도 배워야해 어쩔 수 없는 부분이었던 것 같습니다. 전 그래도 어느 정도 알고있는 부분이 있어 그나마 따라갔던 것 같습니다. 이 부분은 시간을 투자하는 것 밖에 방법이 없어 보입니다. 이렇게 컴퓨터 과학, 웹 기술에 대한 부분을 배우고 나면 제프라는 강사분께서 본격적인 클라우드 기술에 대해서 알려주십니다. 역시 좋은 교재를 준비해주셨고 강의 전달력도 좋아 낯선 클라우드 기술도 잘 배울 수 있었습니다. 본인의 경험을 살려 잘 설명해주시는데 유익한 부분이 많았습니다. 수업 외 시간에도 특강 세션을 열어 지식전달을 해주시는데 도움을 많이 받았습니다.
그 다음은 개인 프로젝트에 대해 말씀드리겠습니다.
SNS 성향의 커뮤니티 서비스를 개인 프로젝트로 진행하며 풀스택 경험을 하게 됩니다. 이번 기수에선 자바스크립트를 가지고 개발하였습니다. (기수마다 백엔드 언어가 다를 수 있습니다. 결국 자바도 알려주십니다.)
프론트엔드는 바닐라 자바스크립트로 개발하며 백엔드는 express 프레임워크를 통해 만들었습니다. 커리큐럼을 잘 따라간 수강생들은 프론트엔드를 리액트로도 구현합니다. (관련된 교재와 수업을 제공해주셨습니다. 이번 기수에선 레오라는 강사분이 진행해주셨는데 적당한 수준으로 잘 진행해주셔서 저같이 백엔드를 지향하는 사람들도 쉽게 접근할 수 있었습니다.)
혼자서 처음부터 끝까지 진행하는 프로젝트기에 개발이 익숙하지 않은 분들은 꽤 고생을 하셨습니다. 강사님들이 꾸준히 질문을 받아주셨지만 예상 기간을 맞추지 못하는 분들도 존재했습니다. (접니다.) 그래도 개인 프로젝트이다보니 마감을 재촉하진 않고 각자의 상황과 속도에 맞게 개별적으로 진행할 수 있었습니다. 이러면 전체적으로 수업 진도가 늦어지는거 아닌가 걱정할 수 있는데 진도를 잘 따라가는 분들을 위해 추가 퀘스트 같은 것도 계속 내주셨습니다. 추가 퀘스트가 어떤 건지 궁금하실 수 있는데 와이어샤크를 이용해 웹통신간 오가는 패킷을 분석하게 하거나 정적 파일을 관리하는 오브젝트 스토리지 서버를 직접 구축하게끔 하는 내용들이였습니다. 외에도 프론트, 백, DevOps 분야마다 다양한 추가 퀘스트가 있습니다.
이렇게 개인 프로젝트를 개발하면 결과물로 처음부터 끝까지 혼자서 만든 커뮤니티 서비스가 만들어져 클라우드 환경에서 배포되어 운영할 수 있게 됩니다.
이렇게 배포되면 수강생들끼리 QA 단계를 가지고 서로가 만든 웹서비스에서 취약점과 사용자관점에서의 개선안을 받게 됩니다. 이 과정이 꽤 재밌고 유익합니다. (XSS 나 의도한 CSS 스타일을 벗어나게하는 특수문자라던가 혼자서 개발할 땐 잘 경험하지 못했던 부분을 경험할 수 있었습니다.)
전 자바 백엔드 개발자를 지향해서 자바스크립트로 진행하는 것이 조금 아쉬웠는데 패러다임이 조금 다른 자바스크립트를 통해 백엔드를 구축하니 각 언어의 패러다임이 어떠한 차이를 가지는지 조금 더 직접적으로 느낄 수 있었습니다. 그리고 Express 를 사용하면서 직접 적절한 디자인 패턴으로 기능을 구현했는데 이 과정에서 잘 만들어진 다른 프레임워크의 내부 구현까지 예상할 수 있어 다른 프레임워크를 공부할 때도 큰 도움이 되었습니다. 그리고 자바스크립트에서 사용한 함수형 패턴, 비동기 패턴을 통해 자바에서도 조금 더 그럴싸하게 함수형 패턴과 비동기 패턴의 코드를 작성할 수 있었습니다.
온라인 과정의 마지막 활동으로 팀단위 활동이 있습니다.
교육과정 동안 3, 4 번 팀을 형성하게 됩니다. 그리고 한 팀 당 4 ~ 6 명의 인원이 배정됩니다. 강의나 개인 프로젝트를 진행할 때도 언제 팀이 존재하는데 팀 단위로 수업 내용을 복습하고 수업 중에 나오거나 좀 더 심화된 주제로 깊게 조사해 발표하는 과정도 매주 가집니다. (이 주제는 강사분께서 제시해주시는데 매번 주제가 만족스러워 좋은 평가를 받았습니다.) 뿐만 아니라 팀끼리 면접 스터디도 진행하며 팀 활동의 혜택을 많이 누릴 수 있었습니다.
이 부분은 저같이 혼자서 공부해온 사람에게 좋은 기회가 되었습니다. 저와 같이 다른 사람들과 네트워킹을 가지기 힘든 사람에겐 좋을 수 있어 보입니다.
그리고 이 부트캠프의 백미라 할 수 있는 네트워킹 데이가 존재합니다.
온라인에서만 만났던 동료, 강사분들을 오프라인에서 만나 친목을 도모하고 카카오, 구름에서의 연사분들이 오셔서 개발자 그리고 직장인으로써의 지식, 마인드셋 같은 것을 강연해주십니다. 오프라인에서 코딩테스트도 진행하는데 이것도 유익한 경험이였습니다. 이후 회식자리를 가지는데 팀원분들 그리고 다른 동료분들과 친해질 기회가 생겨 좋았습니다. (운영은 구름쪽에서 맡아주시는데 이런 오프라인 행사에선 특히 고생을 많이 해주셨습니다.)
온라인 과정동안엔 크게 이 정도가 있었던것 같습니다.
적고나니 정말 빠르게 흘러갔습니다.
흠..
오프라인 과정을 요약하자면 팀 프로젝트를 하는데 스타트업 컨셉으로 진행하며 에자일 프로세스를 지향해 빠르게 피드백을 받고 빠르게 의견을 정해 진행합니다.
모든 기획과 프로젝트 세팅, 배포 및 운영을 전부 경험하게 되며 늘 팀원과 의견을 나누고 서로를 설득해 팀이 나은 결정을 할 수 있도록 시간을 투자해야했습니다.
그리고 오프라인 기간 동안엔 카카오 현직자 분이 멘토로 모든 팀에 배정이 되는데
매주 멘토링을 진행하며 프로젝트 및 취준 관련 준비를 직접 도와주십니다. 이게 진짜 좋습니다. 기술적인 조언도 많이 해주시고 질문에 대한 답변도 만족스러워 유익하다는 생각을 많이 하게 되었습니다.
이렇게 프로젝트를 진행하면 1차, 2차 출시를 하게 되는데 직접 출시한 서비스를 외부 사람들에게 홍보하게 됩니다. 이때 실제 사용자들의 트래픽을 받을 수 있는데 저같이 개발만 해보고 운영은 못해본 사람에겐 정말 유익한 경험인 것 같습니다. 여태껏 간과해왔던 운영관점의 로깅 정책과 모니터링 툴도 고민하고 적용했는데 이런 경험을 원했던 사람에겐 참 좋은 과정인 것 같습니다.
오프라인 과정에선 프로젝트 뿐만 아니라 코딩 테스트 준비, 면접, 이력서, 포트폴리오 관리 등을 정규시간에 하게 됩니다. 그리고 정규시간 외 저녁이나 이른 아침에 기술이나 면접 스터디를 진행하기도 합니다.
오프라인 과정에선 이러한 과정도 유익하지만 특히나 우수한 것은 강사님께서 본인만의 필살기를 전수해주시는 부분입니다. 자세한 내용은 알려드리기 조심스러운데 전 이 부분이 꽤 만족스럽습니다.
사실 오프라인 과정의 첫 주에는 해커톤을 진행한다던가 하는 시간이 있고 멘토분들과 오프라인에서 만날땐 네트워킹 데이를 가져 저녁에 회식자리를 가지기도 했습니다. 제주에서 생활을 하다보니 쉬는 날에는 다같이 여행을 간다던가 하기도 합니다. 전체적으로 공부도 열심히하고 쉴때는 쉬는 것도 잘한다는 느낌입니다.
제주도 참 좋은데 바람이 정말 많이 붑니다. 가벼운 옷들을 주로 가져왔는데 두꺼운 외투를 두 달 동안 계속 입고 있습니다. 어느 곳을 가나 한라산이 보여 뭔가 자연의 정기가 느껴집니다..경사가 완만한데 산이 꽤 높아 정말 아름답습니다. 겨울이 살짝 끼면 한라산 정상에 눈이 쌓이는데 정말 아름답습니다.
숙소는 호텔에서 2인 1실을 제공해주는데 시설도 괜찮고 둘이서 사용하기에 적당하고 좋습니다. 생활하면서 불편한 점은 운영측에서 잘 관리해주고 소통해주셔서 불편함 없이 지내고 있습니다.
지금까지 혼자서 공부할 땐 알 수 없었던 현업자분들의 작업방식이나 사고를 알 수 있어 좋았습니다. 그들의 작업 방식이나 소프트스킬도 보고 배울 수 있어 좋았습니다.
저처럼 시골에 사는 사람은 공부를 할때도 인프라가 적절하지 않을 수 있는데 여기선 숙소도 제공해주고 같이 공부할 사람도 있으니 좋았습니다.
취준생이라면 수입이 없다는게 부담스러울 수 있는데 월마다 들어오는 지원금이 정말 유용했습니다.
혼자서 취준을 하게되면 사람과 만났을때의 감이 좀 떨어질 수 있는데 그런 부분을 해소할 수 있어 좋았습니다.
맥북도 대여해주는데 좋았습니다. 그리고 웰컴키트도 구성품이 참 알뜰합니다.
제주에 오면 웰컴키트를 주시는데 크록스, 스테인리스 물병, 메신저백?(노트북 하나 들어가는 크로스백 느낌) 들이 있습니다. 정말 유용해서 두 달 내내 사용했으며 수료 후에도 잘 쓸 것 같습니다.
딱히 아쉬운 점이 크게 없습니다.. 모든 위치의 사람들이 다 최선을 다 해주시는거 같습니다. 굳이 아쉬운 점이 있다면 수강생들 간 프론트, 백엔드, 데브옵스 지원율이 좀 극단적인 경향을 보여 팀빌딩 시 어려움을 겪었다는 점입니다. 요 부분은 기수별로 다른 경향을 보인다고 합니다.
하나 노파심에 말씀드리자면 두 달 동안 제주도는 볼 것도 많고 즐길 것도 많습니다. 이런 제주도가 누군가에겐 좋은 경치 구경하며 즐길 것도 즐기고 자신의 목표를 달성하기 위한 장소로 여겨질 수 있고 다른 누군가에겐 자신의 목표만을 달성하기 위해 순수하게 몰입하기위한 고립된 장소처럼 여겨질 수 있습니다.
전 후자에 가까웠습니다. 하지만 과정을 진행하며 여러 사람들이랑 생각을 공유하며 나의 생각이 언제나 옳은건 아니구나 같은 점도 배우고 여행도 같이 가고 하니 앞만 보고 달렸던 이전과 달리 주변도 볼 수 있고 새로운 방향으로도 나아갈 수 있었던 기회가 된것 같습니다. 전 이 경험이 꽤 마음에 드네요.
이런 합숙형 부트캠프의 장점은 다양한 목적과 성향의 사람들이 깊게 어우러질 수 있는 환경이라는 점 같습니다.