島根移住のきっかけ

楓博光(以下、楓):今度はちょっと違う角度からの質問です。「なぜ島根に住んでいらっしゃるのでしょうか。エンジニアとして働く場所として、地方はおすすめですか」。

まつもとゆきひろ氏(以下、まつもと):もともと私は、隣の鳥取県という過疎化レベルとしてはあまり変わらないようなところで育ったので、そういう意味で言うと、都会が嫌だったというのがまず第1にあります。

トヨタの子会社で働いていたので、島根に来る前は名古屋にいたんですけど、名古屋もちょっと嫌だなって思っている時に、知人が島根で起業することになりました。25年前の島根であるにもかかわらず、オープンソースとかフリーソフトウェアとかLinuxとか、そういうのをベースにしたソフトウェア開発の仕事で起業するという話があって、そんな仕事、当時は東京でもなかなかなかったので「じゃあよろしくお願いします」って言ってジョインしたのがちょうど25年前の1997年ですね。

それが島根に来たきっかけです。都会が嫌だったけれども、プログラマーとしてのキャリアを諦めるのはなかなか勇気のある決断で、できなかったんですよね。ただ、それらの両方を満たす仕事で声がかかったので、「じゃあ行きます」となったのが最大の理由ですね。

地方に住むメリットとデメリット

まつもと:じゃあ地方に住むのを勧めるかどうかという話なんですけれども、それもだいぶ人によって違いますね。世の中には私みたいに都会が嫌だとか、通勤1時間、2時間は耐えられないという人たちも当然います。そういう人たちは地方に住めばいいし、地方ならではのメリットもたくさんあると思うんですね。

ずっとオフィスに通っていたんですけど、オフィスまで例えば15分で行けるとか。子どもの保育園も待機児童なにそれ? みたいな感じで、人間が少ないのでわりと余裕もあります。自然も近くにあるし、温泉も歩いて行けるし。そういうのがいい人にはおすすめだと思うんですね。

特に現代では、リモートワークが中心になってきたので、地方であることによっての不利益は昔に比べて、特に25年前の私と比べると随分少なくなっていると思うんです。そういう観点では、おすすめだと思います。

ただ当然、地方のほうが社会インフラは整っていません。例えば、アイドルが大好きでコンサートに行きたい時には最低でも広島まで行かないと、大阪まで行かないと、ということが起こるわけですよね。

それをどのくらい重視するか。あるいは美術館とか博物館とかもだいぶ限定されるので、そういうのを重視する人には向かないかもしれないという感じ。なので、その人のライフスタイルや興味のあることで決まると思います。私と似たような感性を持っている人であればおすすめですね。

:ありがとうございます。コロナによって、そのへんもだいぶオンライン化が進んで、便利になったという感じですかね。

まつもと:そうですね。島根に住んでいても、コロナの前までは毎週のように1泊や日帰りで東京に行っていました。それがコロナ以降、ここ2年ほどは、仕事では島根からは出ていないので。今はそういうことができるようになったのが大きいですね。

ふだんの情報収集には、RSSリーダーを活用

:それでは次の質問にいきたいと思います。「ふだんの情報収集はどうされていますか。おすすめのサイトやツールなどがあれば教えてください」ということです。

まつもと:最近、あんまり流行りじゃないらしいんですが、ブログとかニュースサイトとかの記事のサマリーを出してくれる、RSSリーダーというものがあります。そういうのを集めて一気に見られるRSS「Feedeen」というソフトを使って、いろいろなニュースサイトやブログを登録して見ています。

最近ね、Googleリーダーだったかな。いろいろなところでRSSリーダーが提供されなくなって残念なところではあるんですけれども、私自身はいまだに愛用しています。

何を登録しているかというと、ITmediaとかCNETとかニュース系のサイトが多いんですけど、特に情報を集めるのに役立っているのはHacker NewsとRedditという海外サイトですね。Sub-redditというプログラミングだけのスレみたいなコーナー2つと、Redditはプログラミング全般とRubyを見て、情報を集めています。

英語の情報はけっこうそのまま入ってくるので、わりと新しい情報が入るのはありがたいなあと思っています。あとは気になったブログは全部RSSリーダーに登録していますね。

エンジニアにとって英語は必要か

