Findy Engineer Lab

エンジニアの"ちょい先"を考えるメディア

わからないことを恐れず、わからない自分を大切に。本屋のバイトからプログラマーになった私が本を書く理由

こんにちは。Webプログラマーを15年くらいやっている、鳥井雪と申します。 株式会社万葉に所属し、主にRuby、Railsを用いて開発しています。そしてその傍ら、児童向けプログラミング書籍の翻訳もしていて、リンダ・リウカスの低年齢向けプログラミング絵本『ルビィのぼうけん』シリーズ、レシュマ・サウジャニの中高生向けプログラミング入門書『Girls Who Code 女の子の未来をひらくプログラミング』を日本語に訳しました。

さらに、翻訳ばかりしていたら自分でも日本の子ども向けにプログラミングの本を書きたくなったので、オライリー・ジャパンより今年(2023年)『ユウと魔法のプログラミング・ノート』を上梓しました。小学校高学年からを対象とした、ユウという小学生が日常の困りごとをプログラミングで解決していくストーリーの読み物になっています。

この記事では、コンピューターのことを何も知らなかったわたしが、子ども・初学者向けにプログラミングの本を出版するに至った経験についてお話をしていこうと思います。これからのキャリアを考える若手プログラマーのひとつの参考に、という記事になります。

文系からプログラマーへ

美術史学専攻、本屋のバイトからなぜかベンチャー企業の技術部に就職

それなりの年月プログラマーとして身を立てているわたしですが、子どものころからコンピューターに触れていたとか、将来の夢はプログラマーだったとか、そんなことはありません。大学の専攻は文学部歴史学科美術史学、いわゆるド文系です。なぜそんな人間がプログラマーになったのか? というと、完全な成り行きでした。

うっかり就活の波に乗り遅れたわたしは、大学は卒業したものの本屋のバイトだけをしており、そろそろ…そろそろアレだな! 就職ってやつが必要だな! と覚悟を決めました。本屋のバイトが性に合っており接客もわりと好きだったため、「営業職とかできるのでは?」という、今から思うと営業職と社会の荒波をなめ切った予測により、ベンチャー企業の営業職募集に応募したのです。

そのベンチャー企業では、初っぱなから社長との面接でした。しかしやはり社長とは人を見る目があるもので、話しているうちに「こいつには営業職は無理だな…」という空気が濃厚に立ち込めてきました。そして、わたしからの「語学が結構できる」という情報に、社長は突然隣の部屋にいた人物を呼びました。その人こそが、その会社のシステムを一から構築した人物、技術部長だったのです。「語学できる人ってプログラミングできるらしいじゃん?」という社長のノリによる面接相手の交代、そして技術部長の面接を経て、なぜかわたしの会社員人生は技術部所属としてスタートを切りました。

何もかもわからなかった最初

しかし、コンピューターもプログラミングも縁のなかったそれまでの人生です。最初の仕事は、会社のシステム追加開発の外注管理とそのシステムのアドミン業務が主でした。できることがないわけではありません。しかし困ったのが、技術部のメンバーがする会話の7割ほどの単語がわからないこと。サーバーとは? クッキーとは? ブラウザってあの「e」のボタンを押したらインターネットできるやつのこと?? DBはドラゴンボールではなくHPはヒットポイントではない??

単語がわからないと何が困るでしょう。日々の業務には、利用者へのシステム導入の案内や、それが上手くいかなかったときのトラブルシューティングも含まれました。もちろん技術者がサポートに入ってくれるのですが、わたしには技術者がユーザーに聞きたい質問内容がわからない、技術者がトラブルの原因として想定して話す内容がわからない、ということが起こります。

そこで、とにかくわかるようになんないとだめだな! とやったことがいくつかあります。

「わかる」ようになるまでにやったこと

やったことは、主にこの3つです。

  1. 単語を調べる
  2. 全体の構成イメージ(地図)を持つ
  3. 「どう動くんだろう」という好奇心を持つ

