course-banner

리액트 도움닫기 - The Road to learn React (2018) : 한빛미디어, leanpub


단풍이 한창 무르익어 가던 작년 10월의 어느 날, 유명 리액트 블로거이자 소프트웨어 엔지니어인 로빈 위어크(Robin Wieruch)에게 이메일 한 통이 왔다. 최근 그가 출판한 The Road to learn React의 한국어 역자를 찾고 있었다. 장고걸스 튜토리얼, SVG 튜토리얼 등 오픈 소스 튜토리얼을 번역했던 이력을 보고 연락을 보냈다고 했다. 리액트 생태계 내 저자의 명성과 영향력은 잘 알고 있었고 저자의 리액트 기술 블로그를 통해 많은 도움을 받은 터라 무척 반가웠다. 이제 리액트를 알아가기 시작할 때라 번역을 통해 리액트 개념을 스스로 정리할 수 있는 기회라 생각해 흔쾌히 제안을 수락했다.

그리고 지난 3월 드디어 리액트 튜토리얼 "리액트 도움닫기(The road to learn react)" 한국어 번역서를 전자책으로 출판했다.

공부하며 기부하기

로빈은 모두에게 리액트를 배울 수 있는 기회를 주고자 이 책을 오픈 소스로 출판했다. 이 책의 정가는 없다. 독자가 원하는 가격으로 구매하면 된다.

뒷 이야기는 이렇다. 로빈은 도서 판매 수익금 전액을 라오스의 빅 브라더 마우스(Big Brother Mouse) 자선 단체에 기부하고 있다. 빅 브라더 마우스는 개발도상국 어린이를 위해 영어 교육 프로그램을 운영하는 비영리 단체로 지역 도서관에 영어 동화책을 보급하는 일에 힘쓰고 있다. 로빈은 라오스와 베트남을 여행하면서 많은 어린이들을 만났고, 이들 대부분이 영어 교육을 제대로 받지 못한다는 것을 알게 됐다. 그리고 돌아와 어린이들을 후원하면서 동시에 더 많은 사람들이 경제적인 어려움 없이 교육을 받을 수 있는 방법을 고민했다. 이 어린이들이 영어를 배운다면 10년 후 그와 같은 소프트웨어 엔지니어로 자랄 수 있을 것이다고 생각했다. 그러던 중 소프트웨어 엔지니어로서 그가 가진 지식을 나눌 수 있는 매개체이자 후원 도구로 오픈 소스 튜토리얼을 떠올리게 됐다. 마침내 그는 그의 첫 저서인 The road to learn react를 오픈 소스로 공개했다. 책을 구매한 독자를 프로젝트의 후원자로 참여시키는 것이다. 공부도 하고 기부도 할 수 있다.

The road to learn react는 현재 한국어, 중국어, 프랑스어로 출판됐다. 현재 스페인어, 이탈리아어, 러시아어 번역 작업이 진행 중 이다. 나를 포함한 모든 번역가들은 그의 프로젝트 후원자로 보수없이 번역과 커뮤니티 활동에 참여하고 있다. 우리는 실제 로빈을 만나 얼굴을 보며 말한 적은 없지만 글을 통해 전해지는 그의 철학과 전문성에 깊이 감명받았고 서로를 신뢰하고 있다.

누군가의 도움닫기

사실 책 내용보다 책 제목을 두고 많은 고민을 했다. 원 제목인 'The Road to learn React'를 그대로 우리말로 옮기면, '리액트 왕도의 길(王道)', '올바른 리액트 학습법'정도 되겠다. 첫 제목은 '리액트 학습의 길'이라고 했다. 하지만 고등학교 때 본 수학의 정석 표지가 계속 연상됐다. 이 책의 취지는 독자들이 리액트 개발에 관심을 가지고 익숙해질 때 쯤 리덕스나 다른 도구들도 스스로 찾아보고 사용할 수 있게 하는 것이다. 물고기를 주는 것이 아니라 물고기를 잡는 법을 가르쳐주는 책이다.