:では海外のサイトの話もあったので追加の質問です。「エンジニアにとって英語は必要だと思われますか。また、おすすめの英語の勉強法はありますか」。

まつもと:まず英語が必要かどうかなんですけれども。人によってだいぶ違うとは思うんですが、他人と差別化したい、ちょっと1歩先んじたいと思うのであれば、少なくとも読めたほうが有利ではないかなとは思います。「私は英語が苦手だから英語は読みません」みたいに避けていると、結局その情報が日本語になるまでわからないですよね。

海外ではずっと前から話題になっているものでも、それが翻訳されて日本語になるまで知らないわけなので、そのギャップはけっこうもったいないなあって思います。

辞書を使ってもGoogle翻訳を使ってもなんでもいいんですけど、少なくとも英語から人間によって翻訳されるのを待つより前に情報を集めるほうが、自分のキャリアにとって有利になることが多いんじゃないかなと思います。

おすすめの英語の勉強法はですね、「イマーシブ」という言葉があるんですけれども。英語にどっぷり浸かって英語を使う、英語で考える、英語でしゃべることを強制されるような環境はけっこう大事で、学習には有効だと知られています。

例えば私の場合、コロナ前だと年に5〜6回ぐらい海外のカンファレンスに参加するんですが、カンファレンスは当然みんな英語でしゃべるわけですよね。よくわかんないんですけど、私が海外のRubyのカンファレンスに行くと、みんな話しかけてくるんですね。それも日本語ではなく英語で話しかけてくるので、仕方がないから英語で答えるんですけど。英語でのコミュニケーションを強制されると、英語がだんだんできるようになる(笑)。

:なるほど。Matzさんは英語を話せない状態でその状況に身を置いたんですか。

まつもと:私は大学時代に休学して宣教師の仕事をしていて、相棒の同僚と一緒に行動していたんですけど、相棒はだいたいアメリカ人だったんですね。

その時も、英語を使うことをだいぶ強制されて(笑)。もともと中学、高校と、英語はそんなに嫌いではなかったので、苦手意識はなかったんですけど。それにプラスして、だいぶ強制された期間が、私の英語に役立ったというのはあると思います。

恥ずかしがらずにやってみることが大事

:質問がまだまだたくさんあるのでいきたいと思います。続いては、ちょっとキャリアの話になってきます。

「エンジニアとして就職するには制作物が必要とよく言われますが、何をどのように作るのかきっかけが掴めません。おすすめの始め方などがあれば教えてください」ということです。

まつもと:自分のものを作るのが一番いいのは決まっているんですけど。それって、やはりモチベーションが持てるものがいいと思うんだけど、そのモチベーションって人によってだいぶ異なるんですよね。

なので最初は既存のソフトウェアに対して、例えばパッチを送ったり、プルリクエストを送ったり、そういう感じで貢献をしていって、自分の興味の方向を見たりとか。あるいは自分のスキルを伸ばしたり、そういうことをするといいんじゃないかなって思います。

その中で、自分はこういうツールがあったらいいんじゃないかなって思うとか、自分のモチベーションはこういう方向じゃないかなというところのソフトウェアを作っていくと長続きしたりとか、いいものを作れたりするんじゃないかなと思うんですね。

:なるほど。ありがとうございます。いきなり作らなくても、ということですね。

まつもと:そうですね。例えば自分が採用側だったと想像してみると、学生が「僕は世界的に有名なプログラミング言語を作っています」みたいなことを言ってきたら、たぶん飛び上がると思うんですけど。

そうでなくても、こんなソフトウェアを動くところまで持っていきましたとか、こんなソフトウェアにこんな貢献をしましたみたいな、実績というかたちで言うことができたら、それはだいぶ評価にプラスになると思うんですね。なので、恥ずかしいとか思わないで、やってみることがいいんじゃないかなと思うんです。

もう1つが、自分で作ったりプルリクエストを送るんでもいいんですけど、そうやって経験しないとわからないことはたくさんあるし、あるいは経験する中で学んでいくこともたくさんあると思うんですね。

たぶんですけど、1993年の時点で私のプログラマーとしてのスキルは、チョットデキルぐらいだったと思うんですね(笑)。だけど、30年間いろいろなものを作ったり学んだりした中で培ったものによって、プログラマーとしての能力が伸びてきたと思うんです。