それぞれ少しだけ詳しくお話ししますね。

  1. 単語を調べる
    技術部メンバーに言われたことや、技術部メンバー同士で飛び交う業務上の会話に聞き耳を立てて、わからない単語をすべてその場でググりました。その場で調べられない時は、メモだけしておいて後でしつこく調べました。IT用語辞典にはとてもお世話になりました。

  2. 全体の構成イメージ(地図)を持つ
    単語の意味が大まかにわかってくると、単語同士のつながりも見えてきます。最初は一つずつバラバラだった単語が、まとまりになってくるのです。その段階で、「データベース周りの用語」「インターネット周りの用語」「プログラミング用語」など、大きな区切りの箱にそれぞれの単語を入れていくことを意識しました。そうして、その大きなまとまり同士がどう関連していくのかを少しずつ理解していきました。

  3. 「どう動くんだろう」という好奇心を持つ
    当時、あまりにわからなさ過ぎて、技術部長に「プログラミングってどうやったらわかるようになりますかねぇ」と直球で聞いたことがあります。答えは「システムを見てどうプログラムが動いているか想像してみるといいよ」というものでした。
    確かに、日々アドミニストレーターとして体験している担当システムについては、その動きを熟知しています。その上でソースコードを見ると、「ここはこの操作をするとこう動くから、そういう意味のコードが書いてあるはず…」と徐々に理解できるようになりました。そして、いろいろなWebシステムをユーザーと触るたびに、「あーこのタイミングでサーバーにリクエストが行くんだな」とか、「きっとこの情報はこういうテーブル構成で…こういうSQLで表現して…」とか想像で楽しめるようになってきました。

もちろん、技術部ではSQLドリルを渡されたり、JavaScriptを勉強させてもらったり、きちんと教育コストをかけてもらいました。その結果、なんだかんだあって、いつの間にかプログラマーとして面倒を見ているアプリの数は、10以上。会社がRails推しだったため、新規にRailsで開発したアプリケーションもいくつかありました。そしてベンチャーあるあるなのですが、プログラミングの教えを授けてくれた先輩技術者たちは、ほぼ全員が転職していなくなっていました。

転職へ

転職を考えたのは、「今の会社で学ぶ以上のことを学べる環境に行きたい」というモチベーションでした。具体的には、Railsはテストを書くと幸せになれるらしいぞ…という情報を聞きつけ、現在の会社(株式会社万葉)の募集に「テストを書きたいんです!」と応募したのでした。

結論から言うと、転職は大成功でした。万葉でRailsでのWeb開発を基本からしっかり教育され、今では10年以上の在籍になります。そして、万葉は、開発者コミュニティへの貢献のサポートも手厚い会社です。そのコミュニティへの関わりが、わたしのもう一つのキャリアである、翻訳・自著出版へとつながったのです。

Rails Girlsから『ルビィのぼうけん』翻訳、そして『Girls Who Code』翻訳

Rails Girlsとは何か

Rails Girlsという、フィンランドで始まった、女性を技術でエンパワーメントするためのワークショップのイベントがあります。ワークショップの手法がオープンに共有され、世界各地で、やりたい人間が手を挙げて開催する方式です。日本では2012年に東京で初めて開催され、現在まで日本各地で70回以上行われています。

その2012年のRails Girls Japan 第1回開催で、転職先の株式会社万葉はスポンサーとしても名を連ね、また参加者の学びをサポートするコーチやスタッフとして多くの社員が参加しました。わたしもコーチとして参加した一人です。そして、そのまま第2回の東京開催のオーガナイザーになり、数年にわたり日本各地でのRails Girls開催のサポートも行いました。

2013年、Rails Girlsの活動内容について話す筆者。

Rails Girlsのムーブメントは世界的なものですが、その創始者の一人がフィンランド人のリンダ・リウカスという女性で、Rails Girlsの日本での開催にも時々顔を出してくれていました。その際には、個人的に彼女とRails Girlsについて話をすることもありました。リンダははつらつとして明晰でフレンドリーな、すごく魅力的な人です。話すたびにまぶしい。

『ルビィのぼうけん』の翻訳

