現在JavaScriptの設定が無効になっています。このページを利用するにはJavaScriptの設定を有効にしてください。トップ全記事一覧テクノロジー2019.03.01海外カンファレンスへの登壇を促進する取り組み黒帯WEEKの1日目の記事です。カテゴリの一覧はこちらあいさつこんにちは、Androidエンジニアの森です。ヤフーには黒帯制度という、特定の技術領域の専門家が社内外の技術課題の解決や知見の共有に貢献するための制度があります。3月1日〜7日は黒帯ウィークということで、各技術領域の黒帯が現在取り組んでいる活動についての記事を投稿します。アプリの開発を行いながら、Androidの黒帯としても活動している私が、現在他のエンジニアと一緒に行っている海外登壇についての取り組みについてご紹介いたします。現在の取り組み現在、私は海外のカンファレンスで登壇するアプリエンジニアを増やすための活動を行っています。そんな活動をしているのでしょうか。1つは会社の広報のため。カンファレンスに登壇すると、そのセッションについてブログ記事に書いてもらえたり、スライドを見てもらえたりなどを通じて長期に渡っての広報的な効果が見込めます。1つはエンジニアの成長を促してスターエンジニアを生み出すこと。したエンジニアは存在自体が会社の認知を広げてくれるうえ、放っておいても勝手にカンファレンスなどで登壇してきてくれるので、広報的な効果が見込めます。会社の広報のためです。技術分野にもよるのでしょうが、私の専門とするAndroidなどモバイルアプリケーションの分野では、数多くの勉強会やカンファレンスが活発に開かれており、多くのエンジニアが自らの知見を共有しています。Leapといった勉強会などで発表してきました。エンジニアはカンファレンスや勉強会で発表するのでしょうか。私の場合は、次のような理由からです。自分の勉強のためエンジニアに求められる技術は時間とともに変化していきますので、自分の市場価値を維持し高めていくためには、継続的な学習は欠かせません。モバイルアプリケーションのように変化の速い技術分野では、手に入れた知識の価値も時間とともに急速に減少していくため、意識してインプットを増やしていく必要があります。カンファレンスや勉強会への参加はそのための手段なのですが、自分の成長という観点でいえば、人の発表を聞くよりも自分で発表してしまったほうがよほど勉強になります。あるトピックで発表するためには、そのトピックについてしっかりと下調べする必要があります。会場の中で、そのトピックについては自分が一番詳しいと言えるくらいには調査します。して調べたことをもとにストーリー立てた発表内容に落とし込んでいくのですが、実は1度のセッションでは自分で調べたことのほんの一部だけしか伝えられていません。この取捨選択とストーリーへと組み替えていく過程で、調査のなかで得た知識が構造化されていきます。登壇の緊張感もあってか知識がよく定着します。いうわけで自分が勉強したいのであれば、人の発表を聞くよりも、自分で発表したほうが勉強になります。自らの学習を目的としているため、私はできるだけ毎回異なるトピックについて話すようにしています。社外のエンジニアと交流するため多くの場合、カンファレンスや勉強会の後には懇親会が開かれます。これは別に聴講者を引きつけるために、ご褒美として食べ物やお酒を出しているわけではありません。懇親会はコミュニティ内でのコミュニケーションを目的とした重要な活動の一つです。そのため、懇親会ではお酒ばかり飲んでいないで、できるだけ多くの人と会話をし、他者と知り合うことが推奨されます。他社のエンジニアとコミュニケーションをとることで、他社ではどのような開発手法を採用しているのか、共通する課題に対してどのように対処しているのか、また複数選択肢のあるOSSのうちどちらを採用していて、その理由はなにかといったことについても情報交換することができます。した情報はあまりネットや書籍には載っておらず、実際に会話をすることでしか得られないことも多いものです。コミュニティに参加する意義は、むしろここにあると言えます。慣れないうちはなかなか知らない人に話しかけづらい人も多いのではないでしょうか。身内だけで固まって、ビールを飲みながら周囲を眺めていたりしませんか?そのような人にも、発表側で参加することが有効です。発表者はカンファレンスや勉強会のなかでは聴講者よりもずっと目立つ立場です。懇親会では、内容に対する質問などのために向こうから話しかけてくれることも多いでしょう。こちらから話しかけたときにも、相手からはこちらが発表者だとわかっているため、身構えられることなく会話してもらえることが期待できます。技術の潮流を知るためカンファレンスの個々のセッションから得られる情報だけでなく、カンファレンス自体をメタ的な視点で俯瞰することで得られる情報もあります。タイムテーブルを眺めるだけでも、現在どんなトピックが注目されているかがわかるでしょう。例年開かれているイベントならば、過去のタイムテーブルと比較してみることで、エンジニアの興味の移り変わりや、モバイルアプリケーションのなかでも変化しやすい部分と変化しにくい部分がわかると思います。カンファレンスがマルチトラックで開かれ、さらに各セッションの部屋のサイズが異なる場合には、一番大きな部屋に割り当てられているセッションは、運営が事前のアンケートなどをもとに多くの聴講者が見込まれるだろうと考えたものであることが多く、そのため発表者が特に有名な人で無い限り、そのセッションのトピックが特に注目されているものであると推測できます。Deliveryや、実際どのような戦略でモジュール分割するかといったトピックに対する関心の大きさを伺うことができました。Architectureなどのアーキテクチャ関連は根強い人気がありますし、テストについてのセッションはもはや定番です。エンジニアとしての時間投資を考えると、目立ちやすい技術にキャッチアップするだけでなく、こうした長期間通用しやすい技術も並行して押さえておくと良いでしょう。テストについては、技術的にしっかりとしたチームになってくるほど必要とされるスキルです。身につけておきましょう。Componentsについては、個々のコンポーネントの紹介にとどまるものはもう少なくなり、それらのコンポーネントをどう活用し、どう設計に反映していくかという展開に移っています。最近では社員がカンファレンスに参加することを奨励し、支援している企業は少なくありません。私がカンファレンスに参加する理由は上記のとおりですが、会社がこれを支援する理由はどこにあるのでしょうか。その理由の一つは広報活動の一環としてというものです。企業にとって、周囲から高い技術をもっているとみなされることは、自社の製品に対する信頼感を醸成します。多くのエンジニアから憧れられるような高い技術力を持つことや、そうした社員が在籍することは、リクルーティングの面でも有利に働くでしょう。それに、社員が能動的に成長したいとカンファレンスへの参加を希望しているときに、それを支援することは、福利厚生としても意義のあるお金の使い方ではないでしょうか。エンジニアの成長を会社が支援することで、成長したいと望む熱意あるエンジニアが会社に応募してきてくれるようになれば、会社にとってもエンジニアにとっても幸せなことです。I/OやKotlinConfなど、個人負担では難しい海外カンファレンスへの参加を支援するトップカンファレンス参加支援制度があり、旅費やチケット代を負担することなく参加することができる制度が用意されています。このように、エンジニアが高いレベルのカンファレンスに登壇することは、そのエンジニア本人にとっても、また会社にとっても有意義なものです。そこで私は、黒帯としてエンジニアが海外のカンファレンスに登壇することを支援する取り組みを行おうと考えました。海外のカンファレンス私が取り組んでいるのは、海外のカンファレンスへの登壇支援です。具体的な活動内容はあとに回して、まずはなぜ海外のカンファレンスなのでしょうか。SFの影響があります。Pinterestといった名だたる企業から、トップエンジニアがトピックを持ち寄り、知見を共有していました。技術的にもトップレベルの企業のエンジニアたちが、現在どのようなトピックに興味を持っているのか、どのような課題をもっているのか(技術負債の話がいくつかありました)、またそれにどう取り組んでいるのか、そうしたことが伺えて、とても刺激的でした。その顛末は別の記事に書きましたが、ともかくそこで、自分でもこのようなレベルの高いカンファレンスに登壇してみたいものだなぁと思うようになりました。カンファレンスに登壇するだけなら国内でもできますが、海外のカンファレンスに登壇する意味は、私は次のように考えています。トップレベルの基準を知るヤフーは「テックジャイアント」と呼ばれるような、世界でもトップレベルの技術をもつ企業たちと肩を並べることを目指しています。先述のトップカンファレンス参加支援制度も、そのために作られた制度です。世界レベルの技術力を目指すのであれば、まずその基準がどれだけ高いかを知る必要があります。そのためには、海外のトップカンファレンスのなかでマサカリを投げられながら、高い基準を目指していくのが近道だろうと思います。マサカリを受けとれるのは、登壇した人の特権です。登壇することになると、運営や他の登壇者とのコミュニケーションは避けて通れません。登壇後には多くの聴講者から何かと声をかけてもらえるようになります。して多くの人と英語で会話をしていくなかで、英語に自信がついていくことでしょう。実際には英語力が身につくと言うよりも、英語で話しかけられても動揺しないとか、どうすれば伝えられるかといった英語でのコミュニケーション時の対処能力が身につくといったほうが近いでしょうが。どちらにしても英語に対して苦手意識を取り除くことは、エンジニアの成長にとって必要なことです。技術に関して、公式ドキュメントの多くは英語で書かれています。世の中には日本語の記事も多くありますが、それらは二次的な情報であることがほとんどです。公式ドキュメントとこれらの二次的な情報では、読む目的が異なります。技術記事からは、技術の適用例やTips、現場での工夫などを知ることができますが、APIの詳細な仕様などはわかりません。公式ドキュメントにはAPIの詳細な仕様が記載されています。そこに書かれていることは、いわば開発者との約束のようなもので、書かれている動作が正であり、そうでなければ不具合となります。継続的にメンテナンスされています。そのため、記述内容の信頼性には天地の開きがあります。SDKやOSSライブラリのバージョンを更新する際には、変更点を確認して必要ならテストや修正を行うこともあるでしょうが、こういったチェンジログは英語で書かれているでしょう。そもそも、技術記事に関しても英語で書かれているもののほうが圧倒的に多いのですから、情報収集の効率の面からも英語に対する苦手意識は無いほうが良いのです。英語の学習支援を行う会社もあるでしょうが、それよりも一度海外での登壇を経験させ、会話せざるを得ない状況に身を置かせたほうが、会話できるようになると思います。楽しいいろいろと理由をつけましたが、一番の理由はこれです。いつもと違う環境で英語で登壇することや、海外のエンジニアと交流することは刺激的ですし、そのための準備にもモチベーションが上がります。Transylvaniaでは、参加者はみんな熱心に聞いてくれ、発表の後にはまっすぐな言葉で称賛してくれました。そのように褒められると嬉しいもので、それまで準備のために多くの時間を費やしたのですが、その苦労も一気に吹き飛ぶほどの達成感がありました。学習しなければという義務感から学習することほど面白くないものはありません。エンジニアが楽しみながら自信をつけ、成長へのモチベーションを上げてくれれば、これにこしたことはありません。海外のエンジニアとの交流も楽しい実際に行ったこと海外のカンファレンスで登壇するアプリエンジニアを増やすために支援しようと決めたあと、実際に行ったことをご紹介します。自分で登壇してみるまず同僚に勧める前に自分でもやっておかないと話になりませんから、自分でも登壇して、海外でカンファレンスに登壇することにどんな困難が伴うのか確かめてみました。Papersが公開されているものを探して、いくつかのカンファレンスに応募しました。Transylvaniaに登壇しました。speechに知らぬ間に選ばれているというハプニングがあったり、会場ではスピーカーノートが見れない配置がされるというハプニングがあったりしましたが、発表は好評でたくさん褒めてもらえ、苦労以上の達成感と喜びがありました。海外のスタートアップファウンダーやエンジニアとの交流も楽しかったです。ClujHubのファウンダーとドライブ。楽しかったです同僚に共同発表者となってもらう初めての海外登壇の成功で自信がついたので、次にチームの同僚を自分のセッションの共同発表者として話してくれるようにお願いしました。この方法であれば、話す時間が短くなりますので資料作成の負担も少なくてすみますし、一緒に準備できるため不安感も軽減できるかと考えたからです。moroccoという、Javaの大きなイベントに応募していたセッションが2つ採択されていましたので、うち15分のQuickieという形式で話すメタプログラミングについてのセッションの後半5分のライブコーディングをお願いしました。お願いした同僚は国外に行くのは初めてで、登壇経験も少なく、またライブコーディングということで普通に話すのとは別種の難しさもあり、いま考えると相当無茶なことをお願いしたなと思うのですが、それでもしっかりと役割を果たしてくれました。Trip」という催しがありました。一緒に旅行しているのに、ずっと会話に参加せず黙りこくっているわけにはいきません。同僚は最初こそ英語での会話に躊躇していたようでしたが、こうしたイベントを経て、帰る頃には初めての人とも問題なく会話できるようにまでなっていました。2019にも応募し、無事採択されて登壇していました。