본문 바로가기

끄적끄적

<스프링 부트 3 백엔드 개발자 되기> 책 집필 후기

 

1년 반 넘게 열심히 집필한 제 첫 책이 세상에 나왔습니다. 제목은 <스프링 부트 3 백엔드 개발자 되기>이며, 대상 독자는 자바 언어는 익혔지만 서버 개발은 처음인 입문자를 위한 책입니다 :)

이번 포스팅에서는 제가 어떻게 책을 집필하게 되었는지, 어떤 과정을 거쳐 집필을 했으며, 집필 후에는 무엇을 했는지에 대해 두서없이 적어보려고 합니다. 제 경험이 누군가에게 도움이 되었으면 좋겠습니다.


1. 집필 준비

집필 제안

집필 제안

집필 제안을 받은 것은 2021년 8월이었습니다. 감사하게도 출판사에서 제 블로그를 인상 깊게 보시고 메일로 집필 제안을 주셨고, 제안을 받은 당시에는 무엇을 했는지 기억이 나지 않지만 이것저것 많이 하던 시기라서 제가 책을 집필하기 위해 가용할 수 있는 리소스가 부족할 것 같은 상황이라 꽤 많이 고민을 했습니다.

그러나 “집필”이라는 경험이 누구나 해볼 수 있는 경험도 아니었고, 예전부터 해보고 싶었던 일이었기 때문에 고민 끝에 집필을 해보기로 결정했습니다. 그래서 담당자님께 집필 의사를 밝혔고, 집필 계획서 양식을 보내주셨습니다.

집필 계획서

집필 계획서 중 일부 - 1
집필 계획서 중 일부 - 1

처음에 제가 생각했던 제목은 <왕초보를 위한 스프링부트> 였습니다. 지금 제목인 <스프링 부트 3 백엔드 개발자 되기> 와는 다르지만, 컨셉이나 내용은 동일합니다. 사진에서는 제목, 책 소개만 첨부했지만 이외에도 몇 가지 정보를 더 담아 작성했습니다.

  • 저자 소개
  • 경쟁서 비교
  • 목차
  • 원고 예상 분량
  • 집필 일정
  • 도서 홍보 계획

 

계약서

집필 계획서가 완성된 이후에는 담당자님과 만나 간단한 미팅을 진행하였고, 그 자리에서 계약서까지 작성하였습니다! 🥳 이때부터 정말로 책을 집필하기 시작하게 된 것이죠.

사실 책을 집필하기 시작할 때만 해도 집필에 굉장히 오랜 시간과 노력이 들어간다, 하다가 중간에 포기했다, 집필하는 내내 너무 스트레스를 많이 받았다는 말들을 익히 들어왔지만

난 할 수 있어! 블로그 글도 많이 써봤으니까 충분히 할 수 있겠지~!라는 마인드로 씩씩하게 집필을 시작하게 되었습니다.


2. 집필 과정

계획

 

맨 처음 계획 타임라인

제가 세웠던 계획은 2주마다 1장씩 쓰기였습니다. 담당자님의 조언으로 실습 부분을(4장~11장) 먼저 집필하고 이론 부분을(1~3장)을 쓰기로 했죠. 그래서 이론상 2022년 3월에는 집필이 끝나야 했습니다.

하지만…

저도 그저 그럴싸한 계획일 뿐이었고 현실은 계획대로 흘러가지 않았습니다… 🥲

 

원고 작성

원고를 쓰는 것은 생각보다 어려웠습니다. 블로그 글같이 호흡이 짧은 글과 달리 원고는 적어도 20~30페이지를 작성해야 했고, 원고를 모두 작성하면 담당자님이 피드백을 해주시는데 첫 피드백에는 내용이 부족하다는 피드백이 압도적으로 높은 비율을 차지했습니다.

피드백

