出版した本のインタビューを受けました。
2021.10.062021.10.08
この記事は約5分で読めます
この記事の筆者:三好アキ
🔹 専門用語なしでプログラミングを教えるメソッドに定評があり、1200人以上のビギナーを、最新のフロントエンド開発入門に成功させる。
🔹 Amazonベストセラー1位を複数回獲得している『はじめてつくるReactアプリ with TypeScript』著者。
Amazon著者ページはこちら → amazon.co.jp/stores/author/B099Z51QF2
React、Next.js、TypeScriptなどのお役立ち情報や実践的コンテンツを、ビギナー向けにかみ砕いて無料配信中。登録はこちらから → 無料メルマガ登録
本を書くに至った経緯
*私の書いたプログラミング教本のインタビューを先日受けました。その一部を私のサイトに掲載する許可をもらいましたので、ここで公開します。
―三好さんはこれまで計8冊(2021年10月時点)のプログラミング教本を執筆されています。中にはAmazonのランキングで一位を何度か取っている本もありますが、三好さんの本業は教本の執筆ということしょうか?
三好:いえ、執筆活動は本業とは別でやっています。
本業では、monoteinという事業名のフリーランスとしてウェブ関連分野の課題解決を行ってます。
―本業のかたわらで本を執筆した理由はなにかあったのでしょうか? 執筆作業は、時間もエネルギーもかなりとられるものだと思いますが。
三好:そうですね、最初は本を書きたいという気持ちはありませんでした。
そもそも本というのは、誰かその業界の権威なり、その道を極めた人が書くものだという考えがありましたから。
―それが書くに至った経緯というのは?
三好:私は、プログラミングを学校で学んでIT企業に就職したとか、文系の大学を出て新卒でIT企業に入ってプログラミングを身につけたというような、日本の一般的なエンジニアの王道ルートを歩んできたわけではありませんでした。
以前はこの業界とは全然別のところ、映像業界やメディア関係にいました。
そういう中で色々あってプログラミングに興味を持つようになるのですが、そこで私がした勉強法というのは自力で教材を見つけ、自分のペースで進める方法でした。
今ではプログラミングスクールが人気ですけど、当時の自分には、学校に行ってみんな一緒にカリキュラムに沿ってやっていくというのが合いそうにないと感じたからです。
自分で色々と調べてみると、「ウェブサイトを作るにはまずHTMLとCSSを知る必要がある」というので、そのための教本を買ってきてやってみました。
そうすると、自分が思っていたよりも簡単にウェブサイトができてしまって。そこで「ウェブサイトって意外に簡単に作れるんだな」ということがわかったのですが、それ以上に「ものづくりをする楽しさ」みたいなものに気がつきました。
ウェブサイトというのは物理的に手で触れるものではないですが、それでも何もないところから自分の手で組み上げていくという点では、まさに「ものづくり」であって、そういった「ものづくりの喜び」は、ウェブサイトを初めて作った時も、いま仕事ととして作るときも変わらずにありますね。
最初の挫折
―そのように、ウェブサイト制作の一歩を順調に踏み出した先で、大きな挫折があったと伺いました。
三好:ウェブ制作ビギナー向けに書かれたどの本やサイトでも、学習の流れは「HTML → CSS → JavaScript」になっています。
なので私もそれにならって、HTML/CSSの学習の後にJavaScriptの教本を買ってきて読み始めたのですが、まったく頭に入ってきませんでした。
これは後で知ったのですが、こういう風にJavaScriptでつまづく人は実はとても多いようで。
HTMLとCSSは結構直感的にわかるというか、HTMLとCSSはウェブサイトの見た目とダイレクトにつながっていて、コードとその結果表示されるものがある意味で1対1の関係にあるので、「このコードはこういう風な見た目になる」というのがビギナーでも簡単に推測できます。
しかしJavaScriptというのは本格的なプログラミング言語で、そのような1対1にはないので、書いたコードが何をしているのかわかりづらいのです。
私はここで数ヶ月、勉強が止まりました。JavaScriptの本やネット記事などを色々見ても、まったく頭に入ってこないという状態。
一番最初につまづいたのは「オブジェクト」や「メソッド」「関数」といった専門用語です。
JavaScriptをビギナーにも使いやすくしたjQueryというのもありましたが、それすらも当時はよくわかりませんでした。
ただこの時期のことは、「はじめてつくるReactアプリ」などの教本の執筆に大きく役立っていると思います。
はじめてつくるReactアプリ
【2024年4月新版発売。HTMLとCSSの知識だけで始められるReact開発。好評なハンズオン形式でスイスイ進める】
1859 → 0円
―というのは?
三好:これまで出版した私の本のほぼすべてが、ReactというFacebookが開発したテクノロジーに関係したものです。
Reactは近年のウェブ制作やウェブアプリケーション制作の現場で広く採用されており、私も普段の業務で欠かさず使うテクノロジーです。
このReactはJavaScriptをベースにしているので、当然学習の順序としては「JavaScript → React」になります。
私は最終的にはReactをマスターしたかったのですが、先ほども言ったようにJavaScriptでつまづいていて、Reactへと進めなかったのです。
Reactの教本を買ってきたりネットの情報を見ても、「JavaScriptを理解してからReactに進むべし」と書かれていました。それでも時折り「とりあえずReactを始めてみよう」と思って勉強を開始しても、すぐに「関数」「定数」「オブジェクト」「配列」「連想配列」などのJavaScriptで使われる専門用語が出てきて、結局先に進めないという状況でした。
停滞を抜け出すきっかけとなった動画
―その停滞の時期を抜け出すきっかけはなんだったのでしょうか?
三好:ある日YouTubeで、イギリス人のプログラマーがReactを使って小さなアプリの作り方を説明している動画を見たことです。
それは当時の私のようなビギナー向けに作られた動画ではなかったので、彼の説明や書いているコードなどで理解できないところがたくさんあったのですが、それでもとにかく説明に沿って作業を進めていると、アプリがひとつ完成しました。
それは、JavaScriptで長い間つまづいていて忘れていたあの「ものづくりの喜び」をまた思い出した瞬間でしたね。
数年経った今でも、この動画を見ていた場所や時間、周りの景色などをはっきりと思い出せるので、自分の中では大きな出来事だったのだと思います。
そして実際、この日を境にそれまで失いかけていた意欲が戻ってきて、Reactの勉強を精力的に進められるようになり、それまでの停滞の数ヶ月がなんだったのかと思うほどでした。
この時の体験は私の本の基本コンセプトになっています。
アプリをとにかくひとつ自分の手で完成させることが、どれだけ自信を高め、どれだけやる気を引き出すかがわかったので、私の本ではシンプルな説明と最短のルートで、読者をアプリ完成へと導くようにしてあります。
実はビギナーには最適でない入門書
プログラミングの教本というと、全範囲をカバーしようとして網羅的な解説が続くものや、例外事項も漏れなく盛り込んだ教科書風のものがたくさんあります。そしてこういった本が往々にして「ビギナー向け」と大々的に宣伝されています。
しかし私としては、こういった本が実はビギナーに一番読ませていけないものだと思います。
私自身こういう本に一番最初に手を出し、そこに書かれていることに圧倒され、つまづいてしまいましたから。
ビギナーが一番最初にすべきことは、とにかく成功体験を作って、「自分でもできるんだ!」という小さな自信を得ることだと思います。
ウェブサイトの見た目(フロントエンド)は、プログラミング業界の中でも特に変化の速いところなので、自分から新しい技術を学んでいくという「自習」の姿勢が特に重要です。
そういう姿勢を養うには、何よりも「自分でもできるんだ」という自己肯定感を高めること、つまり小さな成功体験を積み重ねることが一番有効だと私は思っています。
―なるほど。自身の挫折経験がこの本の執筆には活きているのですね。「網羅的な解説は目指さない」というのは意外に斬新なコンセプトのように思います。あまり日本的でないというか。
三好:そうかもしれませんね。
私は大学卒業後に海外に長期で住んでいたので、日本や日本人というものを客観視しているところがあります。
重要でない枝葉の事柄にいつまでもこだわったり、物事に軽重をつけず平等に扱おうとして結果的にうまくいかなかったり、極度の傷つきやすさの裏返しとしての丁寧さと潔癖主義などは、実に日本人的であると感じます。
私も日本人なので、そういった側面が自分の中にも間違いなくあるのですが、そこはなるべく表に出さないようにしていますね。
―先ほど言われた「人生を変えた」動画ですが、イギリス人のプログラマーということは英語の動画ですか?
そうです。ただ私はかなり長い間海外に住んでいましたし、イギリスにも数年間いたので、英語は日常のものというか。
いまでも毎日海外の友達とやりとりをしてますし、英語でブログのようなものをよく書いたりしてるので、むしろ「日本語より英語の方が話しやすいな」と思うことも多くありますね。
工夫したことや苦労したこと
―三好さんの本で工夫した点やユニークだと思う点はどこだと思いますか?
三好:書く上で気をつけたのは、専門用語をなるべく使わないようにすることです。
先ほども言ったように、自分がJavaScriptの勉強を始めた時につまずいたのが、「関数」「オブジェクト」「メソッド」などの言葉の意味や定義でした。
しかし別に専門用語を知らなくてもコードを書いていくことはできます。
例えば私たちが「助詞と助動詞の違い」といったことを知らなくても日本語を話せるように、「知っていること」と「できること」は違うからです。
私の本の最大の目的は読者に小さな成功体験を作ってもらうことなので、専門用語を使わずに済ませられるところはそうしました。
専門用語は、私の本のあと、学習を進めていく中で自然と理解していけることだと思います。
「用語の正しさ」よりも「読みやすさ」を優先させているので、スムーズに進むことの足かせとなる脚注やページ外での補足次項も書かないようにしました。
また、コードを示す時は省略をせず、そのファイル全体のコードをなるべく載せるようにしています。
ネット上の記事などを読んでアプリを作っていると、突然新しいコードが出てきて一体どこの話をしているのか分からなくなることが多かったので、私の本ではコードは毎回しつこいくらいに載せて、本を単独で読んでも理解できるようにしました。
あとは本編前の前書きを少なくすることですね。
だいたいこういう本では、VueやAngularといった他のJavaScriptフレームワークとの比較や、Reactがどのサイトで使われているか、将来性が云々、「仮想ドム」だとか「単方向データバインディング」だとかの話が本編に入るまでに延々と続くことが多いですが、私の本の優先事項はReactに慣れてもらうことなので、こういった前書きは書いていません。
この本を読む人はすでにReactの基本的な情報は知っているでしょうし、「仮想ドム」などの理屈は、自分で実際に使っていく中で理解していくのが一番だと思います。
―執筆時に苦労したことや大変なことはありましたか?
三好:教本を書くときは毎回そうですが、本の中で制作する見本アプリを作るのに時間がかかります。
普通の教本で作るウェブサイト、特にアプリ系は、機能重視で見た目がイマイチというパターンが多いと思います。
私の本では冒頭で「この本ではこういうものを作ります」と示すことにしていて、そこでデザインやスタイルが中途半端なものを示すと、読者もやる気が出ないと思うで、なるべく見た目が悪くないもの、最近のデザインのトレンドを盛りこんだものを見本アプリとして作るようにしました。
意外に時間がかかるのは、書き終わった後の読み直しのプロセスです。
そこで誤字脱字やコードのミスなどを直していきますが、読み直しは執筆作業と同じくらい疲れます。
また、書く作業をしている人は皆これを経験していると思いますが、何度か読み直して「もう誤字脱字はない!」と思っても、まだ抜けている文字があったりするのは、執筆作業の七不思議だと思いますね。
読者からの声に励まされる
―そうやってこだわりを込めて完成した本ですが、出版後の反応はどうでしたか?
三好:読者からメッセージを頂いたり、Amazonでここまでポジティブなレビューを付けて頂けたりしたのは意外でしたね。
日本だと、ReactのライバルともいえるVueというテクノロジーの方がポピュラーなので、Reactにはそこまでニーズはないだろうと思っていました。
「学習していて面白かった」や「アプリを完成させた経験が前に進むモチベーションになります」といったような言葉を頂き、私の本を純粋に楽しみながら役立てて頂いたようで嬉しく思いました。
―読者からのリクエストなどはありましたか?
三好:一番最初に出版した「はじめてつくるReactアプリ」の発売後しばらくして、「TypeScript版を書いて欲しい」という声を読者の人から頂きました。
たしかに最近の開発現場では、TypeScriptと一緒にReactを使うことが多いので、「はじめてつくるReactアプリ with TypeScript」を書きました。
現時点で、これが一番読まれている本です。
これまで書いてきた各本の違いについては、次の記事を参考にしてください。
この本は私の本の中で一番評価が高いものになってます。
―最後に、今後書きたい本などはありますか?
三好:HTMLとCSSの本を書きたいと思っています。
最近忙しいのでいつになるのかわかりませんが、ウェブサイトを今まで作ったことがない完璧なビギナー向けにHTMLとCSSを解説した本を書きたいと思っています。
メルマガ配信中
(from 三好アキ/エンジニア)
React、Next.js、TypeScriptなど最新のウェブ開発のお役立ち情報を、ビギナー向けにかみ砕いて無料配信中。
(*配信はいつでも停止できます)