インタビュー

「エンジニア30歳定年説」の中で、描くべき生存戦略とは?わいわいswiftc運営メンバー三木康暉(@giginet)さんインタビュー

「エンジニア30歳定年説」というフレーズを聞いたことがある人も多いのではないだろうか。エンジニア職においては、技術のアップデートサイクルが激しく、かつ、30歳頃から体力も衰え始める、という背景から生まれた言葉だ。

それでは、エンジニアが自身の付加価値を向上させ続けていくために、日々どのような取り組みをしていけばよいのだろうか?

今回は、クックパッドのiOSエンジニアで、マネーフォワードやtaskeyというスタートアップ企業の技術顧問を務める三木康暉(@giginet)氏にインタビューを実施した。

今後、成長を望むエンジニアに向けて、勉強会をはじめ社外活動との付き合い方のコツを伺った。

取材した人

三木康暉(@giginet)氏
クックパッド株式会社 モバイル基盤部 iOSテックリード。fastlane, Carthage, XcodeGenなどの著名なOSSのコアコミッター。北海道大学院 情報科学研究科を卒業後、クックパッド株式会社に新卒入社し現職。クックパッドのモバイルアプリの開発基盤改善や、リアーキテクチャを進めている。テックカンファレンスや勉強会、ブログ等での良質な情報発信や「cocos2d-xではじめるスマートフォンゲーム開発」などの執筆活動も行っている。

GitHub: https://github.com/giginet/

Twitter:https://twitter.com/giginet

自分の知識やスキルの棚卸しをして、さらに一歩先のアウトプットを続けていくためには?

クックパッドにiOSエンジニアとして勤務し、そのほかにも複数企業の技術顧問を務めている三木(@giginet)氏。さらには、エンジニア向けのカンファレンスや勉強会、ブログでの情報発信や著書の出版など、社外活動へのコミットでも著名な存在だ。まずは、エンジニア向け勉強会に参加し始めたきっかけについて聞いた。

「社会人になるまでは北海道で暮らしていて、その後、クックパッドに新卒入社することになって上京しました。北海道でもエンジニア向けの勉強会は結構あったので、学生時代から継続的に参加していました。上京後も、時折北海道に戻って勉強会やカンファレンスに行ったりしていました」

勤務先の通常業務とは別途、社外のエンジニア向け勉強会やカンファレンスに参加し続けるモチベーションとは、どのようなものなのだろうか。

「人によってモチベーションは違うと思いますが、私の場合は『注目されたい!目立ちたい』というのがあるんです(笑)だから、聴講だけではなく必ず発表・登壇があるところに行くようにしています。自分でOSSプロダクトを作って、その宣伝のために行きたい、といったことがモチベーションになっています。登壇予定があればそのために勉強せざるを得ないので、人のために、というよりは、自分の成長のために行っています」

三木(@giginet)氏は、大学院時代に書籍も出版している。自分の知識やスキルを棚卸しして、さらに一歩先のアウトプットをするために勉強会やカンファレンス、情報発信や執筆活動にコミットしているのだという。

Swift言語に貢献する同志と立ち上げた「わいわいswiftc」

三木(@giginet)氏が運営メンバーとして参画しているエンジニア向け勉強会「わいわいswiftc」とは、Appleのプログラミング言語「Swift」の言語処理について学習を深める場だ。その勉強会との出会いについて聞いた。

「『わいわいswiftc』には2017年4月の第1回から、運営メンバーとして参加しています。この勉強会は、Swiftの国際カンファレンス『try! Swift』の場で、Swift言語に貢献しているエンジニア達が集まったことから始まりました。懇親会で偶然居合わせた人が、Swiftの日本人コミッターいけしょーさん、それから、Swift言語に貢献し、後にAppleでSwiftの開発を手掛けることになる、りんたろうさん( @rintaro )のお二人だったんです。その場で盛り上がって、『せっかくだからSwiftコミッターや、コントリビューションしてみたい人が集まって、言語処理系の開発にどう貢献できるか勉強会をやってみても良いのでは?』ということで始まりました」

「当時は、Swiftのナレッジが貯まる場所が無かった、という背景もありました。Swift言語がオープンソースになったのは、2015年末〜2016年頃のことです。そもそもオープンソースになって間もなかったですし、言語の開発を手掛けている人もなかなかいませんでした。そのうえ、SwiftのコミュニティはAppleが主導しているため特殊な立ち位置で、フォーラムなどもAppleが提供しています。それゆえ、情報を集めにくいという側面がありました。カンファレンスは年数回ほどありますが、それ以外にもフランクに集まれる場が欲しかったと、いうのが『わいわいswiftc』を立ち上げたきっかけです」