그러면 2주 만에 초안을 완성해도 피드백 받은 내용을 수정하거나 마음에 들지 않는 부분은 통째로 다시 작성하다 보니 하나의 챕터를 작성할 때 2주는 우습게 넘기게 되었습니다. 그러면서 일정이 점점 늘어지기 시작했죠. 그런데도 피드백 하나하나가 제 글쓰기 능력을 성장시키기 위한 좋은 자양분이 되었습니다. 여러분의 글쓰기 능력에도 도움이 조금이나마 될까 싶어 개인적으로 저에게 도움 된 피드백 몇 가지를 소개해 드리겠습니다 😉

  • 앞으로 스프링 부트를 사용하면서 라이브러리와 프레임워크라는 용어를 자주 사용할 텐데 지금 여러분은 이정도만 이해하고 넘어가도 충분할 것이라 생각합니다. ~~~
    • 이 용어를 가르쳐주시는 이유를 정리해 주시고(왜 배우는 지), 이후 내용은 스프링 부트 개발과 크게 관련이 없다면 제외해도 될 것 같아요(독자는 봐도 잘 모를 것 같습니다).
  • 웹 개발이 처음인 여러분에게는 매우 생소한 용어일텐데요.
    • 저는 이런 걸 독자 서비스 멘트라고 하는데요. 없어도 상관 없는데, 나는 독자 여러분 당신을 알고 있으며, 당신들을 위해 설명하고 있다는 느낌을 주기 좋은 문장입니다. 이후 피드백을 반영하시면서 이런 아이디어가 떠오르시면 중간중간 문장을 보완해 주세요.
  • 아이피(IP)는 간단히 말해 ~~~입니다. 그래서 아이피를 알면 서버를 찾을 수 있죠. 쉽게 말해서 아이피가 식당이라면 포트는 ~~~를 상상하면 됩니다.
    • 설명의 난이도를 좀 쉽게 내려야 할 것 같아요. 비유를 들어서 설명하면 좋지 싶습니다. 예를 들어서 아이피가 식당이면 포트는 ~~다.
  • 스프링 부트 3을 사용할 여러분은 모르셔도 상관없지만, 이 기능이 없었을 때는 매우 불편한 방법으로 값을 파싱해야 했습니다.
    • 왜 알려주는지! 왜 좋아지는지 꼭 서비스 멘트를 써주세요.

 

이 외에도 많은 피드백을 받아나가면서 원고를 갈고닦았습니다. 그렇게 나름 순탄하게(?) 흘러가던 도중 또 하나 예상치 못한 장애물이 등장했습니다.

 

번아웃

이때쯤이 2022년 중후반 정도로 기억하는데, 이때 많은 회사 일이 있었고, 집필뿐만 아니라 신경 써야 하는 일이 많았을 때여서 저도 모르는 사이에 스트레스와 부담감이 조금씩 쌓이고 있었을 때였습니다. 그러다가 같은 시간을 일해도 예전만큼 일의 능률이 올라가지 않는 저 자신을 마주했고, 그제야 내가 번아웃이 왔구나! 라는 것을 스스로 눈치챌 수 있었습니다. 당연하겠지만 번아웃은 집필 계획에 없었고, 하루라면 쓰는 분량인데도 이주일이 지나도록 원고에 손도 안 대는 일이 일어나기도 했습니다.

하필 번아웃이 온 당시에 게임을 시작했는데, 불행 중 불행으로 제가 시작한 게임의 장르는 RPG였습니다. 퇴근하고 게임을 켜서 자기 전까지 게임만 하는 게 일상이 되었습니다. 그 와중에도 책 써야 되는데... 공부도 해야 되는데... 사이드 프로젝트도 해야 되는데...라는 “생각만” 하면서 손가락은 화면 속 몬스터만 잡고 있었죠.

그렇게 22년의 반년을 날려 보냈습니다. 그런데도 양심에는 찔려서 원고를 작성하긴 했는데 글을 쓰는 게 재밌지도 않고 꾸역꾸역 쓰다 보니 제가 봐도 읽기 싫은 퀄리티의 글이 완성됐었죠.

초안

부끄럽지만 그 당시 작성했던 글을 살짝 공개합니다 🥹 참고로 이때 작성했던 글은 모두 갈음하고 새로운 글로 탈바꿈했습니다. 원고의 한 챕터가 나오는 기간도 2주에서 2개월로 급격하게 늘어났는데요. 지금 생각해 보면 출판사 입장에서 답답하다고 느껴질 수도 있다고 생각하는데 담당자님은 한 번도 재촉하신 적이 없습니다. 그저 걱정 말고 저자님의 속도대로 글을 작성해달라는 말씀만 해주셨죠. 지금 생각해 보면 이런 배려 덕분에 완주할 수 있었던 것 같습니다.

번아웃에 대해서는 한 페이지를 가득 채울 정도로 글을 쓸 수 있을 것 같지만 오늘의 주제는 번아웃이 아니기 때문에 여기까지만 작성하겠습니다. 어찌저찌 번아웃은 잘 극복했습니다. 다만 예전만큼 열정적으로 공부를 하거나 자기 계발을 하거나 하진 않고 여전히 게임도 하지만 제가 공부하고 싶은 것이 하나씩 생기고 자기 계발과 취미생활의 시간도 잘 조절하면서 지내고 있습니다. 😄

 

스프링부트 3.0

스프링부트 3.0

