"안녕, 아미고, 내 친구(늘어놓는 걸 이해해!) 너도 이런 말을 아마 들어 봤을 거야. "'훈련할 때 땀을 많이 흘릴수록 전쟁에서 피를 덜 흘린다', 그렇지?"

"그래, 그건 사실이야, 학습이 그리 만만한 게 아냐! 프로그래머로서 새로운 기량을 연마하고 있고, 가능성이 상당히 있다. 자넨 직업 분야를 대폭 변경하고 있는 거야."

"CodeGym은 실습 위주로 학습하는데 실습량이 엄청나다. 전체 학습 과정의 80% 이상을 차지한다."

"실습을 흥미로운 대규모 탐구(실제로 전체 탐구 시리즈)로 만들었지만 학생들은 각기 다르게 반응한다. 일부 학생은 학습 속도가 빠르고 더러는 학습 속도가 더디지. 어떤 학생은 새로운 자료를 쉽게 따라가는 반면 더러는 힘들어 하기도 한다. 하지만, 여기서는 학생들 각각이 결승선에 도달하는 걸 목표로 한다."

"하지만 교수님, 제가 무슨 노력을 해도 다음 과제를 풀 수 없거나 죽어도 다음 주제에 관한 설명을 파악하지 못한다면요?"

"해결책은 아주 간단하다. 커뮤니티가 해답이지. 커뮤니티는 자네와 같은 학생, 졸업생, 교사, 전문 개발자 등으로 구성된다.

"자유로운 시간에 다양한 언어로 코드를 작성하여 스타트업을 생성하는, 그런 수백만 명의 사람들이 프로그래머는 아니다. 프로그래머는 자신의 지식을 다른 사람들과 끊임없이 공유하는 사람들로 이루어진 글로벌 네트워크를 형성한다. 질문에 답하며 다른 사람들이 복잡한 주제를 이해하도록 도울 준비가 되어 있다."

"세계 최대 개발자 커뮤니티인 스택 오버플로 웹사이트는 프로그래머들이 서로에게 배워야 해서 시작됐다. 개념은 간단하다. 누군가 질문하면 전 세계 어느 곳에 있는 프로그래머라도 답할 수 있는 거지. 편리하잖아, 그렇지? :)"

"이곳 CodeGym에서는 학생들 사이에서 지식을 공유한다는 데 커다란 가치를 두고 있다. 프로그래머는 다른 사람들을 도와 줌으로써 개인적으로 성장한다(결국, 무언가를 스스로 파악해서 다른 사람에게 설명하는 것이 가장 좋은 방법이다)."

그런 이유로 특별 섹션을 만들어 학습 과정에서 학생들끼리 지식을 공유하고 서로 돕는 기회를 제공하려는 것이다.

"그럼 과제가 순조롭게 진행되지 않는다면 어떻게 해야 할까? 완성된 해결책을 인터넷에서 찾는 것은 좋은 생각이 아니다. 해결책 하나를 찾으면 해당 탐구에 대해 보상은 받지만, 여전히 이해에 차이를 보일 테고 분명 한 수를 물려야 하는 날이 오거든. 날 믿어."

"도움말 섹션을 적극적으로 이용하는 편이 훨씬 낫지."

"사용하기도 정말 편해. 과제 옆에 있는 '도움말' 버튼을 클릭하면 되거든."

구세주 누들스 교수 - 1

"특정 레벨에서 특정 과제를 찾아야 할 경우, 검색창에 과제 이름을 입력하면 돼."

구세주 누들스 교수 - 2

"또는 드롭다운 목록에서 필요한 탐구와 레벨을 선택하든가."

구세주 누들스 교수 - 3

" '해결' 필터를 선택하면 CodeGym 커뮤니티가 이미 답한 질문들이 보일 거다."

" '질문하기' 버튼을 클릭하고 과제로 걸어 놓은 링크를 첨부하고 자신의 문제를 설명하십시오."

"메모: 도움말 섹션에서 전체 코드를 사용하여 응답할 수 없습니다. 이 절의 요점은 사용자들이 스스로 올바른 해결책을 찾도록 도와줄 정보를 서로 제공할 수 있다는 것이다. 한편으로는 이해하는데 더 이상 틈이 없고, 다른 한편으로는 너 스스로에게 만족했을 거야. 과제를 건너뛰거나 완전 해법을 찾아 구글링 하는 대신 넌 과제를 완료했어. 긍정적인 반응만 보여! :)"

