책으로 코딩을 공부하기
필자는 개발자이자 작가이다. 내가 쓰는 글은 항상 누군가의 독서가 된다. 그렇다고 글만 쓰며 사는 것은 아니다. 그만큼 책도 많이 읽는다. 그런 나에게 지인들은 이런 질문을 자주 한다. "책이 영상보다 뭐가 나아?" 그렇다. 요즘은 책 보다 더 즐길 거리가 많은 시대이다. 특히 활자보다 영상이 더 선호되는 시대이다. 영상은 참 편리하다. 화면을 바라보고만 있으면 각종 지식을 떠먹여 준다. 하지만 글은 다르다. 직접 눈으로 글자를 정독해야 한다. 그렇게 집중과 노력이 필요한 책이 영상보다 좋은 점이 과연 무엇일까?
책에 가장 큰 이점은 어제보다 나은 생각을 만들어준다. 눈으로 직접 읽고 마음속으로 새기며 상상을 해야 하므로 책은 생각의 힘을 길러준다. 코딩을 책으로 공부하는 것 또한 독서이다. 그런데 요즘은 책을 통하지 않아도 온라인에 검색엔진을 통해 코딩 정보를 쉽게 얻을 수 있다. 그럼에도 책으로 공부하기 좋은 이유는 무엇일까? 출판사를 거쳐간 책은 온라인에 즐비한 정보들보다 좀 더 체계적이고 신뢰성이 높다. 덕분에 잘 정제된 정보로 학습할 수 있다. 그리고 책은 시작과 끝을 알 수 있는 지표가 되기 때문에 무언가를 깊게 파고 들어가기에는 최선의 선택이다. 그렇게 장점이 많은 학습방법인 책을 통해 코딩을 공부하는 방법에 대해 다뤄보려고 한다.
필자가 며칠 전 출판한 IT 책이 있다. 매일 서점 사이트에 들러 현황을 파악하는데 이미 IT분야 신상품에서는 벌써 멀리 밀려나 있다. 이처럼 하루에도 수백 종의 책이 쏟아진다. 이렇게 많은 책들 속에 지식의 홍수 속에서 살아가고 있다. 이런 쏟아지는 책들 사이에 어떤 코딩 책을 골라야 할까? 그 방법을 알아보도록 하자
목차는 책에 어떤 내용들이 담겨 있는지 한눈에 알아볼 수 있는 목록이다. 그래서 책을 살 때는 맨 앞장에 목차는 훌륭한 참고자료가 된다. 코딩 책은 이 목차가 일반 책을 고르는 것보다 더 중요하다. 왜냐하면 현재 내가 필요로 한 기술이 담겨 있는지 확인할 수 있기 때문이다. 프로그래밍의 광범위하다. 모든 기술을 담은 책을 발간하려면 아마도 수 천 페이지가 될 것이다. 그렇기 때문에 책들은 저마다 특정 부분을 집중적으로 다룰 수밖에 없다. 목차를 확인해서 내가 현재 학습해야 하는 부분과 일치한 지 확인해보자. 가장 기초적인 방법이다.
좋은 책을 고르는 건 매우 어렵다. '좋은 책'이라는 기준도 애매하다. 인기가 많고 판매량이 높고 평점이 높아도 나에게 안 맞는 책이라면 무슨 소용이 있을까? '최승필' 독서교육전문가는 나에게 맞는 책을 고르는 방법을 이렇게 설명한다. '만만하게 읽을 수 있는 책을 골라라' 객관적으로 좋은 책이란 없다. 누군가에게 좋은 책이 나에겐 지루한 책일 수 있다고 한다. 그렇다면 어떻게 하면 내게 꼭 맞는 책을 고를 수 있을까? 우선 서점에 방문해 한 권의 책을 약 30페이지 정도만 읽어본다. 그런 방식으로 여러 권의 책을 읽다 보면 나도 모르게 술술 넘어가는 책이 있다면 그게 나와 맞는 책이라고 조언한다.
해당 조언을 코딩 책을 구매하는 방식에도 적용해보자. 저마다 코딩을 설명하는 참신한 방법이 많다. 그 책중에서도 분명 나에게 맞는 설명과 풀이 방식은 존재한다. 개발자를 준비하던 시절 책을 참 많이 샀다. 대부분 판매량이 높은 베스트셀러 위주의 구매였다. 그런데 정작 그 책들은 나에겐 너무 어려웠다. 아무리 읽어도 10페이지 이상 넘기기 힘든 책들이었다. 오히려 잘 맞지 않는 책으로 "나는 왜 이렇게 이해를 못 할까?"라는 불안감만 생겨났던 거 같다. 그래서 다시 서점에 가서 초보자를 위주로 자세하고 친절하게 설명해주는 책을 골랐던 기억이 난다. 하지만 10년이라는 경력이 흐르고 나서는 예전에 어려웠던 그 책들을 읽고 있다. 지금은 다행히 술술 넘어간다. 이처럼 시기에 맞는 책은 존재하는 거 같다. 유행을 따른 선택이 아닌 나에게 맞는 책을 서점에서 직접 골라 보도록 하자.
축구를 잘하고 싶다면 어떻게 해야 할까? 직접 공을 발로 차서 실전에서 연습해야 한다. 눈으로 경기를 매일 본다고 실력은 늘지 않을 것이다. 코딩도 마찬가지다. 학습자들이 가장 많이 실수하는 오류는 실습을 건너뛰는 것이다. 보통 코딩 책은 앞에는 기초와 이론을 다루고 마지막쯤에 가서는 실습을 한다. 그리고 작은 프로젝트까지 진행한다. 이 부분을 통해 눈으로 배워왔던 것을 머릿속으로 입력하는 단계이다. 그리고 여기서 한걸음 더 나아가 나만의 프로젝트를 완성해보자. 책에서 안내하는 그대로의 결과물도 좋지만 약간 변형해서 나만의 포트폴리오를 만들어 보는 것이 책을 활용하는 더 좋은 방법일 것이다.
책으로 하는 코딩을 공부할 때 가장 중요한 포인트는 바로 매일 하는 게 중요하다. 정말이다 꾸준하게 하는 것이 중요하다. 한번 리듬을 잃으면 앞에서 공부했던 내용들이 연결이 되지 않는다. 그래서 매일매일 조금씩이라도 하는 게 중요하다. 가장 좋은 방법은 한 번에 끝까지 공부하는 게 가장 좋을 수 있다. 그렇게 한 사이클이 돌면 이해가 훨씬 빠르고 오랫동안 잊어버리지 않는다. 하지만 체력과 시간은 한계가 있으므로 꾸준히 시간을 투자하여서 매일 이어간다면 훨씬 좋은 학습이 될 것이다.
두꺼운 코딩 책으로 공부를 시작하면 영원히 끝나지 않을 거 같은 지루함을 느낄 수 있다. 결국 의욕이 상실되고 그만두고 싶은 생각이 가득하다. 그래서 필자는 여러 책을 동시에 공부하는 방법을 추천한다. 이때 두 가지는 프런트엔드를 한다면 한 권은 백엔드를 HTML을 공부한다면 다른 책은 CSS로 이렇게 관련은 있지만 문법은 다른 언어들로 진행해보는 걸 추천한다. 그리고 다른 책으로 넘어갈 때는 정확히 진도를 체크해야 다시 돌아왔을 때 헷갈림을 방지할 수 있다.
필자는 코딩 공부를 시작한 학습자에게 "책부터 시작해보라"라고 감히 제안한다. 다음 장부터는 책이 아닌 다양한 학습 방법을 소개할 예정이지만 당신은 코딩 공부를 꼭 책부터 시작했으면 한다. 종이책이 주는 정감과 편암함도 있지만 그건 바로 마음가짐 갖게 하는 힘이다. 눈에 보이는 코딩 책 한 권을 책상 위에 올려두는 것만으로도 책상에 흐르는 온도를 바꾸어줄 수다. 정말 내가 개발자가 될 준비가 되었구나라는 강한 의지를 종이책 한 권의 담아 보는 것만으로도 이미 당신은 예비 개발자가 되었다고 선포할 수 있다.