В 2019 году я опубликовал техническую книгу о JavaScript на Amazon с Apress Media. Вместе с другими статьями на эту тему, такими как Экономика написания технической книги и 13 советов по написанию технической книги, я надеюсь, что это может послужить точкой данных и руководством для всех, кто хочет писать и публиковать их первая техническая книга.

Начиная

Летом 2016 года я любил слушать подкаст Вопрос дня. В одном из эпизодов обсуждалось книгоиздание и предполагалось, что в наши дни этим может заниматься каждый. Я отмахнулся от этой идеи, но меня заинтересовала идея однажды написать книгу. В то же время я проходил онлайн-курс по науке о данных, где профессора публиковали книги на платформе под названием Leanpub. Мне было любопытно узнать об этой платформе, и я быстро обнаружил, насколько легко публиковаться самостоятельно. Также в то время моей работой была разработка приложений на JavaScript. Несмотря на то, что JavaScript был сегодня одним из самых актуальных языков программирования, его никогда не преподавали в стандартном образовании по информатике. Чувствуя себя расстроенным, у меня появилась идея, что я напишу об этом сам.

Используя Leanpub, я сразу же смог приступить к работе над книгой. Технология Leanpub преобразует файл .txt с синтаксисом, подобным Markdown, в скомпилированную электронную книгу в формате PDF. Летом по вечерам я писал как можно больше о JavaScript, и мне нравился этот процесс.

В сентябре 2016 года я выставил первую версию книги по цене пожертвований от 0 до 10 долларов. Неудивительно, что без каких-либо усилий по продвижению или маркетингу было продано не так уж много копий. В то время из-за занятости на работе и учебе я не продавал книгу. Однако в январе 2018 года редакционный директор Apress спросил о возможности публикации со мной. Я сразу же взволнованно принял это предложение, и это привело к процессу публикации.

Процесс публикации

Процесс публикации для Apress media можно найти на их веб-сайте, и он происходит в следующем порядке: первая версия, техническая проверка, редакционная проверка и второй черновик.

Целью первого черновика является написание основного содержания книги. Хотя я уже написал большую часть контента, я провел лето 2018 года, добавляя несколько дополнительных глав. Раз в две недели я связывался с редакцией о ходе работы над черновиком.

Техническая проверка гарантирует, что исходный код работает должным образом. Мне повезло, что в качестве технического обозревателя у меня был Фил Нэш, опытный евангелист-разработчик.

Редакционная проверка фокусируется на написании и гарантирует, что объяснение технических концепций будет максимально ясным и кратким. В обоих процессах рецензирования редактор и автор (я) переходили от одного предложения к другому. 2-й черновик предназначен для значительного переписывания или изменения структуры любых глав. Например, я добавил раздел «упражнения» для каждой главы, где читателям предлагается решить алгоритмические задачи. За вторым черновиком снова следуют технические и редакционные обзоры. Наконец, редакция подпишет и отправит в печать!

Корейский перевод (^ㅂ^)

К моему удивлению, южнокорейское издательство Acorn Publishing приобрело права на корейский перевод моей книги. Как гордый корейско-канадец, это была самая захватывающая новость. В настоящее время я работаю с издателем над переводом и доработкой книги.

Ошибки и размышления

Опечатки и ошибки неизбежны. Южнокорейский издатель обратил мое внимание на несколько мелких ошибок при переводе книги. Я составляю их список на Github для будущих читателей.

Размышляя над всем пережитым, я понял две важные вещи. Во-первых, написание технической книги — это страстный проект. Не пишите техническую книгу, ожидая большой финансовой отдачи; подробнее об этом здесь. Во-вторых, объяснить технические концепции очень сложно. Много раз я объяснял концепции, не понимая, что аудитория может не иметь достаточной подготовки, чтобы это понять. На самом деле это позволило мне значительно вырасти на работе, где я почувствовал, что мои навыки общения с другими разработчиками программного обеспечения значительно улучшились.

В общем, если вы инженер-программист, увлеченный определенной темой, подумайте о написании технической книги! Это увлекательный процесс, наполненный саморазвитием. Теперь вы знаете, с чего начать 😉

Спасибо за чтение! С удовольствием отвечу на конкретные вопросы по процессу. Пишите мне по электронной почте: [email protected]

и если вам интересно узнать о структурах данных в JavaScript, рассмотрите возможность прочтения моей книги или ознакомления с репозиторием Github!