어느 날 문득 내가 좋아하는 '달리기'가 떠올랐다. 무조건 정해진 길을 따라 빠르게 달리는 것이 중요할까? 더 멀리 뛰어오르기 위해서는 구름판이 필요하지 않을까? 강하게 두 발로 동시에 디디고 올랐다가 강한 탄성으로 멀리 뛸 수 있는 도움닫기가 진짜 필요한 것이 아닐까? 그리고 '도움닫기'라는 네 글자에 꽂혔다. 다음 단계로 껑충 뛰어 나갈 수 있는 도움닫기와 같은 책이 되면 어떨까. 그래서 이 책의 이름은 '리액트 도움닫기'가 되었다.

200 커밋의 기록

오늘로 커밋 200개를 기록했다. 11월 첫 날 첫 삽을 떴다. 하루에 한 문단이라도 꾸준히 번역하고 커밋하려고 노력했지만 곧 찾아온 기말고사와 프로젝트로 차일피일 미루게 됐다. 12월 말에 로빈에게서 번역 과정 진행에 관한 메일을 받은 후에야 정신을 차리고 속도감을 붙여 하루에 반 챕터씩 번역하기 시작했다.

글쓰기의 원칙은 말하는 듯이 자연스럽게 쓰는 것이다.

번역을 하면서 나의 잘못된 글쓰기 습관을 돌아보게 됐다. 우리말의 용법과 맥락을 고려하지 않으니 번역투가 그대로 드러났다. 주어 서술어 호응, 수동태 문제가 제일 많았다. 어색하게 느껴지는 문장은 입으로 소리 내어 말해보며 고쳐쓰기를 거듭했다.

그러나 생각보다 쉽지 않았다. 글쓰기 창작보다 번역이 더 어렵고, 번역보다 원 글을 재구성하거나 고치는 일이 훨씬 더 힘들었다. 문맥 상 이해가 되지 않은 부분은 재배치했고 자세한 설명이 필요한 경우 주석을 달았다. 원본은 목차 번호가 없었기 때문에 목차 번호도 추가했고, 장과 절로 구분했다. 영어 문장이 다소 복잡하게 느껴질 경우 문장을 분절해 최대한 간결하고 분명하게 작성하려 노력했다. 따라서 구어체가 아닌 문어체가 적합하다고 판단했다.

작년 파이콘 코리아에서 열린 번역자 모임에서 한국 IT 산업 세계화 학회(KIGO)를 알게 됐다. 한국 IT 산업 세계화 학회는 한국 IT 업계의 용어 표준화에 기여하기 위해 용어 표준화뿐만 아니라 학술 행사, 강연, 컨퍼런스, 분과 모임, 학회지 발간 등 다양한 활동을 이어가고 있다. 이 학회에서 출판된 KIGO 표준 스타일 가이드를 교본으로 삼았다. 실제 번역 사례와 유의할 점 등이 잘 정리되어 있어 다른 자료를 찾아보지 않아도 됐다. 소프트웨어 개발 관련 용어는 한국정보통신기술협회의 정보통신용어사전을 참고했다. 때마침 리액트 공식 문서도 한국어로 번역이 진행되고 있어 혹시라도 틀린 용어나 문장은 없는지 서로 비교했다. 추가로 오픈 소스 한국어 문서 등을 벤치마킹하며 나만의 번역 스타일을 잡아갔다.

좋은 프로그래밍 입문 서적이란 무엇일까?

독자 대부분이 책을 펼쳐 놓고 동시에 코딩 실습할 것이다. 읽었을 때 바로 이해가 쏙쏙 잘되는 책이 제일 좋은 책이 아닐까? 마치 옆에서 선생님이 차근차근 가르치고 설명하듯이 말이다. 한 번 읽었을 때 직관적으로 이해되지 않은 문장은 두 번 세 번 읽어 고치고 또 고쳤다. 오늘 리액트란 단어를 처음 듣는 사람도 읽고 이해할 수 있어야 훌륭한 입문책이라 생각했다.

전자책 출판

공식 영어 책과 번역서 모두 해외 전자책 판매 사이트인 린펍(leanpub)에 출판됐다. 린펍은 프로그래머 작가들 사이에서 꽤 유명한 서비스로 마크다운으로 글을 쓸 수 있고, 깃허브 저장소와 연동되어 출판 과정이 매우 편리했다. 수수료도 꽤 낮은 편이다. 한 가지 흠이라면 해외 서비스이다보니 국내 사용자 수가 매우 적다는 점이다.

