Quantcast
Channel: Найцікавіше на DOU
Viewing all articles
Browse latest Browse all 8115

Как я писал книги и что из этого вышло. Опыт QA инженера

$
0
0

Меня зовут Гена, я занимаюсь автоматизацией тестирования с 2003 года (т. е. начинал ещё до того, как это стало модным), а параллельно пишу книги по этой же тематике. В статье я расскажу обо всём, что может быть интересным в написании книг, как говорится, от идеи до публикации. Если возникнут другие вопросы — буду рад ответить на них в комментариях.

Я автор 5 учебников (3 самиздатовских и 2 изданных), так что, думаю, про меня можно сказать: «Этот человек оперирует фактами и ему можно доверять». Сначала я расскажу немножко истории, а уж потом перейду к технической части, так что если вам интересен только процесс создания и сопутствующие вопросы — смело переходите к разделу «Процесс создания».

Итак...

Немного истории

От FAQ для новичков до первого учебника

В 2004 году в компании ISD, где я тогда работал, приняли решение перейти со старого глючного WinRunner’a на новый модный SilkTest. Это был действительно мощный инструмент, но автоматизация тестирования тогда практически не была развита, информации в интернете было очень мало даже на английском языке, а уж в рунете про SilkTest тогда просто никто не слышал. Даже на сайте tester.com.ua (самый популярный русскоязычный ресурс по тестированию на то время) не было даже ветки форума по этому инструменту. Её создали по моей просьбе, и первое время я сам там задавал вопросы и сам же на них отвечал. Поэтому нам приходилось изучать SilkTest методом научного тыка.

Со временем команда росла, мы брали новых людей, и их нужно было учить. У нас появилась роль AT Tutor, в чьи обязанности входило обучение новичков в команде, а также сотрудников из других команд. Так прошло примерно 2 года, и именно тогда у меня и моего коллеги Николая зародилась идея: нужно создать некий FAQ для новичков, который поможет им на первых порах. Конечно, во многом этой идее способствовала фраза, которую однажды обронила одна из наших тьюторов: «Да сколько можно им одно и то же долдонить?».

Довольно быстро (ещё на этапе продумывания) от идеи простого FAQ мы перешли к идее написания учебника, который бы покрывал весь SilkTest: от самых азов (Record & Play) до нетривиальных вещей (распределённое тестирование, Data-driven Testing, Extensions и т. п.). Всё это было написано примерно за полгода и выложено на сайте тестировщиков в виде CHM-файла. Вот как он выглядел:

На тот момент нас подстёгивала уникальность проекта: то, что делали мы, в рунете на тот момент не существовало ни в каком виде вообще.

Сел, написал, забросил — доделал!

Дальше наши с Колей дороги разошлись: он занялся Selenium’ом, а я погрузился в TestComplete. В одиночку тяжело изучать новый инструмент, потому я подписался на официальную news-группу от компании-разработчика TestComplete и сначала задавал там вопросы, а потом и сам стал отвечать. Параллельно участвовал в обсуждениях на русскоязычном форуме software-testing.ru. Именно там однажды прозвучала просьба, которая мне показалась смешной: «Дайте какой-нибудь учебник, который позволит изучить TestComplete за один день». Просьба была настолько абсурдной, что я за час написал учебник «TestComplete за один день». А после того как учебник оказался популярным, я подумал: а ведь я могу и лучше!

Я сел и написал примерное содержание, а затем начал писать сам текст. Сперва я писал те главы, которые мне нравились, потом те, от которых меньше всего тошнило. Под конец оставил самое противное. Весь процесс у меня занял около полугода, однако в середине был долгий перерыв, так что с момента начала написания и до конца прошло около 1,5 лет. Учебник я в итоге дописал где-то в начале 2010-гогода и оформил его в виде отдельного сайта (заодно так же выложил и предыдущий учебник по SilkTest).

В этот момент я задумал написание грандиозного учебника по автоматизации в целом, составил план, начал писать... и забросил его до 2017 года. В 2017 я на него случайно наткнулся и подумал: чего добру пропадать? Немного доделал по мелочам и выложил в открытый доступ.

Теперь ко мне обратилось издательство...

В 2013 году ко мне обратилось издательство Packt Publishing, у которого в планах было издать книжку по TestComplete. Меня они нашли по рекомендациям других людей, к которым издательство сначала обратилось.