そのリンダが、クラウドファンディングのKickstarterで資金を集め、子ども向けプログラミング絵本『Hello Ruby Adventures in Coding』を出版することになりました。2015年のことです。出版前から注目を集めていたこの本をぜひ日本語でも、と日本の出版社がいくつか手を挙げました。その中の一つである翔泳社が、日本でRails Girls関連の活動をしていたわたしに、「翻訳をやりませんか」と声をかけてくれたのです。著者のリンダから、「ユキだったらこの絵本の伝えたいことを理解してくれるだろう」という信頼を得たこともあり、翻訳権は翔泳社のものになりました。

翻訳を引き受ける時も、翻訳中も、ずっと「翻訳がわたしで大丈夫だろうか…」という思いで胃がキリキリと痛み続けていました。当時、子どもに対してプログラミングへの入り口を開く本、しかもストーリーとかわいらしい絵で親しみやすく魅力的なこの絵本は画期的でした。それまでの日本には存在しないものだったと言えます。もしも翻訳で失敗したら、日本の子どもたちがプログラミングに関わる芽をひとつ摘み取ってしまうのではないか、というプレッシャーで、翻訳中はずっと泣き言を言っていました。

それでも自分の仕事として翻訳を引き受けたのは、リンダが言ってくれたとおり、「この絵本が書かれた動機、そして成し遂げたいことが、わたしにはわかる」という気持ちからです。

Rails Girlsの参加者は、今までプログラミングをしたことのない女性が大半です。Rails Girlsでは丸一日の時間をかけてRailsを使って自分でWebアプリを構築し、デプロイして全世界から自分のアプリがアクセスできるところまでをやります。そこまで成し遂げた時の参加者の、「自分の力でできることなんだ」という喜び、新しい世界が目の前に開けた時の輝きはいつでもまぶしい熱量を持っています。

この技術との出会い、コンピューターとプログラミングが自分の人生と関わりを持つ、自分が関与できるものであるという確信を、もっと多くの人に、もっと早くから持ってもらいたいという願い。それがリンダの『Hello Ruby』からわたしが受け取ったものでした。

幸いにも邦訳『ルビィのぼうけん』は好評をもって迎え入れられました。折しも発行年の2015年は、プログラミング教育の小学校必修化(2020年度)に向けてさまざまな方が準備をしている時期でした。わたしは『ルビィのぼうけん』のワークショップなどを設計・実施する活動を通じて、プログラミング教育、というわたしにとって新しい世界と出会うことになりました。 そして、翻訳にあたって助言をいただいた、Scratchへの貢献等を通じてプログラミング教育に深く関わっていらっしゃる阿部和広先生から、『Girls Who Code 女の子の未来をひらくプログラミング』の翻訳の話をいただいたのです。

『Girls Who Code 女の子の未来をひらくプログラミング』の翻訳

Girls Who Code 女の子の未来をひらくプログラミング』は、中高生の女子に向けたプログラミング入門書です。Girls Who Codeとは、女子にプログラミングを教えるクラブ活動を提供しているアメリカのNPO団体。その創立者であるレシュマ・サウジャニが著者になります。

この本のいいところはいろいろあるのですが、特に次の内容に特色がありました。

  • 歴史上の女性プログラマーの紹介
  • 現在実際に活躍している女性の職業プログラマーのインタビュー
  • Girls Who Codeで実際にアプリを作った中高生たちの作品紹介とインタビュー

ここで意識されているのは、女子のプログラミングをエンパワーメントする方法の一つです。とにかく女子には「プログラミングをやっている人のイメージ」の供給が足りない。メディアも目にする歴史も男性エンジニアが圧倒的多数で、”自分がやる”ということが思い描きづらい、というところをすごくケアしようとしているのです。

この本を翻訳することで、女子に向けたプログラミング教育の重要性を学ぶとともに、女子プログラミング教育に関わる人たちと知り合うことができました。その中に、IT・STEM分野での女子教育の機会を提供するNPO法人Waffleの代表である田中沙弥果さんがいます。その田中さんが、『ユウと魔法のプログラミング・ノート』出版のきっかけでした。田中さんにオライリー・ジャパンから「女子向けのプログラミング書籍を」と打診があったのを、「この話は鳥井さんの方が向いていそう」と紹介してくださったのです。