한편 한빛미디어 전자책 출판 서비스인 리얼타임 편집자께서 연락을 주셔서 리얼타임에도 출판하게 됐다. 덤으로 예쁜 표지도 제작해주셨다. 최종 번역본이 완성된 후 편집자께서 오탈자나 오역도 꼼꼼히 수정해주셨다.

독자를 위한 학습 커뮤니티

로빈은 책 출판에 그치지 않고 슬랙을 통해 독자들을 위한 커뮤니티를 운영하고 있다. 각국에서 모인 1400명이 넘는 독자들이 이 책을 공부하면서 서로 궁금한 점을 물어보고 다른 사람들을 도와주고 있다.

slack-roadtoreactko

번역서 출간 이후 많은 한국인 독자들이 슬랙을 가입했고, 한국어 채널도 요청하여 개설했다.

Screen-Shot-2018-04-17-at-3.46.21-PM

그리고 이어서 중국어, 독일어, 이탈리아어, 포르투갈어, 러시아어, 스페인어 채널이 생겼다. 한 권의 책으로 다양한 국가의 개발자들이 모여 실시간으로 서로 질문하고 도움을 받는 모습이 꽤 흥미로웠다.

스터디 그룹 운영

아무래도 번역 그 자체에 몰두하다 보니 막상 코딩 실습을 할 시간이 없었다. 급하게 초벌 번역을 끝내 번역 품질에도 자신감이 없었다. 오탈자, 오역 등 콘텐츠 내 오류를 찾아줄 리뷰어가 필요했다. 스터디 그룹은 코딩 실습도 하고 동시에 리뷰어를 얻을 수 있는 좋은 방법이었다. 총 6주간 온라인과 오프라인 동시에 스터디 그룹을 운영을 했다. 오프라인 모임은 매주 토요일 오전 10시에 모여 2시간 동안 한 챕터를 읽고 실습했다. 깃허브에 새 리퍼지토리 hackernews를 생성한 후, 실습한 내용을 커밋한 후 커밋 로그를 공동 문서에 남겼다.

react-weeklyProgress

기존 해외 독자들의 추천사만 있었기에 추가로 국내 독자들의 리뷰도 받았다. 스터디 그룹 멤버들이 친히 추천사를 작성해주신 덕분이다.

  • 강지원 "리액트를 처음 접하는 사람도 알아듣기 쉽게 쓰여진 책. 흥미로운 실습 위주로 진행되기 때문에 지루하지 않게 내용을 따라갈 수 있습니다. 덤으로, ES6까지 자연스럽게 함께 익힐 수 있습니다."
  • 기발자 "리액트 중요 개념을 익히는데 도움이 되었습니다."
  • 김주온 이 책으로 리액트의 기본 개념을 잡을 수 있었습니다. 리액트를 시작하려는 분들에게 최고의 입문서로 추천합니다.
  • 최세영 "쉬운 한글을 사용하고 있어 이해하기 쉬웠습니다."
  • 진영화 "스스로 따라 하며 공부할 수 있는 책"
  • 박희정 "직접 실습하며 리액트 기초 지식과 함께 개발 실력을 높일 수 있었습니다. ES6 입문서로도 손색없습니다. 자세한 설명과 예제가 곁들여져 있어 개념 이해와 활용 모든 면에서 좋았습니다."

아쉽지만 참가자 중 50%(19명 중 8명)만 모든 실습을 마쳤다. 하지만 내 자신이 번역가가 아닌 실제 학습자가 되어 충실하게 실습을 해본 덕택에 전반적으로 콘텐츠를 검수하고 개선할 수 있었다. 독자들의 생생한 리뷰와 피드백도 직접 들을 수 있었다.

끝없는 업데이트

리액트 업데이트 주기는 매우 빠르다. 번역서를 출간된 지 두 주가 지나지 않았는데 리액트 16.3 버전이 업데이트됐다. 지금 로빈은 생명주기(라이프사이클) 장 내용을 다시 수정하고 있다. 개정판이 배포되면 나 역시 해당 장의 내용을 수정해야 한다. 종이책이 아닌 전자책이기에 가능한 일이다. 언제든지 최신 버전의 콘텐츠를 유지할 수 있다.