わいわいswiftcは「教える・教わる場」ではなく「議論の場」

Swift言語に貢献するエンジニア同士が集まり、フランクに情報交換できる場として立ち上がった勉強会「わいわいswiftc」。Swiftの初学者向けというよりは言語処理系を主に扱い、なおかつ、一方的に教える・教わる場ではなく、議論の場として現在も活動が続いている。

「よくある勉強会では、1人あたり20分ほど発表して、後で質疑応答といったスタイルが多いです。一方『わいわいswiftc』では、スライドを見せながら1人1時間半ほどしっかり時間を取って、その場で他の参加者と疑問点などについて議論を深めていきます。いわば『輪講』に近いスタイルですね。」

コロナ禍以前の、リアル開催のときは会場のキャパシティの問題もあり、参加者の上限は40〜50人強だったという。その参加者の顔ぶれは、馴染みの常連メンバーが多い。勉強会で取り扱っている技術レベルとは、どのようなものなのだろうか?

「Swift入門者向けのコンテンツは、わざわざ主題として扱うことはしていないんです。『わいわいswiftc』は、『来るものは拒まず、去るものは追わず』というスタンスなんですが、内容が比較的高度なので、常連メンバーが集まってくる、という感じになっていて、『この場に来た人は、ついてきて!』という、結構ストイックな勉強会です。でも、分からないことはみんなが丁寧に教えるし、勉強会の資料や録画も毎回公開するようにしています」

まさに、最先端のナレッジをしっかりアウトプットする場として勉強会が展開されているのだ。さらに、派生活動としてワークショップやカンファレンスを開催したこともあるという。

「ワークショップは、福岡・札幌などで1泊2日の合宿として開催しました。人間が書いたSwiftのソースコードを、機械語に変換するといった実装を通して、いわばミニSwiftコンパイラを開発するという内容です。講師が問題を作ってきてみんなで解き、自分で実装して理解を深めました。

一昨年には、swiftcカンファレンスも開催しました。『拡大版わいわいswiftc』といった立ち位置で、会場を丸一日借りて40〜50人の参加者が集まり、1日掛けてこれまでの勉強会の復習・総集編を行う、といった回でした」

いずれも初学者を想定した内容では無いが、「ついてきてくれる人が増えると嬉しい」と三木(@giginet)氏は語る。Swiftcコミッターになる人は、そもそもエンジニアとして希少人材だ。従来は存在しなかったコミュニティが立ち上がり、そこへ、ストイックに学習を深めたい人が集まってきているのだという。

「メンバー同士のコミュニケーションはフランクで、雰囲気が良いですよ。周りからは『行ってみたいけど敷居が高い、怖い』と言われたりすることもありますが…『怖くないよ!』と言ってみたりしています(笑)」

勉強会の開催は馴染みのメンバーで回っているとは言え、定期的に継続する難しさや、コロナ禍での課題もあったのではないだろうか。

「運営メンバーの努力というよりは、登壇者の『発表したいことがある!』という熱意に支えられている部分が大きいですね。参加者から『次これ発表したいんだけど』『2〜3時間じゃ足りない!』『じゃあ、また次やろう』といった意見が出て、自然と定期開催につながる好循環で回っています。これも、『教える・教わる』スタンスではなく、サロンに近いスタンスだから、続いているんだと思います」

誰かに教えるためではなく、調べたことのアウトプットの場が欲しい。参加メンバーから自発的に「発表したい!」というモチベーションが湧き上がってくる文化が築き上げられているのだ。その参加者とは、どのような人が多いのだろうか。

「ほとんどが、iOSエンジニアです。iOSDCなどのカンファレンスによく参加する人などですね。高度なアプリケーションを開発するだけでなく、言語処理系の知識を身に付けたい人が集まってきます。あとは、iOSは手掛けていないけれど、言語処理系が好きな人や他の言語のコンパイラの開発をしている人、という感じです」

言語処理系の知識を身に着けたい人が集まってくるのは、三木(@giginet)氏自身がその領域が好きだから、というバックグラウンドも大きい。

「私自身は、仕事で技術基盤のチームに在籍しているので、自分で画面や機能を作るよりも、『画面や機能を作る人が、どうやったら早く開発できるか?』を考えています。その課題を達成するために、言語機能の知識が必要でした。興味を持って学び始めたら、言語処理の仕組みを知らないとダメだなと痛感し、もっと深いレイヤーを知らないと専門的な問題解決ができないと思ったんです」

「わいわいswiftc」は、コロナ禍でもDiscordメインで勉強会を継続している。リアル開催からの移行で感じた課題や、オンライン開催になって良かった点を聞いた。

「みんな仲の良いメンバーなので、移行はスムーズでした。Discordはウェビナーと違って誰も発言できるので、『わいわいswiftc』の議論型スタイルと相性が良く、リアル開催時と変わらない雰囲気で勉強会を継続できています。ただ、個人的には終了後の懇親会が大事だったのでその場がなくなったのは寂しいですね。あとは、新規の人が参加しづらくなったのでは…という懸念もあります。それから、誰かの発表の途中で質問を投げかけたいとき、互いに表情が見えないので聞きにくい、という点もあるかもしれません。

メリットとしては、オンライン開催なら遠方の人も参加できるようになったことですね。

iOS界隈では、LINE、マネーフォワード、メルカリなど名だたるIT企業がiOS開発部署を福岡に置いているので、福岡在住の人からの関心が高いんですよ。従来のリアル開催では参加が難しかった人も、オンライン開催なら運営メンバーとして携わってもらえるようになりました」

エンジニアの生存戦略

クックパッドにエンジニアとして勤務するほか、社外においては株式会社マネーフォワード、taskey株式会社の技術顧問も務めている三木(@giginet)氏。社外活動や、勉強会との付き合い方のコツを聞いた。

「iOSカンファレンスをはじめ、さまざまな集まりに行くことで、通常業務以外で他社との交流、他社エンジニアとのコミュニケーションが生まれます。

カンファレンスでの登壇経験や執筆経験も、キャリアアップにつながります。そういった経験があると、いろいろな話が舞い込んでくるんです。

iOSDCをはじめ、規模の大きなカンファレンスで登壇にエントリーしてみると良いよ、と職場で新卒エンジニアなどに話しています。登壇と言うと、ハードルが高いように感じますが、事前に準備をしっかりすれば良いだけなので、怖がらずどんどんチャレンジすると良い、と後輩エンジニアたちに言っています。自分の知名度が上がり、勉強にもなるのでメリットが大きいです。

勉強会は、ただ聞くだけではあまり身につかない側面があります。勉強会に出るならば、登壇するぐらいの気概を持ったほうが良いと思います。

『自分の中に落とし込めていないのに、分かった気になる』で終わるより、アウトプットファーストのほうがいいですね。間違ったことを言えないプレッシャーを自分に課して、勉強を深めるのが良いです。

ただし、登壇自体が目的ではありません。登壇とは、『OSS活動に貢献した』など、結果をコミュニティにアピールするための場です。

私自身は登壇に関して『テーマに興味あるけど、進捗はゼロ』といった状態でもエントリーします。登壇が実際に決まってから調べ始める。自分に対して、締め切りのプレッシャーを課すんです。自分のリソースのマネジメントが苦手だからこそ、自分の外に締め切りを設ける。それぐらいの思いで勉強会を利用してもいいと思います」

本業と同時進行でさまざまな社外活動や勉強会へコミットし続けるポイントは、「1つのアウトプットを様々な場面に活かし、レバレッジを効かせる」ことだと言う。

「本業で身に付けたことを、そのまま他の場で話すと喜ばれるなど、レバレッジが効くようになります。逆に、他社で出てきた課題を、本業でも改めて考えていこう、とか。低労力で、さまざまな場面に効いてくるような発想・行動がおすすめです」

三木(@giginet)氏はそんな中でも、OSS活動への取り組みを再重視していると強調する。

「エンジニアとして付加価値を上げていくためには、やはりOSS活動への貢献が重要です。業務で取り組んだコードで、社外に出せるものは、OSS活動にアウトプットしていく。すると、自分自身のアピールになり、会社のアピールにもなります。

このようなOSS活動や、登壇経験によって技術顧問のお声掛けをいただき、キャリアアップにつながりました。

私自身はOSS活動に関しては、好きで取り組んでいることなので、本業との両立が大変、というふうに捉えたことはありません」

最後に、エンジニアの生存戦略について聞いた。

「『エンジニア30歳定年説』という言葉があります。私自身もだんだん、『言わんとしてることは少し分かる』と捉えるようになってきました。手を動かすだけだと、若い人についていけなくなってきます。後から学んだ人のほうが新しい技術を持っているし、技術が1〜2年で陳腐化してしまいます。歳を重ねるごとにスピード感を持って働けなくなるし、時間も十分にかけられなくなっていきます。だから、手を動かすこと以外でバリューを出す必要があります。ゆえに、言語処理系など誰もやっていないような高度なことに取り組むとか、OSS活動のように影響力のあることをやるとか、マネジメント、後輩の育成などでキャリアアップしていく必要があるんです。手を動かす以外で、自分のバリューを出す必要があると考え始めたから、現在私が携わっているすべての活動へとつながっていきました」