일상기록장/크래프톤 정글 일지

크래프톤 정글 수료 후기

hyuga_ 2024. 3. 5. 16:12

개발자가 되겠다며 독학을 6개월, 그러다가 크래프톤 정글이라는 곳을 알게되었고 운명(?)을 느꼈다. 어찌어찌 합격한 당시에는 정말 간절했고 기뻤지만, 한편으로는 꽤나 막막하기도 했다. 합숙이 큰 메리트라고 느끼긴 했지만 10월부터 2월까지(약 5개월) 낯선 장소에서 유배 생활을 하는 게 쉬운 일은 아니기 때문이다.

 

그래도 어쩌다보니 겨울은 지나가고, 나는 다시 사회에 나왔다.👏👏

이렇게 또 하나의 챕터가 끝이 났다.


개인적인 회고는 매 커리큘럼마다 적어왔다. 

이에 더해서, 미래의 후배분들이 정글이 어떤 곳인지 최대한 감을 잡을 수 있도록 정글에 대해서 얘기해보고자 한다. 

정글이 비전공자였던 나에게 어떤 변화를 주었는지, 직접 겪으며 느낀 순수한 내 생각이다.

 

 

Why jungle?

우선 나는 '수많은 교육기관 중에 정글에 들어오게 돼서 정말 다행'이라고 생각한다. 그리고 당신이 만일 이제 시작하는 단계이며, 준비된 기초가 부족하다고 느낀다면, 그리고 정글의 커리큘럼이 합리적이라고 느끼는 분이라면, 감히 말하건대 시간 대비 가장 크게 성장할 수 있는 곳은 이곳이라고 하고싶다. 

 

사실 여기 나왔다고 해서 무언가 보장되진 않는다. 어디 가서 CS 전문가가 되었다고 다닐 정도는 당연히 안된다. 그런데, 그건 그만큼 좋은 개발자가 되기 위해 많은 수련이 필요하기 때문이지, 정글에서 얻어가는 게 없어서는 아니다. 오히려 정글에서의 시간이 없었다면 내가 뭐가 부족한지도 모르는 상태였을 것이다. (후에 추가함: 정글에서 배운 베이스를 바탕으로 수료 이후에도 꾸준히 공부하였습니다. 그 덕에 면접장에서는 일반적인 학부생 수준보다 CS 지식에 깊이가 있다며 칭찬받은 경우가 종종 있었습니다.)

 

취업이 특별히 더 잘 되는 것도 아닐 것이다. 정글 수료생과 다른 부트캠프 수료생들의 모든 현황을 아는 것은 아니기에 함부로 말하기엔 어렵지만, 당장 취업시장에서 원하는 실무적 능력을 갖추기엔 커리큘럼이 거기에 초점을 맞추고 있지 않기 때문이다. 

 

고기보단 낚시법을 알려주는 곳

정글은 고기를 잡아다주는게 아니라 고기 잡는 법을 알려주는 곳이다. 왜냐하면 현장에서는 매번 새로운 고기를 요구하기 때문이고, 고기를 잡아줘봤자 금방 상해버리기 때문이다. 다른 부트캠프에서 6개월간 가르치는 기술스택들은 정글에서 따로 알려주지 않는다. (이번 기수는 최종 프로젝트 직전에 기술스택 자습기간 2주를 주긴 했는데, 그 전에는 따로 시간을 주지 않았다고 한다.)

 