책을 집필하는 과정에 또 하나의 대격변이 일어났습니다. 기존의 제 책은 2.7 버전을 사용하고 있었는데, 집필 중에 스프링 부트3이 출시된 것입니다. 3 버전이 출시된 마당에 2.7 버전으로 집필할 수는 없었기 때문에 부랴부랴 릴리즈 노트를 읽으며 예제 코드를 3 버전 기준으로 바꾸고 책 내용도 3 버전을 기준으로 수정했습니다.

제가 아는 내용만 적다 보니 스프링 부트3에 대한 내용은 책 전체 내용 중에서는 극히 일부였고, 전체적인 내용은 스프링부트 “3”에 집중하기보다는 “스프링부트”3에 집중한 내용이었기 때문인데요. 실제로 베타 리더분의 피드백 중에서는 스프링부트3 책인데 스프링부트3에 대해 깊게 다루지 않고 CI/CD, AWS 내용을 다뤄서 아쉽다.라는 의견도 있었습니다. 저도 이 부분에 대한 고민이 많았는데요.

 

3 버전을 쓰는 것은 출판사의 입장에서 굉장한 셀링포인트이기 때문에 놓치기 싫었을 것이었고, 저는 독자가 실망하는 상황이 만들어지지 않길 바랐습니다. 그렇다고 스프링부트3을 제대로 사용해보지 않고 아는척 글을 쓰기도 싫었습니다. 그래서 이 고민을 담당자님께 전달했고, 여러 사람의 논의를 거쳐 제 책은 제목이 바뀌게 되었습니다.

전) Must Have 스프링부트3
후) 스프링부트3 개발자 되기

 

어떤가요? 사람마다 다르게 생각하겠지만 저는 나름 만족했습니다. 스프링부트”3”에 집중하기보다는 개발자가 되고 싶은 사람을 위한 책인데, 그러기 위해 “스프링부트3”라는 기술을 사용한다는 느낌이 드는, 뭔가 더 입문자를 위한 느낌의 책이 된 것 같은 뉘앙스가 느껴졌기 때문에 나름대로 부담감도 줄어들었습니다.

 

원고 완성

어찌어찌 원고를 완성했습니다! 솔직히 중간중간 포기하고 싶었을 때도 많았지만 과거의 저는 저 자신을 믿지 않았기 때문에 제 나름대로 방어장치를 세워뒀습니다. 지금 생각해도 웃기기도, 부끄럽기도 하지만 저에게는 나름 큰 도움이 되었기 때문에 대표적인 두 가지만 소개해 드리겠습니다. 😂

티 내기

초반에 동네방네 책을 쓰고 있다고 말하고 다녔습니다. 10명한테 말하면 2명은 기억해 주시고 중간중간 책 어디까지 완성되셨어요?라고 물어봐주셨습니다. 이때 죽어도 너무 힘들어서 그냥 관뒀어요라고 말하기 싫어서 어떻게든 완주하게 되었습니다.

 

탕진

처음에 계약을 할 때 선급금이라는 것을 받는데요. 선급금은 어떤 작업이나 계약의 일부 또는 전액을 사전에 지급받는 금액입니다. 따라서 만약 책을 다 집필하지 못하면 이 선급금을 반환해야 합니다. 중~후반쯤에 이대로는 안 되겠다 싶어서 고민하던 찰나에 회사 동료가 선급금을 날려 먹으면 어떻게든 하게 되지 않을까요?라는 명 조언을 주셔서 세이프 박스에 고이 모셔둔 선급금을 몽땅 주식에 몰빵 했습니다. 실제로 저 나름대로 꽤 효과가 있었습니다. 참고로 그 주식은 지금 몇 달째 매도하지 못하고 끌어안고 있습니다 … :)

실제로 워킹한 것도, 워킹하지 않은 것도 있지만 어쨌든 방어장치를 세워둔 덕분에 완주한 게 가장 큰 것 같네요.


3. 조판

출판사마다 다르겠지만 저의 책 출판 과정은 아래와 같습니다.

  1. 집필 계획서 작성
  2. 계약서 작성
  3. 원고 작성
  4. 피드백받은 내용을 바탕으로 원고 수정
  5. 베타 리더 피드백 반영
  6. 1차 ~ n차 조판
  7. 출판

 

어찌어찌 원고 작성, 피드백 수정, 베타 리더 피드백 반영까지 하고 드디어 6. 조판을 진행하게 되었습니다. 조판이라는 단어가 어색하신 분들을 위해 설명하면, 조판은 인쇄물이나 출판물의 레이아웃 및 디자인을 구성하는 과정을 말합니다. 쉽게 말하면 책의 PDF 버전을 받아 다시 확인하는 과정을 거치는 것이죠.

