프로그래머의 책쓰기: 나도 IT 책 잘 쓰면 소원이 없겠네!
프로그래머를 위한 책쓰기 요령을 공유하는 저장소입니다. 슬랙 채널 가입하기
IT 책 대부분에 적용할 수 있는 범용 집필 가이드(프로그래머의 책쓰기)와 구체화된 특정 패턴을 다루는 패턴별 집필 가이드로 구성됩니다. 일반적인 글쓰기 책에서 다루지 않은 더 구체적인 가이드를 제공해 프로그래머의 책쓰기 진입장벽을 낮추고, 이를 시작으로 다른 분들도 자신만의 패턴을 정리하고 공유하여 함께 키워갔으면 하는 바람입니다. 모든 자료는 피드백을 받아가며 지속해서 수정할 계획이며, 아직 수가 부족한 패턴별 가이드도 차차 늘려가겠습니다.
범용 집필 가이드
패턴별 집필 가이드
포스트
- <프로그래머의 책쓰기> 또 다른 의도... at 2018-03-22
- <3분 딥러닝>은 어떻게 <작심3일>이 되었나? at 2018-03-14
번역 가이드
아래는 <프로그래머의 책쓰기>의 서문입니다.
들어가며
“IT 책쓰기는 소프트웨어 개발과 매우 비슷하다!”
2010년 전후의 저는 소프트웨어 아키텍트를 꿈꾸는, 주변에서 나름 인정해주는 프로그래머였습니다. 소프트웨어 제품의 큰 그림을 그리며 모듈을 나누고, 각 기능을 완수하기 위해 모듈 사이의 상호작용을 매끄럽게 이어주는 일에 본능적으로 끌렸죠. 그래서인지 학생 때부터 나만의 라이브러리를 가꿔왔고 사회에 나와서도 다행히 커다란 프로젝트의 주니어 아키텍트 역할은 몇 번 맡아보았습니다.
그러다 갑자기 책 만드는 일에 뛰어들었는데, 업을 바꾼 초기부터 느낀 것이지만 책쓰기와 소프트웨어 개발은 매우 비슷하더군요. 책을 만든 지도 어느덧 5년째, 이제는 더 또렷해진 그 생각을 감히 풀어볼까 합니다.
이 책은 글쓰기 안내서가 아닙니다. 정갈하고 예쁘고 논리적이고 우리말다운 글쓰기 요령은 전혀 다루지 않습니다.
이 책은 돈 되는 책쓰기 안내서 또한 아닙니다. 돈벌이까지 생각하려면 복잡한 비즈니스적인 전략과 마케팅까지 고민해야 해서 초점이 흐려집니다.
대신 이 책은 IT 책 한 권을 완성해가는 ‘과정’을 소프트웨어 제품 개발에 빗대어 설명합니다. 가능한 한 프로그래머의 관점에서 프로그래머의 언어로 설명할 것입니다. 실무 개발 경험이 거의 없는 사람에게는 와닿는 정도가 약할 거라는 걱정도 앞서지만, 내 능력껏 도전한 다음 부족한 점은 점차 개선하겠습니다.
대상 독자
- 실무 경험이 어느 정도 있고 나만의 책을 한 권 써보고 싶은 소프트웨어 개발자
- 막연히 나도 책을 쓸 수 있는지 도전해보고 싶은 프로그래머
이 책의 구성
크게 다섯 개의 장과 하나의 부록으로 구성했습니다. 1장은 도입, 2~4장은 차례로 분석, 설계, 구현(과 시험) 단계를, 5장은 콘셉트가 명확한 책들의 패턴 몇 가지를 소개합니다.
분석, 설계, 구현, 시험은 고리타분한 구분이지만, 취미가 아닌 ‘제품’을 만들려면 어떤 형태로든 제작 과정에 녹여야 하는 단계들이죠. 이 책에서는 편의상 각 단계를 명확히 구분해 설명하지만, 실전에서는 상황에 맞게 동시 수행되고 교차되고 ‘특히’ 반복될 수 있습니다. 소프트웨어 개발에서 이러한 운용의 미를 살릴 수 있는 개발자라면 책쓰기에서도 그 노하우가 큰 도움이 될 겁니다.
4장까지가 마치 객체지향 설계처럼 ‘범용적인’ 내용을 다룬다면, 5장은 GoF의 디자인 패턴처럼 ‘더 특화된’ 가이드라 할 수 있습니다(반응이 좋고 여건이 된다면 5장을 대폭 보강한 ‘수정보완판’을 펴내고 싶습니다).
각 장의 조금 더 자세한 내용은 다음과 같습니다.
1장. 소프트웨어 개발과 책쓰기
소프트웨어 개발과 책쓰기가 어떻게 비슷한지 큰 그림에서 설명합니다.
2장. (분석) 고객을 알고 너를 알라!
요구분석 단계, 즉 어떤 책을 쓸지를 정하는 단계입니다. 독자의 니즈를 파악하고, 시장을 분석하고, 내가 어떤 솔루션을 제공할 수 있는지를 고민합니다.
3장. (설계) 아키텍처 설계에서 프로토타이핑까지
설계 단계, 즉 책의 콘셉트에 맞도록 큰 구성(목차)과 흐름을 잡는 단계입니다. 큰 구성이 잡히면 각 장과 절이 물 흐르듯 이어지도록 간략히 내용을 채워 넣습니다.
4장. (구현) 쓰고, 다듬고, 테스트하고
구현 단계, 즉 3장에서 잡은 뼈대에 살을 붙이고 다듬어가며 책을 완성하는 단계입니다. 코딩, 리팩터링, 테스팅에 해당합니다.
5장. 개앞맵시의 책쓰기 패턴들
책의 주제, 독자의 특성과 요구사항에 맞는 구체적인 책 구성 패턴들을 제시하고, 유사점과 차이점을 정리해봅니다. 2~4장이 객체지향 설계처럼 ‘범용적인’ 내용을 다뤘다면, 5장은 GoF의 디자인 패턴처럼 더 특화된 가이드라 할 수 있습니다.
부록. (생애주기) 좋은 책이었다!
원고가 어엿한 한 권의 책이 되기까지는 저자 외에도 많은 사람의 손을 거칩니다. 이 부록에서는 디자인, 제작, 홍보, 유통, 관리 등을 포함해 한 권의 책이 기획해서 절판되기까지의 생애주기를 간략히 따라가봅니다.
이 저장소의 모든 저작물의 저작권은 한빛미디어(주)에 있으며, 별도 언급이 없는 한 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 4.0 국제 라이선스에 따라 이용할 수 있습니다.