Меня в первую очередь волновал уровень английского, так как его было достаточно для простых переписок по почте, но не для написания полноценной книги. В издательстве меня уверили, что у них отличные пруфридеры и что всё будет хорошо. Я подписал контракт, но только после того, как решил для себя: пусть книга будет написана мне в убыток, но я не стану писать её сразу на английском, так как это будет очень долго и качество текста будет... ну, примерно как таджики говорят по-русски. Перед подписанием контракта я договорился со знакомым переводчиком, в чьх способностях был уверен на 100%, что он возьмётся за перевод книги, а я соглашусь на любую его цену. Заранее оговорюсь: это было очень хорошее решение.

Написание книги было рассчитано на полгода (по условиям контракта), я справился за 3 месяца, за что даже получил бонус (тоже оговоренный контрактом). Довольно большой кусок я написал во время больничного, так как работать сил не было, а творить — были :) Как и в прошлый раз, самое неинтересное я оставил на самый конец, когда уже почти всё сделано, но работа не закончена. Это, кстати, одна из причин, по которым я «гнал лошадей» во время написания интересной части: я хотел как можно больше времени оставить на неинтересное на случай творческого кризиса.

Со второй книгой было и проще, и сложнее. Проще, потому что я сначала написал её, а потом началась работа с издательством. Сложнее по этой же причине. Почему так — в следующем разделе.

Процесс создания

Самиздатовские книги писать легко: сам решаешь, что и как делать, в каком порядке, где и как публиковать, в каком формате и т. п. Когда работаешь с издательством, всё становится гораздо интереснее.

Переговоры с издательством

Существует 3 способа, как можно начать работать с издательством:

  • У издательства есть планы по написанию книги по какой-то тематике. Его представители находят вас и предлагают написать книгу.
  • Вы сами приходите в издательство и предлагаете написать для него книгу. У некоторых издательств даже можно найти на сайтах информацию о том, каких авторов они в данный момент разыскивают и что планируют публиковать.
  • Вы пишете книгу, а затем ищете издательство, которому будет интересно её опубликовать.

В первом случае всё понятно — издательство само заинтересовано в публикации. В двух других случаях необходимо это самое издательство заинтересовать. Если книга ещё не написана, необходимо набросать содержание и пару-тройку глав, чтобы было что, собственно, показывать.

У каждого издательства свои требования к оформлению предложений, всю эту информацию можно найти на их сайтах. Некоторые просят написать письмо в свободной форме, некоторые — заполнить довольно большую форму с кучей информации. Короче, у всех по-разному. Для каждого издательства фактически заново оформляется предложение, нельзя просто один раз написать текст и разослать его всем.

Если тематика книги в данный момент не на пике интереса, то нужно быть готовым к тому, что придётся обойти несколько издательств, причём не все затрудняют себя даже ответить отказом, просто молчат. В моём случае со второй книгой было именно так: я связался с четырьмя издательствами: два просто промолчали, одно ответило, что не заинтересовано, четвёртое заинтересовалось. Если бы я писал о Big Data, нейронных сетях и искусственном интеллекте, то скорее всего заинтересовалось бы первое же издательство (а ещё вернее, что можно было бы выбирать между разными издателями, у кого лучше условия контракта).

Если издательство заинтересовалось, то вы подписываете контракт (онлайн, никаких бумажек) и начинаете работать. В контракте прописаны все нюансы: сроки предоставления глав, оплата, штрафы, бонусы и обязательства сторон.

Написание книги

Книга отправляется в издательство постепенно, по мере написания. Для каждой главы в контракте прописан дедлайн отправки. Так как затягивание срока написания одной главы затягивает процесс публикации в целом, лучше спланировать работу так, чтобы делать всё чуть раньше, чем запланировано. Например, я сначала писал те главы, которые было писать легко и интересно, а сложное оставил на потом, чтобы точно знать, сколько у меня осталось времени.

У каждого издательства есть свой шаблон (файл .dot) для написания книг (вообще-то правильно говорить «черновик», так как книга является именно черновиком, пока не будет опубликована). Этим шаблоном нужно пользоваться в работе. В нём есть много разных стилей, которые нужно применять к разным частям текста: названия окон или элементов управления, исходный код, текст, который пользователь видит на экране, новый важный термин и т. д. В результате в издательство отправляются тексты примерно такого вида:

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

