見出し画像

英語での技術書執筆とテクノロジー

私は普段ソフトウェアエンジニアとして働いているので技術書を読むことが多い。仕事で役立つというのもあるし、知らない技術に関して純粋な興味から学びたいというのもある。技術書も、もちろん誰かが書くものであることは間違いないのだが、私にとってはもっぱら読むもので、そこで得た知識を生かして新たなプロダクト作ったり仕事に役立てるものだと思っていた。

しかし何度か技術書を書く機会を頂いた。しかも英語で。

目次
- きっかけ
- 執筆
- 校正
- 技術の進歩とチャンス

きっかけ

私はオープンソースソフトウェアへのコントリビューションを行っており、HadoopSparkといった分散システムのフレームワーク開発に携わっていた。主にHDFSという分散ファイルシステムMLlibというSpark上で動く機械学習ライブラリの機能拡充を行っていた。

開発を続けて1年ほど経った頃、Bleeding Edge Pressという出版社の編集者からメールが届いた。

GitHubでの活動を見ていて連絡をした。今度Sparkに関する本を書く予定だけれど、興味があれば著者にならないか

私が開発に携わっていたSparkに関する本を新しく書くということらしい。私以外にも何人か著者がいて共同でひとつの本を書くプロジェクトだった。私は日本で生まれ育ち、留学経験もないので英語が堪能では全くなかったが、「本を書く」という経験は今後のキャリアとしても自分の経験値としても魅力的に思えた。英語が母国語でないので基本的な校正からきちんと行ってくれるなら引き受けるという条件のもと執筆を開始した。

執筆

共著者も編集者もすべてお互いリモートなので最初何度かGoogle Hangoutで顔合わせやアウトラインのすり合わせを行った。出版社が決めていたのは本のテーマくらいで具体的な内容はトレンドやトピックの整合性などを考えつつ著者たちで行う。共著者はヨーロッパやアメリカにいたのでまずタイムゾーンを合わせるのが大変だった。いつも誰かが無理をする時間帯になった。

何度か打ち合わせを行ってアウトラインを決める。大体1セクションが40ページ程度で1人1セクションか2セクションを担当する。40ページのドラフトを約1ヶ月程度で書き上げる。

内容はあらかた決まっていたが、やはりそれを文字に起こすとなると大変な部分がある。英語は今まで「伝える」というレベルでなんとかやっていたが本を書くのはもう少し上の「上手に伝える」というレベルが求められている気がしたからだ。実際、日本で出版されている書籍を見ても単なる内容の羅列のものはなくきちんと読ませるような書き方がされている。英語を書くだけでなく、「よい英語」を書く必要があるのだ。

ドラフトの進捗はBasecampというサービスを使った。

画像1

Basecampは今ではオープンソースソフトウェアとなったRailsを最初に作った会社で、主にプロジェクトマネジメントを支援するツール、サービスを提供している。私たちはBasecamp上で書きかけのドラフトをアップロードしてお互いにレビューをしていた。高機能ではないが、必要最低限の機能がみやすい形で与えられているので短期間のプロジェクト作業に最適だと思う。

ドラフトはMarkdownで書いた。編集者から提示されたテンプレートがMarkdownかWordファイルだったが、Markdownだとどんな環境でも動くし、アウトプットがどのようになるかが想像つきやすかった。差分も見やすい。

校正

1ヶ月後ドラフトができたので、編集者側のテクニカルレビューを受けた。これは技術的な整合性があるか、文章におかしな点はないかも含めた校正でそういった仕事を行っている技術者が担当する。

私のドラフトに対するフィードバックはやはり表現や文章に関するものが多かった。文法、語彙、拙い英語に対する指摘だ。フィードバックをひとつずつ解決していった。どんなに辞書を引いても、どんなに優れた校正ツールを使ってもやはりきちんとした書き言葉としてはおかしな表現というのはいくらでもあるもので(日本語で文章を書くときですらそうだ)そういった指摘を受けることができたのはよかった。逆に内容自体にはあまり何も言われなかったので少し安心した記憶がある。

最終的に2回ほど校正の行き来をしたのちacceptされた。

画像2

最終的にできたのが "Spark - Big Data Cluster Computing In Production" だ。Sparkをプロダクション環境で使うためのノウハウや技術的な詳細を説明した本だ。私はもともと機械学習ライブラリの開発をしていたこともあり、MLlibの技術的な話やDeep Learningアプリケーションへの応用などについて詳説した。途中ページ数との兼ね合いでセキュリティ関連の項目も十数ページ書いた。

この本を出版したあと他の本を書く機会にも恵まれた。Hadoopの技術的な詳細と実運用に関するtipsをまとめた "Professional Hadoop"

画像3

クライアントサイドで動くDeep Learningの技術に関する "Deep Learning in the Browser" だ。

画像4

Hadoop本はSpark本と同じ出版社(Wiley)だがDeep Learning本はまたちょっと違う所が私がTensorFlow.jsにコントリビュートしているのを見かけて声をかけてくれた。どれも現在Amazonで発売されているが、ニッチな分野の技術書な上に入門的でもない内容なのでたくさん売れている様子はないのだが、それでも自分が書いた本に対してついた悪からぬレビューを見ると感慨深いものがある。

技術の進歩とチャンス

このような形で何冊か執筆をしたが、改めて技術の進歩に驚かされた。全員ハジメマシテの状態からただの一度も直接会わずにひとつの本を作り上げることができる。打ち合わせ、執筆、レビューや校正、それらすべてのプロセスを実際に会うとこなく完了できるテクノロジーが現代にはある。

OMSCSへの入学の際にも感じたが、日本にいながらアメリカの大学院の学位がとれるもの未だに信じがたい。

私はインターネットとそれを支えるテクノロジーが私達の生活を豊かにしたかどうかには少々懐疑的だ。 毎日不必要な宣伝や、フェイクニュースに惑わされることは増えたような気さえする。

けれどそれを上手に使う、使ってみようと思う者に大きなチャンスを与えることができることもまた事実だ。これがもし10年前だったらこんなことはできなかった。テクノロジーの進歩とインターネットがあるからこそ世界的な知識にアクセスし、そこからアウトプットとしてまた世界に発信することができる。私はどちらかといえばテクノロジーにチャンスを与えられてきた人間かもしれない。そもそも私の仕事はテクノロジーを支える仕事でありながら、テクノロジー自体に支えられている。1人のソフトウェアエンジニアとしてこれからも勉強し続け、これらのテクノロジーを支え進歩させていきたい。

画像5


この記事が参加している募集

推薦図書

お読みいただきありがとうございます。もしよければスキやシェアしていただけると大変うれしいです!