사진을 보시면 더욱 이해하기 쉬울 것 같은데요. 원고 때는 내용의 큰 흐름에 집중한다면, 조판 때는 그것보다는 디테일에 더욱 집중하게 됩니다. 예를 들어 오탈자는 있는지, 내용에 오해할 만한 내용은 없는지, 그림에 잘못된 부분은 없는지, 코드가 제대로 실행되는 부분은 없는지 같은 부분이 있습니다.

조판본의 피드백

조판본이 나올 때까지 정말 여러 번 봤다고 생각했는데, 새로운 형태로 결과물이 나오니 다시 수정할 부분이 자꾸만 눈에 보이고 여러 번 수정을 거쳤습니다. 특히 첫 조판본을 볼 때는 코드를 따라 치며 1페이지부터 끝까지 봤는데요. 이미 여러 번의 수정을 거쳤음에도 불구하고 주석을 104개나 달기도 했습니다. (물론 2차, 3차, 4차 조판까지도 주석은 계속 추가되었습니다 … ㅎㅎ)


4. 출판

책 실물

그리고 드디어!! 길고 긴 여정을 마치고 ⭐️출판⭐️을 하게 되었습니다. 번아웃 기간과 겹치면서 예상보다 집필 기간이 길어졌는데요. 솔직히 … 출판사에는 죄송스럽지만 이미 수중에 스프링부트 책이 많기도 했고, 경쟁서들이 너무 쟁쟁했기 때문에 기대치가 낮았습니다.

 

 

그런데 이번에도 제 예상이 시원하게 깨졌습니다. 생각보다 너무 반응이 좋았습니다. 스프링부트 버전 3을 사용해서 그런지, 출판사에서 홍보를 잘해주셔서 그런 건지는 모르겠지만 반응이 좋으니 얼떨떨하기도 하고 기쁘기도 했지만, 한편으로는 불안했습니다. 1년 넘게 집필을 한만큼 들인 노력이 많기도 하고 처음으로 낸 유료 콘텐츠인데 독자가 실망을 하면 어쩌지 싶은 마음이 가장 컸습니다. 실제로 책이 발송된 날에는 속이 울렁거리고 하루 종일 신경이 곤두서있었습니다.

다행히도(?) 저는 꽤 감정을 잘 표출하고 투명하게 공유하는 성격이어서 담당자님, 친구들, 동료들에게 불안하다는 감정을 많이 표출했고 정말 좋은 말씀을 많이 해주셔서 많은 힘이 되었습니다. (감사합니다 ❤️)


5. 지금은?

지금은 꽤 안정기에 접어들었습니다. 주변에서 책을 너무 잘 보고 있다는 말을 전해 듣기도 했고, 실제로 제 책을 읽고 오탈자를 제보해 주시거나 도움이 되었다고 메일로 직접 말씀해 주시는 것을 보면서 쓸모없는 걱정이었다는 것을 깨닫게 되었습니다. 아직까지 제 책에 대한 비판을 받진 못했지만 나중에라도 받게 된다면 성장을 위한 피드백으로 받아들이고 보완해서 다음에는 같은 피드백을 받지 않겠다는 마음가짐도 가졌습니다. (잘 될진 모르겠지만...) 생각해 보면 이런 불안감도, 번아웃도 모두 시간이 해결해 줬네요. 😄

서두에 책 집필하신 분들에게 어땠냐고 물어보면 집필에 굉장히 오랜 시간과 노력이 들어간다, 하다가 중간에 포기했다, 집필하는 내내 너무 스트레스를 많이 받았다는 말을 한다고 하는데요. 누군가 저에게 그래서 책 집필하는 거 어땠어요?라고 물어보면 이렇게 대답할 것 같습니다.

 

 

집필에 굉장히 오랜 시간과 노력을 들였고, 하다가 중간에 포기할 뻔했고, 집필하는 내내 꽤 많은 스트레스를 받았습니다. 정말 힘들었지만 그 힘듦과 맞바꿀 수 있을 만큼 너무 좋은 경험이었습니다. 주위에 추천할 의사가 있냐?라고 물어보면 한 번쯤은 할 만하다!라고 꼭 말씀드리고 싶습니다.

솔직하게 제 마음을 꾸미지 않고 있는 그대로 작성하다 보니 뭔가 날것의 글이 된 것 같은데요. 하고 싶은 얘기가 너무 많았지만 다 쓰면 10부작이 될 것 같아 추리고 추렸더니 더 담고 싶었던 내용이 빠지게 된 게 아쉽기도 하네요. 지금까지 읽어주셔서 감사합니다. 끝!

'끄적끄적' 카테고리의 다른 글

2023.log  (3) 2023.12.31
2021.log  (6) 2021.12.30
토이프로젝트에서 Data Driven으로 프로젝트하기  (0) 2021.07.20
똑똑한 스타트업처럼 토이 프로젝트하는 비결  (0) 2021.05.12