Раньше, когда читал техническую литературу, мне всегда было интересно, кто занимается вот этой нудной работой — выделять разными шрифтами слова в тексте, их же так много. Оказывается — автор :)

Дальше идет 3 стадии вычитки: редактором, техническими редакторами (т. н. reviewers) и пруфридинг (исправление ошибок, пунктуация и т. п.). Все правки вносятся в режиме Рецензирования, при котором видны все сделанные изменения. Если вы раньше не сталкивались с этим режимом, то поначалу с ним может быть неудобно работать, так как все выглядит примерно так:

Иногда переносятся целые куски текста, переписываются предложения. Короче говоря, текст похож на кучу малу букв и цифр. Всё это редактор либо делает сам, либо оставляет комментарии о том, что нужно добавить, удалить, изменить. По мере написания новых глав таких исправлений становится всё меньше, так как начинаешь учитывать ошибки и комментарии предыдущих глав. Например, во второй моей книге часто встречались абзацы, состоящие из одного предложения. Мне это казалось нормальным, я как бы выражал отдельную мысль. Однако редактор считал, что это выглядит как незаконченная мысль, поэтому пришлось исправлять подобные места во всей книге. Если бы я писал эту книгу постепенно, а не пришёл к издателю с уже готовым черновиком, то, начиная со второй главы, я бы уже таких ошибок не делал.

Со временем понимаешь, что для каждой главы необходимо не забывать делать ряд вещей перед отправкой редактору. Всё запомнить невозможно, поэтому создаётся чеклист. Вот пример моего чеклиста, по которому я проходил каждый раз при написании первой книги (ещё один подобный чеклист есть и для стадии review):

Все картинки и примеры кода нужно предоставлять как в тексте книги, так и отдельными файлами. Для картинок существуют правила их именования, чтобы при вёрстке всё правильно скомпоновалось.

Черновик может пройти несколько стадий изменений (1st draft, 2nd draft и т. д.), прежде чем будет принят редактором. После этого его отправляют на прочтение техническим редакторам.

Технические редакторы — это люди, разбирающиеся в тематике книги. Их находит издательство или предлагает автор. В моих случаях был и первый, и второй вариант. Задача технических редакторов заключается в том, чтобы найти и указать на «узкие» места книги: ошибки, возможные улучшения, изменения и т. п.

Технические редакторы не делают изменений в черновике, они лишь оставляют комментарии с предложениями, которые затем рассматривает автор. В принципе автор не обязан делать какие-то изменения, если не считает это нужным, однако в моём случае 99% комментариев были по делу и существенно улучшили книгу. Вот как выглядят комментарии технических редакторов:

Для каждого комментария я внизу писал, было ли что-то сделано, а если нет, то почему. Иногда бывало так, что комментарий оставляется в конце главы, а соответствующие изменения нужны в её начале, поэтому любые изменения необходимо комментировать.

После всех изменений согласно комментариям редактора и технических редакторов черновику присваивается статус Final, и он отправляется на вычитку корректорам. Сам черновик к этому моменту выглядит как книжка-раскраска трёхлетнего ребёнка :)

После корректоров изменений не так уж много, они в основном исправляют грамматику. Однако после них нужно полностью вычитывать всю книгу. В моём случае небольшие изменения корректоров в одном месте привели к полному искажению смысла предложения. В целом после написания книги автор читает её ещё раза три :)

Во время работы над книгой есть ещё одна стадия: написание дополнительных материалов. Сюда входят разделы типа благодарности, софт, необходимый для работы, тексты описаний для сайта и для самой книги (обычно этот текст располагается сзади на обложке), предисловие и т. п. Для этого всего тоже есть шаблон, который предоставляется издательством, его нужно только заполнить. Дополнительные материалы также проходят стадии черновика, ревью и финальной версии.

Наконец, последний этап — верстка. Здесь автор не принимает никакого участия, это делают специально обученные люди и присылают финальную версию книги. Её тоже нужно вычитать, причём на этой стадии разрешены лишь незначительные изменения (исправления ошибок). Затем книга отправляется в печать.