ということは、Rubyを作らなかったら、ちょっとマシなプログラマーで終わっていたような気がするんですね。なので、とにかくあんまり深く考えないで手を動かせという感じはありますね。

:先ほど「恥ずかしがらない」というワードもありました。なにかを作ったり、Qiitaで書いたりした時に怒られたり、まさかりが飛んできたり、間違ったらどうしようと思ったり、そういう心理的障壁もあると思うんですけど、そういうのを乗り越える方法はありますか。

まつもと:気にすんなっていうことですよね。なんかいろいろ言う人はいるんだけど、だいたいやっかみなので(笑)。見なかったことにしよう。

文系エンジニアもコンピューターサイエンスを学んだほうがだいぶいい

:それでは続いてもキャリア関連の質問です。「文系エンジニアなのですが、コンピューターサイエンスは学ぶべきだと思われますか」ということです。

まつもと:そうですね。可能であれば学んでいたほうがだいぶいいと思います。

:ほう、だいぶいい。どういった観点で?

まつもと:文系エンジニアということだから、もう就職が決まったとかそういうところだと思うので、今から大学に入り直してコンピューターサイエンスを専攻して4年間勉強しろとか、そういうことは言わないですけど。

ただ、僕は文系だからコンピューターサイエンスの部分は要らないんだとかは考えないで、アルゴリズムについて入門系のやさしい本を1冊読んでみて最初の1歩を踏むとかですね。オンデマンドでいいので、必要に応じてアルゴリズムやデータ構造など、コンピューターサイエンスの興味が持てる部分を学ぶのは、少しずつでも時間を取っていくのがいいんじゃないかなって思います。

進路は、次にどこを目指すかで考える

:それでは続いての質問です。「就職か院進学かで悩んでいます。明確にやりたいことも決まっておらず、周りもだいたい進学するのですが、このままなんとなく進学していいものか悩んでいます。アドバイスいただけますと幸いです」。

まつもと:これはねえ、わかんないんですよー(笑)。私自身は学部の時に院に行くように先生に勧められたけど、それを聞かないで就職したので(笑)。

:院を勧められたけど行かなかったんですね。それはなぜですか。

まつもと:これ以上親の脛をかじるのも嫌だし、奨学金もなあとか思って。そのまま働きました(笑)。あとでわかったんですけど、僕はプログラミングは好きだけど、研究とか論文とかにはあんまり興味がないんですよね。

なので、院に行かなくてもよかったなと思います。社会人大学院生として島根大学に行ったことがあるんですけど、そこで初めて「僕はこんなに論文を書くのが嫌いだったんだ」って(笑)。

:やはり嫌いだったんですね。

まつもと:なんとか1本書きましたけど、「もう2本書いたら博士号をあげるよ」って言われて、「いや、こんな嫌いなことをあと2回もやるのは勘弁してください」って(笑)。

:なんとなく院進学で学歴をつけておいたほうがいいとか、そういう風潮もあると思うんですけど、あまりそのあたりは。

まつもと:それが武器になるところで戦うつもりがあるなら院に進めばいいと思うんですね。例えば海外で就職しようと思った時に、Master DegreeとかPh.D.とかはすごく高く評価されるんですね。

新卒でGoogleに入ろうと思った時に、コンピューターサイエンスのMaster Degreeを持っていたらだいぶ有利みたいなので。そういう武器に使いたいんだったら2年かけても、あるいはDoctorも入れて5年かけても有効な場合もあると思います。

だけど、残念ながら日本の、しかもトラディショナルな企業では、修士号や博士号を持っていても正直あんまりプラスにならないので、その次にどこを目指すかによって考えたらいいんじゃないかなって思います。

もちろんアカデミアに残るという選択肢も当然あります。もしそうなら、それは「院に行く」の一択なんですけど、もしそうでなく念のために取っておくにしては2年も5年もちょっと長いので(笑)。そこは武器として使うつもりがあるかどうかによって決めたほうがいいんじゃないかなと思います。

今の時代に学生だったらスタートアップで働きたい

:残り3分なので、あと1問か2問になります。それでは、「今の時代にもし学生だったら何に挑戦しますか」。いかがでしょうか。

まつもと:どうなんでしょうねえ。あんまり意識の高い学生ではなかったので、たぶんそのままプログラミングをしているんじゃないかな(笑)。

:就職をするんですかね? まあ、また言語を作るのかもしれないですけど。

