著書54冊!? エンジニアかつ「数学ガール」著者の結城さんが語る、エンジニアのメンタルマネジメントのすゝめ
数学を勉強したことのある人なら、一度は目にしたことのある本『数学ガール』。
物語調の文章で、高校から大学レベルの難解な数学をわかりやすく説明してくれる本として、助けられた人も多いはず。
そんな数学ガールの著者・結城浩さんは、実はプログラミングの本も書いているエンジニアでもあるんです!
今回はそんな多様な側面を持つ結城さんに、若手エンジニアへのアドバイスをお伺いしてきました!
「発信すること」で学びの効率アップ
結城さんといえば『数学ガール』という数学物語が有名ですが、かつてはエンジニアとして働かれていたんですよね。
そうですね。 若いときはプログラマとして、またソフトウェアエンジニアとしてばりばり開発していました。 実は私の最初の著書も、『数学ガール』ではなくC言語に関する本でした。 現在は職業エンジニアとして働いてはいませんけれど、ふつうにプログラムは書いています。
そうだったんですね! これまでに、全部で何冊くらい本を書かれたんですか?
改訂版もカウントするなら、これまでに出版された著書は54冊(※インタビュー時点)ですかね。 最初の本が出たのはいまから27年前になります。
途方もない数字だ…。 ブログですら続かない人が多いなかで、そんなに長く継続して本を書けたコツって何なんでしょう?
「コツはこれです」みたいにまとめるのは難しいですが、自分のために情報発信していたからというのは長く継続できた理由の一つになると思います。
自分のため、ですか。 情報発信にどんなメリットがあったんでしょうか?
当たり前のことですが、プログラミングにしろ数学にしろ、情報発信しようと思うと、内容を正確に理解し、記述する必要があります。 ですから、情報発信すると、結果として深く学ぶことができ、しかも忘れにくくなるんですよ。
軽くさらっただけの勉強だと、結局あとから勉強し直したり、何度も検索して調べ直したりして、かえって時間が掛かることがあります。 自分から情報発信するつもりでちゃんと勉強した方が、トータルでは効率がいい場合は多いですね。
たしかに、人に教えることが一番の勉強法だ、というのはよく言われることですよね。
ああ、それから、自分の手間を減らすために、本を書く場合もありましたね。 昔話になりますが、ネットでCGI(Common Gateway Interface)を作っていたときに、メールでたくさん質問がくるので、一つ一つに答えずに済むように本を書きました。
他の継続的に本を書けたモチベーションとしては、読者さんからの反応があります。 『数学ガール』がいい例ですが、『数学ガール』は当初、Webで無料公開していたんです。いまでいうWeb小説でしょうか。当時は私が作ったテキストサイトで公開しました。
数学ガールはWeb小説のはしりだったんですね…!
公開した当初から大変評判が良くて、はてなブックマークなんかで話題になって。 読者さんからの反応がうれしくなって、どんどん続編を書くようになりました。 何編かまとまったときに、たまたまプログラミングの書籍の改訂版を何冊か出したタイミングがあり、そこで『数学ガール』の企画を編集部に提案したんですよ。
一冊目が出るまでは、売れるかどうか出版社さんも半信半疑だったと思います。 そりゃそうですよね、「数式がたくさん出てくる物語」がそんなに売れるとは思えないでしょう。 でも、おかげさまで予想よりも非常によく売れたので、現在は出版社さんもシリーズを全面的にバックアップしてくださっていますね。
いい意味で期待を裏切られたんですね。 数学ガールは広い年齢層に親しまれている印象なんですが、これまで何冊くらい出ているんですか?
そもそも私自身も、まさか続編が出るようになるとは思っていませんでした。でも「数学ガール」シリーズは現在までに6冊刊行され、「数学ガールの秘密ノート」は13冊が出ています。2020年11月には14冊目の『数学ガールの秘密ノート/確率の冒険』も出ますね。
もはや長編小説だ…!
単純に執筆が継続できただけではなくて、数学ガールの方向性に関しても、読者さんからの強い影響を受けているところがあります。 たとえば、数学ガールの読者さんってどんな人が多いと思います?
僕が初めて読んだのも高校生のときでしたし、中高生や大学生ですかね…?
そうですね。確かに中高生や大学生は多いですし、私も当初はそう思っていました。 ところが、その他にも「教える人」にも読まれていることがわかってきたんです。 学校の先生や、塾の先生、自分の子供に教える親御さんですね。
学校の先生、ですか。 あまり、読み物でわざわざ数学を勉強し直す必要はなさそうですが…。
数学の勉強をするためではなくて、教え方の参考にするために読んでくださっている先生が少なくないようなんです。 読者さんの中に、そのような「教える人」がいるということを知り、数学ガールの物語の中に、より「学ぶこと」や「教えること」という要素が強く入ることを意識するようになりました。
自分の書きたいことを書くんじゃなくて、読者に合わせて書く方向が決まるなんて、かなり読者ファーストで書いてらっしゃるんですね。
自分が見ている「自分」が全てじゃないからこそ、若手エンジニアはキャリアを柔軟に考えるべき
私は自分のやることをあまり固定的に決めすぎず、相手や状況に合わせて柔軟に変える姿勢って、20代後半から30代エンジニアのキャリアにも通じるところがあると思っています。
20代後半から30代って、難しいお年頃だと思うんです。 まったくの初心者というわけじゃないけれど、それほど立派なキャリアがあるわけでもない。 経験を積んできて、少しずつ成長していて、それから多くの可能性が見え始めてくるころ。
ちょうどゴリゴリのエンジニアから、PMみたいなマネジメント職になる人もでてくるくらいの年齢ですよね。
そうですね。 そんな年代のエンジニアですが、自分なりの経験があるので、ややもすると技術にフォーカスし過ぎるきらいがあるんですよ。 自分は技術で生きていくぞ、プログラミングに特化していくぞ、みたいに。
たとえば、自分はエンジニアなんだから、マネージメントはしなくていいやとか、コミュニケーションはどうでもよくて、そんなことより技術をもっと磨けばいいんだみたいな考え方に陥ってしまう人は少なくないと思います。
そう言ってた人の顔がいくつか浮かびました(笑)。
そんなふうに、自分はこうだから、自分のやるべきことはこれだけだ。みたいに固定して考えるのは、やっぱり楽なんですよ。それだけやってればいいので。 でも、それだと、自分の可能性を狭めてしまう危険性がある。もっと自分の可能性が広がるかもしれない時期に、自分から視野を狭くしてしまう。
でも、将来使わなさそうなスキルって確かにありません? そういうスキルを身につけるために努力するの、億劫に感じてしまうんですよね…。
いやいや、そもそも20代後半から30代くらいに考える「自分」なんて、自分の本当の能力をまったくとらえきれてないと思いますよ。
自分はこんなスキルは使わない、なんて簡単に切り捨てられません。「自分はこういう人間だ」という自己認識は誰しも持っていますけれど、その自己認識がそもそもズレている可能性だってありますし。
自己認識がズレているって発想はなかったです…!
エンジニアは「自分の実力」を誤認しがち
結城さんは、著書の他にも、いろんな内容をTwitterや個人ブログ、noteなどで発信されていますよね。 これまででバズったコンテンツの中で、エンジニアへオススメしたいものはありますか?
「プログラマの心の健康」ですかね。 これは、まだ私がエンジニアとして働いていたころ、つらかった自分を励ますために書いたものです。 SNSもない20世紀の末に書いた文章ですが、未だに読んで拡散してくれている人がいます。
20年たった今でも拡散されるってすごいな…。 でも、この20年で、エンジニアを取り巻く環境もだいぶ変わっていますよね。
エンジニアはホワイトだってよく言われるようになったし、情報系の学部の社会的地位も上昇してるじゃないですか。 それでも20年前の結城さんのアドバイスが通用するワケってなんですか?
エンジニアはその仕事の性質上、メンタルが不安定になりがちな職業なんです。 いつの時代でも、これは変わりません。
メンタルが不安定になりがち…? 確かに優秀な同僚と自分を比較して落ち込んでいるエンジニアはたくさん見ますが…。
まさにそこです! エンジニアは他の職種に比べて、特に優秀な同期と比較して落ち込んでしまう状態に陥りやすい理由があるんです。 エンジニアってどうしても「自分の実力」がわかりにくいんですよ。
自分の実力がわかりにくい…? もう少し詳しく聞かせていただけますか?
エンジニアって、コンピュータのおかげで、自分が行う仕事量に対してすごく大きな成果を生むことができるじゃないですか。
少しのプログラミングで、これまで毎日何時間も掛かっていた仕事が数分で終えることができるようになる、なんてよくある話です。 これっていわば、レバレッジがかかった状態なんです。
なるほど。
どうしても、そのようにレバレッジが掛かった成果物を比べてしまうことになるので、実際の能力以上に差を感じることが多いでしょうね。 もちろん、各人の能力差はあるでしょう。でも、他の業種に比べたらその能力差が極端に拡大されて見えてしまうということです。
自分自身の成果物についてもそうです。うまくいってるときは「オレってばスゲー!」という万能感で満たされるのに対し、うまくいかないときは逆に落ち込んでしまうんです。
確かに、できる人は「瞬時に解決」するけど、できないときは「何年かかってもできなそう」という印象があります。 「完全に理解した」と「何もわからん」を繰り返すエンジニアもいますね。
まあ「完全に理解した」はジョークの一種ですけれどね…。 あとは、技術の変化があまりにも高速で、いつも追い立てられている状態になっていることもメンタルが弱る原因の一つになるでしょう。
先週はこのライブラリでこうするのが最先端だったけど、今週はそんなやり方はもう古い……そんなケースだってありますから、そこから受けるストレスは非常に大きいです。
真逆の仕事をやることすらありますしね…。 エンジニアは仕事の性質からすでにメンタルが不安定になりやすかったんですね。
若者が陥りがちな罠は、「成長による解決」
メンタルが不調になったときに注意してほしいことがひとつあります。 私は医者ではないので、あくまで私の個人的な経験則ですけれど。
どんなことでしょう?
それは、すべてを自分の力で解決しようとしないということです。 もっと具体的にいえば、○○という発想を自分が身につけさえすれば、現在のメンタルの不調に対処できる……のように考えないということです。対処方法のすべてを自分で見つけ出そうと思わないこと。
え、どこがダメなんでしょうか…? 自分でやるって、すごく前向きで推奨されるマインドセットだと思うのですが。
逆説的ですが、この自分で解決しなくちゃという思考はけっこう危険なんです。 自分のメンタルがつらいから自分で原因を見つけて自分でどうにかしよう……という根底には、「自分のすべてを自分でどうにかできる」という考えがありますよね。「自分のすべてを自分でどうにかできる」と思っているのに、現実にはできない。だから、苦しくなるんです。
そもそも、自分が考える「原因」が本当の原因なのか、怪しいことはよくあります。調子が悪い自分が考えることをどこまであてにしていいのか…。
原因を認識している自分を疑え、ということですね。なんだか哲学的な話だ…。 そうなると、現実にメンタル不調があったとき、どうすればいいんですか?
私は「他者の存在」が大事だと思っています。 つらいときって「誰かにそばにいてほしい」や「誰かに話を聞いてほしい」と思いますよね。これは、他者の存在が大事だということを、みんな心のどこかではわかっているんだと思います。
心が苦しいときには、仕事とは無関係に自分を受け入れてくれる「誰か」と話すのがいいと思います。 仕事の場ではエンジニアという役割として見られています。 そういう役割としてではなくて、いち個人として見てくれて、受け入れてくれる相手と話すのが大切ですね。「他者の存在」です。
プライベートの会話で仕事を思い出してしまい、気が休まらないやつですね…。
エンジニアが情報発信する際に大事なのは《読者のことを考える》
最近QiitaやZennなどが有名になり、技術ブログなどエンジニアが情報発信する場面も多くなってきています。 最後に、情報発信のプロとして、結城さんからなにかアドバイスはありますか?
情報発信をするときの原則をお伝えします。 その原則とは《読者のことを考える》です。 《読者のことを考える》ができると、せっかく書いた文章がまったく読まれない、読まれたとしても伝わらないということが起きにくくなります。
それってどういう理由なんでしょう…? 内容をちゃんと書こう、ということならわかるのですが。
もちろん内容をちゃんと書くのは大事です。 でも、文章を書く目的というのは、その内容を読者に伝えることですよね。 自分が誰に伝えようとしているのかを意識せずに、内容をちゃんと書くのは不可能なんです。
たとえば文章を書くときには、ある用語をどのくらい詳しく説明する必要があるか、全体の長さをどのくらいにするか……そんなことを悩みますよね。文章を書く人は判断をする必要があります。
おっしゃるとおり、文章を書いているときに、書きたいこと以外にもたくさん悩みます…。
判断をするときには《読者のことを考える》のが一番です。 自分は誰に向かって書いているのかを考えるんです。読者を深く意識することで、どのくらい詳しく説明する必要があるか、どれだけの長さが適切なのか、それに対する答えが見つかるんです。
逆を考えればもっとわかりやすいです。もしも読者を意識せずに、書きたいことを書きたいように書いたなら、難しすぎたり、易しすぎたり、長すぎたり、短すぎたり……と読者にとって読み難く伝わりにくい文章になるでしょうね。
文章を書いているときに、自分の好きなように書いてしまうの、あるあるですよね…。 当たり前ですが、やはり《読者のことを考える》のが重要なんですね。
そうです。 自分向けに書く簡単なメモであっても、《未来の自分》という読者のことを考えて書くのがいいですね。 どうせ読むのは自分だからなんて適当に書いたメモは、読み返したときにわけがわからなかったりします。
分かります! 技術ブログでもメモでも、適当に書いてしまって後から見返すと何を書いてるかわからない…みたいな経験はエンジニアなら誰しもありそう…。
文章を書くときの《読者のことを考える》という原則は、本当に重要です。 私はこの原則を伝えるために「数学文章作法」という本を書いたくらいです!
本当に色々な本を書かれているんですね…! 本日は貴重なお話をありがとうございました。 アンドエンジニアでも、《読者のことを考える》を改めて徹底していきます!
ライター
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから