iOSアプリ黒帯「勉学休職制度」を使って再び数学の世界へ

iOSアプリ黒帯「勉学休職制度」を使って再び数学の世界へ

ヤフーには、全従業員の約半数を占めるエンジニアと制作の才能と情熱を解き放つための施策としてスタートした「黒帯制度」があります。

今回は、iOSアプリの分野で黒帯に認定された、佐野さんにお話を聞きました。オープンソースの公開や勉強会の開催など、社外に向けた活動を積極的に行っているそうです。
なお、4月からヤフーの「勉学休職制度」(※1)を利用して、大学院に進学するとのこと。あらためて数学を学びなおしたいと思った理由についても語ってもらいました。

(※1)勉学休職制度:
キャリア施策のひとつとして、普段の業務を離れて専門的知識や語学力をより集中的に習得できる機会を提供するための休職制度。勤続3年以上の正社員を対象に、最長2年の期間で取得可能。


- iOSの黒帯に任命された経緯を教えてください。

ヤフーに中途入社した2013年に WWDC(※2)に参加させてもらったことがきっかけになりました。

(※2)WWDC:
Appleが技術者・開発者を主な対象とし、最新技術の説明を行うために開催しているイベントで、毎年開催。Apple関連製品の技術説明や、基調講演や新製品発表なども行われ、世界中の技術者が情報交換を行っている。

この年は一人で参加したのですが、iOS 史上最大の変化と言われるiOS 7発表のタイミングだったので、新しい情報のインプットがたくさんありました。
そこでせっかく情報を得たので、社内のエンジニアたちにも共有したいと思い、勉強会を開催し、みんなで新しい機能を順番に試してみたりもしました。
これらのノウハウは社外にも公開したいと思い、そのメンバーたちとその年の10月に「iOS 7 勉強会」を開催しました。その時は200人くらいの社外の人が集まりました。

その後も社外の勉強会に参加したり登壇したりした活動を認めていただき、2014年からiOS黒帯として活動しています。

- 黒帯になってかわったことはありますか?

業務として行っていること自体は変わっていません。現場のエンジニアとしていいサービス、アプリを開発し、その過程で得た知識をみんなに共有する、ということに取り組み続けています。
ただ、黒帯に任命されると「黒帯活動費」を使えるようになるので、必要な本を買ったり、外部の会場を借りて行うイベントの開催費にしたり、最新の端末が出たらすぐに買って試すことができるようになったことはありがたいですね(^^

Objective-C→Swiftコンバータをオープンソースで公開

- 黒帯になって一番「これができてよかった!」と思うことは?

昨年末に、 「objc2swift」 という Objective-C を Swift に変換するコンバータをオープンソースで公開できたことです。

2014年のWWDC で新言語のSwiftが発表され、昨年末にはそれがオープンソース化されたことで大きな話題を呼びました。Swift の登場によってiOS アプリ開発はよりモダンで安全、効率的なものへと進化しました。
ですが、ヤフーでは古くからあるアプリはまだObjective-Cで書かれていますし、世の中でもSwift対応できていないアプリはまだまだ多いと思います。

「objc2swift」 は自分が担当していたプロジェクトで使うために開発したのですが、実際に開発効率はとても上がりました。
せっかくなので社内外でも使って欲しいと思い、昨年末に Apple が Swift をオープンソース化したタイミングに合わせて作りが粗かった部分を磨き込み、こちらもオープンソースとして公開しました。

社内外からは「よくやってくれた」「すごい!」などの反応をもらうことができ、実際に objc2swift を使ってアプリを Swift に書き換えたという方もいました。

普段、私たちはいろいろな人の知恵を使って開発しているので、それらを使う一方ではなく、自分からもソースを外部に出すことができたことはエンジニアとしてはとても嬉しかったです。

image


4月からは大学院生「心から魅力を感じるものに邪念のない心でまっすぐに向き合いたい」

- 4月から大学院へ行かれるそうですね。

はい、4月から2年間休職して大学院へ通うので、エンジニアの仕事からは一旦離れます。

9年前、大学では数学を専攻していて、当時はそのまま大学院に進学する予定でしたが、将来への不安はずっと抱えていました。院試が終わったタイミングで 「未踏ソフトウェア創造事業」に応募したら採択され、それをきっかけに大学院には行かずにメンバー4人と起業することになりました。
数学への未練はずっとありましたが、他では得難い経験がたくさんできたので、その決断は間違っていなかったと思います。

2013年にヤフーに入社し、 iOS 黒帯としての活動やサービスマネージャーとして新規アプリの企画開発など、さまざまな経験をさせていただきました。

30歳になり家庭を持って子どもも生まれ、この先自分がどう生きていくべきか考えた時に、やはりもう一度、数学を勉強したい! と強く思ったんです。
世の中で輝いている人を見ると、みなさん、心からやりたいと思っていることに従事することで輝いているなと。
漠然とした将来への不安も解消されたことで、もう一度、心から魅力を感じるものに邪念のない心でまっすぐに向き合いたいと思ったんです。

昨年1月から「プログラマのための数学勉強会」を開催したことも大きなきっかけとなりました。この勉強会は過去5回開催してきたのですが、毎回定員を超える応募があり良い反響をいただいています。
今は機械学習や3Dゲームフレームワークなどの普及によって、エンジニアの数学に対する関心はどんどん高まっていますし、本来プログラミングと数学はとても近いところにあるものだと思っています。

この勉強会は私自身にとっても良い刺激になり、さらに数学を勉強したいという思いが強まっていきました。でも、仕事と育児の傍らで勉強というのは限界がある……そんな時にヤフーに「勉学休職制度」があると知り「今だ!」と思って去年の9月に受験しました。

- 仕事と育児と受験勉強の両立は、大変でしたか?

めちゃくちゃ大変でした(^^
去年のゴールデンウィークから勉強を始めたのですが、週末は妻にバックアップしてもらってひたすら勉強、平日の夜も帰宅後2、3時間勉強しました。
大学時代から9年のブランクがあるので、1カ月で大学1年分、というように復習。昼休みも利用して必死に勉強しました。

image

(佐野さんの自宅の勉強机。こんな感じで勉強していたそうです)

プログラマのための数学勉強会で知り合った数学科出身の方と、メッセンジャーを通してノートの写真を送り合ったりして、わからないことを教えてもらったりもしました。
ウィキペディアの数学関連の記事は私が大学生のころよりもずっと充実していますし、MathOverflow (StackOverflow という技術系Q&Aサイトの数学版)でも難しい質問にもきちんと解答がついている。教科書を選ぶ時も、ECサイトのレビューがとても参考になりました。
ITが発展したことによって、自分で勉強したり仲間を見つけたりすることのハードルが、かなり下がったことを身を持って感じました。

受験勉強はとても大変でしたが、やりたいことに向き合うことの大切さは、社会人になったからこそわかると思いました。もっと、社会人が勉学に専念する時期をもてたらいいですね。
社会人になって学べることはとても多いので、社会に出てからも復学しやすい環境ができてくると、社会にとってもよい効果があるのではと思っています。

また、数学に限らず理系大学生は「就職か研究か」で悩んでいる人は多いと思いますが、もっと多くの会社でこのような勉学支援の仕組みがあれば、学生も社会に出やすくなるかもしれません。

実は、数学はとても自由な世界

- 佐野さんが思う、数学の魅力を教えてください!

「数学は堅い」と思っている人は多いと思いますが、そんなことは全然なくてとにかく自由なんです。なんでもありな世界の中で「理論」という形でいろいろなストーリーが語られるところが面白いです。

- なんでもあり……? 数学では答えは1つではないのですか?

1 + 1 は 2。これは学校では絶対のルールであるかのように教わります。でも別にそうでなくても良いし、そうでない世界があるんです。
たとえば、時計では 5 時の 8 時間後 は 1 時ですよね。時計の世界では「5 + 8 = 1」なんです。
また、一週間を数字で考えた場合は、月曜日を 1 とすると、金曜日は 5 。その 8 日後は土曜日なので 6 。曜日の場合は「5 + 8 = 6」になっています。

このように、ルールを取り換えることによって違う世界になるのが数学の面白さ。
「これは前提として認めましょう」というものを「公理」と言いますが、なんの公理を使うかは自由に選んで良いんです。これはエンジニアが言語やフレームワークを自由に選ぶ感覚と似ていると思います。

(※5)公理:
その理論の出発点として、論証ぬきで真だと仮定し、他の命題の前提とする根本命題。

学校の授業だと、「こうあるべきである」という1つの解き方や答えしかないように思われがちですが、実は数学はとても自由なもの。
ただ「論理的に矛盾してはいけない」というルールがあるだけなんです。


image


- 最後に、9年ぶりの学生生活に向けての思いを。

残り2ヶ月で今のプロジェクトをやりきり、4月からは気持ちを切り替えて、2年間まっさらな気持ちで勉強と研究に専念したいです。

世の中で数学は、役にたたないと言われることがありますが、数学を勉強することで磨かれた思考力や感性は、エンジニアにとって大きな武器になると思っています。
たとえば、難しい数学書を読んで根気強く考えるというのは、バグを見つける時の精神状態や集中力に似ているんですよ。いいコードを書く感性も数学を勉強することで磨かれます。
これからは、もっと数学人材が輝やける世の中にしていきたいです!

そして、学生時代に打ち込んだこと、勉強だけでなくサークルでの活動も含め、経験してきたことは社会に出てから必ず生きてきます。私は一度働いたことでそれを知ることができました。「こんなものは役に立たない」などという声は気にせず、やりたいと思うことをやりきってください。
社会人のみなさんも、自分が好きだったことを思い出して、勉強してみる時間を持ってみませんか? 仕事にも必ず生きてくると思います!