На самом деле верстка — не совсем последняя стадия. Есть ещё маркетинг. Конечно, эта задача лежит на издательстве (в том числе и по условиям контракта), однако обычно автора просят внести в это дело посильную долю. Ну, оно и понятно: кто лучше прорекламирует книгу, кроме автора? У издательства Apress, к примеру, есть целая инструкция, что, где и как лучше делать. Лично я выкладывал новости в соцсетях, на профильных сайтах и форумах, оставлял ссылки в подписях и профайлах на разных ресурсах, а также в подписи в скайпе.

Вот теперь — всё. Раз в квартал получай отчёт и деньги от издательства.

Ответы на вопросы

Тут я рассмотрю всякие вопросы, которые не затронул в основной части.

Первый вопрос, который обычно задают: сколько денег? У каждого издательства своя схема выплаты гонораров и процент отчислений, причём не всегда эта информация доступна на сайте. Издательства платят авторам 10-20%от своей прибыли. Естественно, чем популярнее книга — тем больше в итоге будет денег.

Например, издательство Packt платит авторам 14% и утверждает, что это самый высокий процент среди издателей (не знаю, как сейчас, но в 2013 году эта информация была на их сайте). Но есть нюанс, о котором они умалчивают: они платят 14% всегда, в то время как в других издательствах может быть более гибкая система. Например, за первые проданные 10 тысяч экземпляров — 10% автору, за 20 тысяч — 12% и т. д. Если продажи превышают, скажем, 100 тысяч экземпляров, то процент может доходить до 20.

Кроме процента от продаж есть первоначальная выплата, типа аванса. Как пишут сами издательства про этот аванс: он не заменит вам зарплату, его задача — поддерживать интерес во время написания книги. Сумма аванса может быть разной: от совсем мизерной до примерно одной средней зарплаты программиста. Причем этот аванс затем будет высчитан при получении процентов от продаж, так что никакой благотворительности тут нет.

Второй момент связан с получением денег. Издательства делают либо прямой банковский перевод, либо (редко) перевод денег на PayPal. Так как в нашей стране получение денег через PayPal невозможно, остаётся только банковский перевод. И вот тут-то начинается самое интересное.

SWIFT-перевод от физического лица осуществляется без проблем. А вот если он от юрлица, то должно быть обязательно указано назначение платежа, причем это может быть либо «зарплата», либо «авторское вознаграждение». Казалось бы, всё же просто? Я — автор, это моё авторское вознаграждение, но нет. Во-первых, очень сложно объяснить зарубежным бухгалтерам, что тебе от них надо. Во-вторых, от наших банковских работников невозможно добиться простых ответов. Например, я спросил, как по их мнению, на английском языке должно звучать «авторское вознаграждение», чтобы они (банковские работники) однозначно его интерпретировали как авторское вознаграждение? Ещё я спрашивал, как же называется поле «назначение платежа» в английской версии? Что именно я должен попросить заполнить издательство и как?

На момент написания этой статьи однозначного решения нет. Я работал с тремя разными банками и каждый раз сталкивался с этими проблемами. Каждый раз происходят какие-то дикие вещи, у меня нет приличных слов, которыми можно было бы тут описать моё отношение к банкам и государству в этом вопросе. Если вам будет нужно — стучитесь в личку, может к тому моменту я смогу дать нормальный ответ.

Ещё один вопрос,который мне часто задают: будет ли эта книга опубликована на русском языке? По условиям контракта все права на распространение (включая другие языки) принадлежит издательству. Это означает, что для публикации русской версии необходимо найти русскоязычное издательство, которое будет заинтересовано в публикации (или же само издательство заинтересуется переводом). Дальше издательства договариваются между собой, а какие там условия для авторов — я не знаю, не сталкивался.

Сам я не пробовал работать с русскоязычными издательствами (и вообще с издательствами стран СНГ), у меня к ним... очень слабое доверие :) Самая простая схема обмана автора, о которой я слышал: довыпуск тиража. То есть напечатали 10 тысяч экземпляров, они быстро разошлись, издательство печатает ещё 10 тысяч, но сумму тиража оставляет той же. В итоге автор получает прибыль только с первых 10 тысяч. Проконтролировать это нереально. Не знаю, может и зарубежные издательства делают похожие вещи, но к ним всё же доверия больше, чем к нашим. Поэтому свои русскоязычные учебники я распространяю бесплатно.