번역 이외에도 몇 가지 추가 내용을 제안했다. 다른 리액트 책과 비교해서 없었던 내용인 디버깅 방법과 npm 대신 yarn 사용법 등도 포함되면 좋을 것 같아 깃허브 이슈를 남겼다. 로빈이 도움을 요청했지만 해당 문서까지 집필할 능력은 되지 않는 것 같아 보류 중이다.

how-to-debug-question

리뷰어의 풀 리퀘스트

깃허브를 이용한 자가 출판의 장점은 이 책에 감동을 받은 독자들이 콘텐츠의 오류 사항을 수정해 풀 리퀘스트를 보낼 수 있다는 점이다. 페이스북과 트위터는 물론, 리액트 사용자 그룹 등에 저장소를 공유했고 많은 분들이 관심을 가져주셨다.

특별한 요청을 하지 않았는데도 총 7명 개발자 분들이 선뜻 나서 주셔서 오탈자를 검수해주시고 풀 리퀘스트를 보내주셨다.

contributors

인터뷰와 상금

출간 이외에도 소소하지만 즐거운 일이 있었다. 리얼타임에 출판 후 "오픈소스 문서 번역" 관련 인터뷰 요청이 왔고 한빛미디어 웹사이트 대문에도 실리게 됐다.

그리고 리얼타임 출간 이벤트 상금으로 지원금 30만원을 받았다.

#한빛미디어 감사합니다

Sujin Lee 이수진(@sujinlee.me)님의 공유 게시물님,

지적 공유의 즐거움

공유를 하면 즐거움의 참맛을 알게 되고, 배움에 살이 붙고, 문제를 해결하는 능력도 배가된다. 선순환이 일어난다. 그래서 개발자 문화의 진정한 핵심은 공유다. 배움과 즐김과 해결의 끝은 공유다.

존경하는 임백준 작가님의 말씀이다.

리액트 도움닫기(The road to learn react) 번역 활동을 통해 잊고 있었던 배움과 즐김, 해결, 공유의 즐거움을 다시 느끼고 회복할 수 있었다. 독자에서 번역가로 4개월을 보내며 코드 뿐만이 아니라, 글쓰기, 콘텐츠 개발, 프로젝트 관리, 프로그래밍 교수법, 자기 브랜딩 등 정말 많은 것들을 배웠다. 지구 반대편에서 같은 마음을 가진 이들을 온라인으로 만나 프로젝트에 동참하고 기여했다는 것만으로도 돈으로 살 수 없는 큰 경험을 가지게 되었다.

내 꿈은 누구든지 돈 걱정없이 마음껏 기술을 배울 수 있는 '교육 평등'한 세상을 만드는 것이다. 지금 돌아보니 내가 현재 있는 위치에서 오픈 소스 튜토리얼 번역이라는 방법으로 그 꿈을 소박하게 이룬 것 같다.

한 사람의 '지적 공유'가 누군가의 삶을 바꾼다는 것.
내가 가진 지식을 기꺼이 내어 준 누군가의 헌신과 수고가 있었기에 모두 가능했던 일이다.

부족한 나에게 번역의 기회를 준 로빈 위어크에게 진심으로 감사의 말씀을 전한다.


이 글을 쓰고 난 후, 독자 세 분이 '리액트 도움닫기' 후원자가 되어주셨습니다. 첫 후원자이신 신광식 선생님은 이 책을 개발팀 동료들에게 건내면서 다음과 같이 말씀하셨다고 합니다.

배운다는 것은 지식을 넘어 공유를 할 수 있는 가장 쉬운 일이고 멋진 일이지. 우리 개발팀들의 마음에도 배움을 자신의 지식을 쌓는 원천으로만 그치지 않고 누군가의 삶에 영향력을 주기를 희망한다.

그리고 저에게도 따뜻한 응원의 메시지를 남겨주셨습니다.

좋은 일에 숟가락 얹으려고 방금 결재하고 왔어요. 개발팀들도 좋아할 것 같네요. 세상을 변화시키는 것은 나의 작은 실천부터가 아닐까 생각이 드네요. 오늘은 상쾌한 하루가 될 것 같아요. 저 먼 곳에서도 교육의 열풍과 따뜻한 가림막이 아이들에게 전해지길 기도할게요.

모두가 평등하게 교육을 받을 수 있는 사회를 지지하며 후원해주신 친구 여러분들에게 감사드립니다.