"또 CodeGym에서 경력을 쌓을 수록, 도움말 섹션도 잊지 마! 앞에서 말했듯이, 다른 사람에게 설명하는 것이 가장 좋은 학습 방법이다. 다른 사람들이 너를 도와준 것처럼 네가 CodeGym 학생들을 도와준다면 학생들도 행복할 것이다. 그냥 '새' 필터를 선택해서 동료들이 제기하는 질문에 답하려고 해 봐. 그들은 고마워할 테고 너는 다시 한 번 그 주제를 철저히 분석하고 누군가의 코드를 파고들겠지(그리고 다른 누군가의 코드를 이해하는 것은 프로그래머들에게 매우 중요한 기술이다!).

하지만 CodeGym은 단지 학습만을 위한 것은 아니다! 우리는 동료 프로그래머(초보자 및 전문가 모두)들과도 교류한다."

"일반적으로 사람들은 같은 생각을 하는 사람들과 어울리기 위해 소셜 네트워크에 그룹을 만든다. 이것이 좋은 생각이라고 결정해서 우리 사이트에도 그룹을 만든 거야."

"보는 바와 같이 여러 그룹이 있다. 다양한 IT 관심사를 중심으로(예를 들어, 프런트엔드 개발자와 테스터를 위한 그룹이 있다) 말이지."

"그리고 우리 웹사이트에서 3대 주요 그룹에 꼭 가입하도록 해!

CodeGym 그룹에서는 웹사이트, 콘테스트, 프로모션에 관한 최신 뉴스를 게시한다. 모든 새로운 웹 사이트 업데이트와 변경 사항이 먼저 거기에 나타난다."

"랜덤 그룹에서는 일반적으로 IT에 관한 흥미로운 기사를 발표하는데 그 중 상당수는 우리 학생들과 졸업생들이 썼다! 여기서 신기술 탐구, 도서 리뷰 찾기, 일자리 찾는 방법 정보 받기, IT 농담으로 푸는 방법 등을 통해 시야를 크게 넓힐 수 있다. :)"

"리더보드 섹션도 있어."

"모든 과제를 성공적으로 끝내고, 언젠가 네가 최고 학생이 될지도 모르지! :)"

"자바 개발자 그룹에서는 자바에 관한 흥미로운 기사, 추가 학습 자료, 언어 관련 뉴스를 볼 수 있다."

"그리고 더 많은 그룹이 있다. CodeGym은 새 필자들에게 최적의 장소이지! 기사를 쓰는 일은 주제에 관한 지식을 사려 깊게 정리하기 좋은 방법이다."

"알았어요, 좋군요. 연습은 타당성이 있거든. 하지만 이론이 어떤 역할을 하지?"

"물론 이론도 매우 중요하다. 물리학자들이 자신들의 이론적 지식을 적용하지 않고 대신 재미는 있지만 실험만 했다면 아마도 그다지 쓸모는 없을 것이다! 프로그래밍도 예외는 아니다. CodeGym에서는 가능한 한 빨리 진행할 수 있는 연습에 주로 초점을 맞춘다. 하지만 다른 정보원, 주로 책에서 지식을 쌓을 수 있다(우리도 강력히 권고한다)."

"모든 사람들은 다르다. 어떤 사람은 CodeGym 관련 짧은 레슨 하나를 그냥 읽고 만다. 더러는 다른 출처에서 정보를 수집하고 요약한 후에 결론을 도출하는 것이 더 편리하다는 걸 안다."

