나는 대학에서 졸업을 얼마 남겨두지 않은 상태에서 컴공과로 전과한 케이스이다. 그리고 졸업을 위해 단기간에 많은 수업을 들어야했고, 더불어 내 생활비를 위해 경제활동을 겸했다. 코딩보다는 이론에 집중한 학습이었고 ( 그마저도 잘해내지 못했다 ) , 과제로 코드를 제출하거나 프로젝트를 진행해야하는 과 특성상 성적이 좋지않다. 앞서 언급했듯 코딩보다는 이론에 집중한 학습이었고 수업내용을 잘 따라가지 못했기에, 개발자로 취업하기 위해서는 코딩실력을 높여야만 했다.
컴공에서는 c, c++, java, 최근 들어 python 정도를 공부하고 특정 과목 ( 프로그래밍 언어 ) 에서만 다른 언어를 과제용으로 급급하게 학습하는 경우가 많았다. 물론 배운 언어가 더 편했고, 그 언어로 발전시키는 방법도 있었다. 하지만 나의 경우에는 학습한 내용에 대해 심도깊은 이해가 없어서 설명을 요구하면 벙어리가 되곤 했다.
많은 과목을 듣다가 웹 프로그래밍을 과제로 진행한 경우가 있었다. 정확히는 데이터에서 정보를 뽑아내어 시각화하고, 시각화한 내용을 웹에 뿌려주는 게 다였다. 하지만, 그 과정에서 내 코드가 시각적으로 확인할 수 있다는 경험을 하게 되었고 제법 흥미가 생겼다. 이게 내가 웹 프로그래밍을 배워야겠다고 생각한 결정적인 이유이다.
특정 온라인 강의 사이트에서 웹 프로그래밍 관련 강의만 네 개를 결제했다. 저렴한 것도 있고 비싼 것도 있지만, 합치면 백 몇십만원쯤 된다. 결제한 강의를 들으며 클론코딩을 하고, 웹 페이지를 만들어보아도 시간이 지난 뒤 내 머릿속에 남아있는 건 html은 뼈대구나, css는 꾸며주는 거구나, js는 동적인 역할을 하는구나 정도밖에 없었다. 그래서 부트캠프를 알아보던 중 이런 강의 학습의 단점을 보완하고, 내 여건상 온라인으로 진행할 수 있는 곳을 찾아보았다.
이미 컴공과제를 해치우며 강제로 생겨버린 검색능력과 페이스북, 구글 등의 놀라운 알고리즘 덕분에 나는 쉽게 코드스테이츠에 대해 알 수 있었다. 수많은 부트캠프와 유무료 강의가 넘쳐났지만 정작 개발자로 성장할 수 있게끔 만들어주는 곳은 생각보다 찾기 힘들었다.
하지만 단 한 곳. 코드 스테이츠는 딱 내가 원하는 방식의 부트캠프였다. 우선, 아래의 5가지를 충족하는 곳이 거의 없다.
- 모든 과정이 전부 온라인이라는 것
- 취업을 위해 이력서와 포트폴리오 작성하는 법에 관해 알려준다는 것
- 강의를 하고, 설명을 듣고, 클론코딩하는 방식이 아니라 개발자의 마인드셋을 훈련시켜준다는 것
- 코딩을 수없이 하게 된다는 것
- 막히는 경우 어떤 방식으로 해결해야하는 지 그 방법을 알려주는 것
대부분의 부트캠프는 모든 과정이 반드시 오프라인이었고, 온라인으로 진행하는 부트캠프 중에서 막히는 경우 답 대신 방법을 알려주는 곳을 찾는게 쉽지 않았다. 정말 많은 후기를 읽었고, 그들이 자랑하는 커리큘럼과 정보를 확인했다. 그런데 결국 내가 원하는 모든 것을 갖춘 곳은 코드 스테이츠, 단 한 곳이었다.
코드 스테이츠의 후기 중 하나를 영상으로 만든 게 있다. 물고기를 잡아주는 게 아니라 물고기 잡는 법을 알려줘요. 지금에 와서는 이 말이 조금 잘못된 부분이 있다고 생각한다. 물고기를 잡아주는 건 당연히 아니다. 하지만 그렇다고 물고기 잡는 법을 알려주는 것도 아니다. 단지 철저한 가이드라인과 수많은 문제와 프로젝트를 통해 스스로 물고기 잡는 법을 깨우칠 수 있도록 도와준다.
스포츠 선수들이 단점을 고치기 위해 조언하고 방법을 알려주는 코치가 아니라, 선수들이 무엇이 단점인지 조차 모를 때 스스로 깨닫게 하고 스스로 노력하게 만드는 훌륭한 감독과 같다. 적어도 나는 그렇게 생각하게 됐다.
그리고 이건 코드스테이츠를 시작하고 알게 된 사실인데, 이곳에는 헬프데스크라는 토론장이 있다. 누구나 질문할 수 있고, 누구나 답을 달 수 있다. 하지만 그 누구도 정답을 알려주지 않는 것이 이 헬프데스크의 문화이다. 코드스테이츠의 개발자는 물론이고, 수강생조차 정답을 알려주지 않는다. '어떻게 하면 질문자가 스스로 깨달을 수 있을까?'를 함께 고민하는 공간이 있다는 게 정말 놀라웠다. 어떤 후기에는 이 헬프데스크를 두고, 친절하지 않다고 표현했다. 하지만, 내 생각은 다르다. 코드 스테이츠가 추구하는 학습법이 자기주도학습인 만큼, 수강생은 자기주도학습을 위해 자기만 신경쓸 수 있도록 해준다. 답을 알려주는 것보다 훨씬 번거로운 일을 하고 있는 이들은 친절해도 너무 친절한 게 아닐까.
코드 스테이츠를 시작하고 나서야 알게된 것들이 너무 많다. 특히 페어 프로그래밍과 모각코, 동기간의 커뮤니케이션에 대해 말해보고 싶다.
우선, 프리코스에 합격하게 된 모든 사람들은 코드 스테이츠의 온라인 비동기 면접을 패스한 사람들이다. 그렇기에 기본적인 학습의지와 열정을 가지고 있다. 그런 사람들과 페어 프로그래밍을 진행하다보니 페어의 배우고자하는 뜨거운 열정에 없던 열정도 생길판국인데, 나 또한 여기에 함께하는 수강생인 만큼 가지고 있던 열정이 더 커지는 게 체감이 될 정도였다. ( 눈뜨면 코딩시작해서 밥도 삼키듯 먹고 다시 앉아 키보드에서 손을 떼면 잠들었다. )
또, 처음 알게 된 모각코 ( 모여서 각자 코딩 ) 라는 개념은 온라인에서도 충분히 그 역할을 할 수 있다는 걸 체감했다. 매일 정규시간이 마무리되고 저녁식사를 끝낸 분들 중 꾸준히 모각코 방을 찾아주시는 분들이 계신다. 화면을 보면 한 분, 한 분, 모두 엄청 집중해서 뭔가를 공부하고 계시는데, 이 모습을 보면 가만 있으면 안될 거 같다는 생각에 나도 더 집중하게 된다. 이런 선순환의 반복으로 동기사이에 알게모르게 유대감이 형성된다.
몇 번의 페어 프로그래밍이 지나가고, 평일 밤과 주말을 다 갈아넣은 동기들의 질문수준이 높아지기 시작했다. 특히, AMA ( Ask Me Anything ) 시간에 코드 스테이츠의 개발자분에게 무엇이든 물어볼 수 있는 시간에는 지금 학습하는 내용이 맞나... 싶은 심도깊은 질문이 올라오기도 했다. 그리고 나 또한 시간을 갈아넣을 만큼 갈아넣은 입장이기에 비슷한 질문을 했었다. 그러다보니 알게 모르게 동기들과 유대감(?)이 생기기 시작했고, 프리코스가 마무리되는 한 주간의 솔로 위크에는 동기들과 스터디를 진행했다. 점점 학습열정이 넘치는 분들 중에 특히나 넘치는 분들과의 접점이 늘어나기 시작하면서, 그리고 나도 그 중 한 명이 되어가면서 느낀 커뮤니케이션 스킬의 향상은 정말이지 경이롭다.
모든 과정이 온라인으로만 이루어지는 부트캠프인 만큼, 당연하게도 동기와의 모든 커뮤니케이션도 화상툴을 이용한다. ( 여러 모임에 동시참가가 가능하다는 점에서 행아웃미팅을 애용하는 편이다. ) 그러니 당연히 만난 적도 없는 사람들이건만, 이미 충분히 친해진 기분이 종종 든다. 그리고 설득에 들이는 노력과 시간을 철저히 배제하고 토론과 조율에 집중하니 다양한 생각을 알 수 있다. 내가 생각지도 못한 부분에 대해 커뮤니케이션을 할 때, 어떤 태도를 취해야하는 지 서로서로 보고 배우게 된다.
이제 마지막으로 하나만 더 이야기 하고 싶다.
코드스테이츠는 구몬 선생님이나 학교 선생님이 아니다. 당연히 학원 선생님이나 쪽집게 과외 선생님은 더더욱 아니다. 만약 정말로 개발자가 되고 싶은 사람이라면, 특히 개발자 업무를 보는 사람이 아니라 개발자의 마인드셋을 원하는 사람이라면 반드시 코드 스테이츠를 선택해야 한다. 이 글을 작성하는 현 시점까지 대한민국에 이 부트캠프가 가장 개발자다운 개발자를 육성하는 곳이라고 단언할 수 있다.
'TIPS' 카테고리의 다른 글
[TIPS] JEST - 제스트, 테스트 All-in-one 패키지 (0) | 2020.09.12 |
---|---|
[TIPS] Bots를 이용한 슬랙봇 만들기 (0) | 2020.09.05 |
[TIPS] 웹훅을 이용한 슬랙봇 만들기 (0) | 2020.08.28 |
[TIPS] Git | 간결한, 깔끔한 Commit message 작성을 위한 기본 팁 (0) | 2020.08.22 |
[TIPS] VScode 확장프로그램 Live Share (0) | 2020.08.17 |