まつもと:就職もするんじゃないですかね。

:もし今この時代に就職するとしたら、どういう業界とかどういう会社に入りたいとかありますか。

まつもと:スタートアップ企業とか小さなところに行くんじゃないかなと思います。私が最初に就職したところは、同期が200人ぐらいいるけっこうでかい会社だったんですけど。

ただ、200人いてもほとんどが文系出身の未経験で、コンピューターサイエンスを専攻していたプログラミング経験者は200人中6人しかいなかったんですね。その6人はけっこう大切にされたんですよ。

それが原体験になっていて、数字ではなくて人間として自分を見てくれるところのほうがイキイキと働けるんじゃないかなって思ったんですね。

それ以来、転職は2回していますし、他の企業もいろいろとお手伝いをしているんですけど、全部小さなところで、大企業とはあんまり仕事をしていないんですね。そういうのもあるので、私だったら小さなところを目指すんじゃないかなって思います。もちろん合う合わないはあるので、合わなかったら辞めたらいいやって(笑)。

毎日1コミットでGitHubに草を生やしている

:これが最後の質問になると思います。そんなMatzさん、「今何か挑戦されていることはありますか」ということですが。

まつもと:挑戦。まあねえ、だいぶ歳を取っちゃったのでね、あんまり挑戦という感じではないんだけど。今自分に課しているのは、GitHubのアクティビティの草があるじゃないですか。

:はい、草生やすところですね。

まつもと:草生やすやつ。あれを毎日緑にするっていう(笑)。

:おおー、みんなMatzさんでもやっていますよー(笑)。

まつもと:やっています。最後に草が生えてなかったのが2020年の12月31日なんですよ。

:へええ。

まつもと:だから2020年の12月31日には何もコミットしなかったの。

:それ以降は、お正月だろうがなんだろうが。

まつもと:それ以後は、お正月だろうがお盆だろうがずっと草。今日はまだだわ(笑)。昨日に至るまでですね。

:それはなんでなんですか。

まつもと:いや、同世代と話をすると、だいたい元プログラマーという感じになっちゃうんです。昔はコードをバリバリ書いていたんだけど、今はマネージャーとか経営とか言い出すおじさんなわけですよね。嫌なんですよ。

もちろん私も昔に比べたらどっちかというと言語デザイナーとしての活動が多くて、プロダクトマネージャーとかプロダクトオーナーみたいな立場になっているんだけど。

ただですね、55も過ぎたおじさんだし(笑)、昔だったら定年の年齢だから、プログラミングなんてってなるのは嫌なんですよ。ちょっと意地を張って、毎日1コミットとか考えてですね、じゃあ今日は何をコミットしよう、みたいな。

:すばらしい。みなさん、あのMatzさんでも毎日草生やしていますからね。みんなが生やせない理由はないですよ。Matzさんに負けている場合じゃないですよ。いやあ、これはかっこいいですね。

エンジニアを目指す学生へのメッセージ

:では最後にMatzさん、今回、エンジニアを目指す学生さんが今たくさん聞いてくれています。そんなみなさんに向けて何か一言メッセージをいただければと思います。

まつもと:そうですね。基本的にプログラミングってすごく楽しい側面が多いと思うんですよ。パズルを解いているみたいなところもあるし、デザインするというのは「良いを定義する」ということでもあるんですよね。これはどういう仕様だと良いソフトウェアになるのかみたいなことを定義していく。そういうのも含めて、プログラミング、ソフトウェアを開発するということは、すごくおもしろい側面がたくさんあると思うんですね。

まあお金のためとか、生活のためとか、もちろんそういう性質もあるんだけど。そうではなくて楽しい側面に目を向けて、自分の好きなことをして、おまけに給料ももらえて万々歳みたいな生活ができるといいなって。私はずっとそうしてきたので、みなさんもそうできるといいなって思っています。

:ありがとうございます。「(まつもと)ゆきひろだけど何か質問ある?」ということで、非常に貴重な金言をたくさんいただきましたね。みなさん胸にしまってぜひ明日からの活動に活かしてほしいなと思います。

それでは以上でこちらのセッションは終了としたいと思います。ではみなさん、盛大な拍手でMatzさんをお送りしましょう。Matzさん、本当にありがとうございました。

まつもと:ありがとうございました。