편리한 기술스택을 배우기에 앞서 가장 근본적인 컴퓨터 구조부터 깨우친다. 프레임워크니, AI니 뭐니 해도 결국에는 0과 1로 이루어진 기계어로 번역되며 하드웨어가 이를 받아들여 명령을 수행한다는 불변적인 사실을 알게된다. 그 위에서 한 겹씩 추상화의 윗 단계로 나아간다.

  • 우리가 불러다 쓰는 자료구조는 내부적으로 어떻게 설계되었으며 어떤 효율성으로 동작하는지를 RB-Tree Lab을 통해 맛볼 수 있고, 
  • 메모리를 다룬다는 개념을 구현하기 위해 선배 엔지니어들이 무슨 고민을 했고, 무슨 설계를 했는지를 Malloc Lab에서 살펴본다. 
  • 이후 네트워크 주차에 공부하다보면, 컴퓨터에게는 또하나의 입출력장치와 다를 바 없는 '네트워크'라는 개념이 어떻게 인터넷이 되고, 우리 삶에 큰 영향을 미치게되었는지 감을 익히게 된다.
  • PintOS를 통해 직접 불완전한 OS를 완성시켜가면서, 운영체제가 어떻게 한정된 자원을 효율적이고 공평하게 매니징하는지를 알아간다. 

그냥 주어지는 인프라라고 여겼던 것들인데, 이들을 직접 구현해보면서 혹은 전공책을 샅샅이 뜯어보면서 결국에는 다 사람이 만든 거라는 걸 새삼 알게 된다. 이 모든 과정에서, 멘토님들이 계속 좋은 배움의 자극을 주신다. 고민되는 일이 있다면 언제든 상담을 요청할수도 있다. 아 참고로 이 모든 과정은 C언어로 이루어지지만 따로 C언어를 배울 시간을 주는 건 아니다. 그냥 하다보면 하게 된다. 살아남기 위해 적응해라.

 

그리고 최종 프로젝트에 돌입하는데, 나는 PintOS 마지막 주차에 '사람에 대한 이해가 더 필요한 직군이다'라는 동기의 말에 이끌려 프론트엔드를 지망하기로 결심한 차였다. 그렇게 2주간 각자 독학을 하고 바로 프로젝트에 돌입한다. 

 

프로젝트 기간은 6주이지만 1주는 기획 기간이고, 우리는 기획에서 물을 먹어 사실상 4주간만 본격적인 개발을 했다. 그럼에도 닥치는대로 짜다보니 어느새 동작하는 프로그램이 완성되어 있었다. 물론 코드가 깔끔하고 세련되지는 않을 수도 있는데, 처음으로 본격적인 웹개발 프로젝트를 해본 입장에서는 이 정도 동작하는 프로그램을 만들었다는 자체가 매우 보람차고 기뻤다. (다 마무리하고 보니, 우리 프로젝트 코드가 거의 3만 line이더라..)

 

이런 과정을 거치다보면 자동으로 얻게 되는 마음가짐이 하나 있다. 

'아, 시간을 들이붓고 머리를 쥐어 뜯으면 못할 게 없구나!'

 

개발만치 중요한 것

여기서는 모든 과정이 기본적으로 팀 플레이로 이루어진다. 이건 현장에 나가서도 마찬가지이며, 대학교에서지만 사람을 뽑아본 적 있는 입장으로써 '조직과 잘 융화되고, 커뮤니케이션이 원활한 성격'은 어쩌면 지식의 양보다 중요한 역량이다. 성격이라 했지만, 이건 후천적으로 얼마든 훈련할 수 있는 역량이라고 생각한다. 

 

정글은 본인이 좋은 팀플레이어인지 파악할 수 있는 좋은 환경이다. 또한 주변의 사람들을 보고 무엇이 좋은 성질이고 무엇이 안좋은 성질인지를 배울 수 있는 기회이다. 

 

그리고, 빼놓을 수 없는 또 하나의 요소가 바로 코치님들이다. 한분 한분이 롤모델로 삼아도 될 정도로 실력과 인격면에서 뛰어나신 분들이다. 심지어 최근까지 현장에서, 팀을 이끌 정도의 위치에서 활발히 활동하셨던 분들이다. 이런 분들이 매우 열정적으로 코칭해주시고 상시 대기해주시니, 이 또한 어디가서 쉽게 얻을 수 있는 기회는 아니라고 생각한다.