На каком языке публиковать? Как по мне, то публиковать книги лучше на английском языке.Аудитория больше: США, Европа, Канада, Индия, да и куча других стран. По своему опыту скажу: писать сразу на английском языке вовсе не обязательно. Нужно лишь знать английский язык достаточно хорошо для того, чтобы вычитать книгу после перевода. Редкий переводчик знает специфику IT, но даже если знает — лучше вычитать, ошибки есть всегда.

Если у вас нет таких знакомых, то просто возьмите одну страницу текста наугад и отправьте в несколько бюро переводов с просьбой перевести его для оценки и принятия решения. Естественно, вам придётся заплатить им всем за перевод этой страницы, но оно того стоит. Вы сможете выбрать вариант, который вас устроит больше всего, и продолжите работать уже с переводчиком, который его делал. В целом стоимость перевода для айтишников не очень высока (даже учитывая, что перевод таких текстов самый дорогой), но обязательно вычитывайте переведённый текст. Если же ваш английский недостаточно хорош для вычитки, то лучше подумать о публикации на родном для вас языке.

Немаловажен также стиль написания. Я знаю как минимум два стиля: обычный и академический. Текст в обычном стиле написан понятным языком. Его не составляет труда прочесть даже человеку, слабо разбирающемуся в теме. Академический текст изобилует спецтерминами, сложными оборотами. Его трудно читать даже специалистам. Кроме того, такие тексты получаются больше по объёму, чем аналогичные тексты, написанные в обычном стиле. Я предпочитаю именно обычный стиль, так как мои книги рассчитаны больше на начальный и средний уровень подготовки читателя. Кроме того, я сам не люблю читать сложные тексты, их воспринимать гораздо труднее.

В связи с этим вспоминается пример с первого курса моего обучения, предмет «Безопасность жизнедеятельности» (БЖД). Преподаватель нам надиктовывал конспект по методичке, и его диктовка выглядела примерно так: «В случае возникновения ядерного взрыва местным населением предпринимаются следующие основные мероприятия по обеспечению безопасности и сохранения здоровья». После чего следовал список действий, которые необходимо совершать. Естественно, вместо всего этого в конспект нужно было записать только три слова: «При ядерном взрыве». После чего перечислить эти самые мероприятия. Наверное, с тех пор у меня и возникла нелюбовь к таким текстам.

Работа с издательствамитоже ведется по-разному. В первом издательстве все главы и изменения мы пересылали по почте, при этом переименовывая файлы (Chapter_1_first_draft, Chapter_1_second_draft). Я тогда ещё подумал, а почему они не используют систему контроля версий? И вуаля — во втором издательстве всё делалось через такую систему, причём с возможностью вообще всю работу делать онлайн.

Заключение

В заключении попытаюсь ответить на вопрос: «А стоит ли этим заниматься?». Для меня этот вопрос вообще не стоит. Например, когда я начал писать последнюю книгу, я сразу решил, что сначала приложу максимум усилий, чтобы найти издателя, а если никто не заинтересуется — выложу её бесплатно. То есть мне интересен сам процесс создания подобных учебников, можно сказать, что это моё хобби. Получение денег за эту деятельность вторично, важен процесс и результат. Даже сейчас, только опубликовав одну книгу, я уже обдумываю следующую :)

Но в целом процесс работы с издательством — сам по себе уникальный и интересный опыт, поэтому если у вас возникнет такой шанс — рекомендую попробовать. В худшем случае вы просто ничего не получите (если, к примеру, сорвёте сроки или просто остановитесь на полпути). Никаких штрафов с вас никто взимать не будет, так как убытков по сути нет. Вы просто не состоитесь, как автор. Но это совсем уж пессимистический вариант.

Я знаю, что сейчас уже несколько человек из стран СНГ стали авторами англоязычных учебников (были статьи про них на Habrahabr и Ain), а уж русскоязычных авторов вообще огромное количество. Так что если у вас есть идея или даже какие-то наработки, то почему бы и не попробовать? Просто не надо рассматривать это как основную работу, это, скорее, хобби. Очень немногие авторы пишут бестселлеры :) Но кто знает, вдруг вы станете одним из них?

P. S. Если кому интересно, то мой сайт alpaev.com. Там есть все ссылки на книги, мои контакты и прочее.


Viewing all articles
Browse latest Browse all 8115

Trending Articles