『ユウと魔法のプログラミング・ノート』を書かせたもの

ユウと魔法のプログラミング・ノート』は、初めて自分が一から作り上げた、翻訳ではない本です。でも、オライリー社から話があった時には、「どんな本を作るか」の基本の構想はできていました。そのため、「その本を出しましょう」という話は順調に進みました(執筆が順調だったという意味ではありません…)。

どんな本を作るか? を考えた時にその源になったのは、今までの自分の経験すべてでした。

  • プログラミングを初めて触った時に感じたさまざまな戸惑い、わからなかったこと
  • なぜ20代までプログラミングの世界に一切触れる機会がなかったのだろう、もっと早くに触れたかった、という気持ち
  • Rails Girlsの参加者から感じられる、技術が自分の可能性を広げる体験の喜び
  • 『ルビィのぼうけん』で知った、ストーリーが、本に書かれたプログラミングの知識を「体験」にするという学び
  • 『Girls Who Code』で得た、「自分と近いと感じられる誰かがプログラミングを行う姿」が人を力づける、という学び
  • 『ルビィのぼうけん』(低年齢向け)と『Girls Who Code』(中高生向け)の間をつなぐ本がない、という不足感
  • 『ルビィのぼうけん』や『Girls Who Code』よりも、年の若い読者がもっと自分のこととしてプログラミングを考えられる本が欲しい

ですから『ユウと魔法のプログラミング・ノート』はこんな本になっています。

ユウ、という小学5年生が主人公です。ユウは忘れ物の多い子です。でも、自分の身の回りにある課題を、プログラミングを知ることで少しずつ解決していきます。「なんだかユウってぼくのことみたいだね」と友人の子どもが言ってくれたのがうれしかったです。

そして、わかりやすさにこだわりました。監修はプログラミング本には珍しく(初?)、日本語や視覚的表現の「わかりやすさ」の監修が入っています。一般社団法人スローコミュニケーション・立正大学社会福祉学部准教授の打浪文子さんに協力していただきました。

内容は、本当にプログラミングの基礎を理解したい人が理解できるように工夫しています。変数・条件分岐・繰り返しの処理・関数、そしてエラーに遭遇したときの考え方までをカバーしています。「何もかもわからなかったスタート地点の自分」が欲しかった本であり、今の子どもたちにあったらいい、と思う本になりました。

最後に

ITの世界では(多分どんな業界でも)、いろいろな場所からキャリアはスタートするものだと思います。大学でコンピューター・サイエンスを専攻していた方、学生時代からアプリを作っていた方、他業種から独学やプログラミング・スクールでプログラミングを学んだ方。でも、どんな場所から始めても、必ずその人なり、あなたなりの「わからないこと」は現れるでしょう(わたしのように「ブラウザって何?」が現れることはまあめったにないかもしれませんが…)。そして、このプログラマーという「まだわからないことを理解して形にしていく職業」についている限り、問題領域は変わっても、「わからないこと」が尽きることはありません。

「RubyKaigi 2023」で登壇する筆者。

どうか、あなたのその時々の「わからない」「足りない」、そして「これがわかりたい」を大事にしてください。あなたがその時、その場所で感じたことは、その時、その場所でしか感じられない、見えないことです。その「わからない・わかりたい」の気持ちが次の行動につながります。「わからない」は、「これからこうなりたい」の一番のヒントなのです。そしてそのヒントから始めた小さな行動が、次の「わからない」と「こうしたい」を連れてきます。

本当の結果になるのはずっと後かもしれません。わたしはプログラミングの「わからない」を最初に感じてから、子ども向けの本を書くまでに、15年弱かかりました。けれど、あの時の「わからない」自分があって、それを一つずつ次の行動につなげてきた結果として、これからプログラミングを始めよう、という人たちに向けた本を書くことができたと感じています。そしてまた今も、次の「わからない」のための「次はどうしよう」を考えています。

あなたの「わからない」も、今あなたの次の行動のヒントになり、そしてきっといつか同じような場所で戸惑っている誰かの助けになります。どうか「わからない」を恐れず、わからない自分を大事にして、キャリアを考えてみてください。

編集:中薗 昴