"CodeGym 학습 활동과 병행하여 네가 공부할 수 있는 자바 프로그래밍에 관한 최고의 책이 여기에 몇 권 있다. 오래 전에 가치 있는 책들로 증명됐고 시간이나 돈을 낭비하진 않을 거다."

  1. "캐시 시에라와 버트 베이츠, Head First Java"

    구세주 누들스 교수 - 4

    "초보자용으로 분명 자바에 관한 최고의 책이다! Head First 시리즈에는 다양한 프로그래밍 언어에 관한 수십 권의 책이 있지. 저자들은 자료를 제시하는 그들만의 독특한 방법으로 빠르고 쉽게 읽을 수 있다. 게다가, 책에서 코드를 쓰고 과제도 바로 할 수 있거든!"

    코드짐에서 자신의 레벨이 무엇이든, 레벨 0이라 해도 책을 읽을 수 있어. :)"


  2. "허버트 쉴드: Java: The Complete Reference"

    구세주 누들스 교수 - 5

    "이 책은 초보자한테도 좋아. 이전 책과의 주된 차이점은 자료를 제시하는 방식이다. 여기서 자료는 보다 엄격하고 일관된 방식으로 제시된다(대부분 이 '게임의 규칙' 표시 방법을 선호한다). 의심의 여지가 없는 장점들 가운데는 자료를 최소 단위의 세부 내용으로, 때로는 반복적으로 나눈다는 사실도 있다."


  3. "브루스 에켈, Thinking in Java"

    구세주 누들스 교수 - 6

    "이건 자바 프로그래머의 성경이야. 과장이 아니지. 모든 자바 개발자들이 읽어야 해. 이 책은 꽤 두꺼운데, 거기엔 이유가 있어. 책 이름에 의미를 담고 있다. 언어에 관한 특정 주제만 다루지 않고, 자바의 철학, 즉 이데올로기를 설명한다. 자바 언어의 창시자들이 다른 언어와는 다르게 그들만의 방식으로 일한 이유도 설명한다."

    "완전 초보를 겨냥한 책이 아니지만, CodeGym에서 20단계에 이를 때 쯤이면 책을 분석할 수 있을 거다."

    "읽어야 할 필수 자바 책이다 (다른 책들도 많다). 책을 읽음으로써, 언어에 대해 배우는 것 외에도, 프로그래밍에 대한 이해도 전반적으로 넓힐 것이다. 그러기에 가장 좋은 책들이 여기에 있다."


  4. "샤를 펫잘드, 코드: 컴퓨터 하드웨어 및 소프트웨어의 숨겨진 언어

    구세주 누들스 교수 - 7

    "이 책의 아마존 등급(4.7/5)과 기타 격찬 리뷰가 스스로를 대변한다."

    "이 책은 고등학교 컴퓨터 과학 수업에서 배운 것을 오래 전에 잊어버린 사람들이나 한 번도 배운 적이 없는 사람들에게 아주 좋은 책이다. 평소 관점에서 컴퓨터와 코드가 어떻게 작용하는지에 대한 중요한 것들을 설명한다. 예를 들어, 컴퓨터는 프로그래머가 작성한 코드를 어떻게 실행하는가? 그리고 컴퓨터가 코드의 텍스트를 어떻게 이해하는지, 즉 사람들은 컴퓨터가 무엇을 하기를 원하는가?

    "이미 고전이 된 이 책에는 이런 질문에 대한 해답이 담겨 있다. 이 책은 특별한 교육 없이 프로그래밍을 공부하고 있는 사람들에게 속도를 높이는 데 도움이 되는 환상적인 일을 한다."


  5. "아디트야 바르가바, Grokking Algorithms".

    구세주 누들스 교수 - 8

    "알고리즘과 데이터 구조는 매우 중요하고 필요하다. 프로그래머의 작업에서 중요한 부분을 나타내는 알고리즘과 데이터 구조를 프로그래머는 효과적으로 사용해야 한다! 예를 들어, 수천 개의 무작위 숫자를 어떻게 분류하는가?"

    "사실 분류하는 방법은 많다! 하지만, 똑같이 효과적이지는 않다. 알고리즘과 데이터 구조에 관한 많은 책과 강좌가 있지만, 바르가바의 책은 프로그래밍을 막 배우기 시작한 사람들에게 확실히 최고입니다. 이 책은 사용하는 언어가 단순하다. 사진과 함께 상세한 설명을 포함하며 그리 두껍지 않다. 시작하는데 딱 네게 필요한 책이야!"

"책을 읽고, 과제를 완성하고, 커뮤니티에 참여한다. 프로그래머가 되기 위한 완벽한 요리법인 거야!"