Fight the Future

Java言語とJVM、そしてJavaエコシステム全般にまつわること

JJUG CCC 2018 Fallに参加/パネリストをしました #jjug_ccc

JJUG CCC 2018 Fallに参加しました!

www.java-users.jp

そろそろ始発近くの新幹線で向かうのは、体力的にきついなと感じ始めました…

JJUG基調講演「Javaの未来を考えよう」パネリスト

JJUG鈴木会長の司会の下、せろさん、きしださんとともにパネリストとして話しました。私自身の正直な思いとしては、私程度のエンジニアとしての力量で、Javaエンジニアを代表しているように、技術的な話をしていいのか?という、自分自身への疑念はありました。同時に、Javaチャンピオンとして、こういった場で積極的に活動する思いも持っています。そういう意味で、やはり自分のコンフォートゾーンを出ている状態で、今までの私のコンフォートゾーンと、まだ融合していないようです。

さて、パネルディスカッションでは、3つの話題がありました。

  • JVMの進化
  • Javaのリリースサイクル変更
  • 今後のJavaコミュニティ

JVMの進化のところで、GraalVMのことが話題に上がりましたが、私自身はGraalVMのことより、従来のJVMであるHotSpot自体の進化のことをしっかり伝えたかったです。その一環として、Project Metropolisに触れました。

Javaコミュニティについては、とくに日本と世界のJavaコミュニティを話題に上げました。日本に対する観点で、「フリーライド」という言葉を出しましたが、私もフリーライド自体が悪、という考えではありません。勉強会やカンファレンスに参加することも、1つのコントリビュートであることは間違いありません。と同時に、もしすべての人がそこで止まってしまい、誰も提供する側にならなければ、コミュニティは成り立たないというのも、また真実だと考えています。誰しも事情はありますし、人生のステージもあるので、無理にする必要はありません。そういった理由で、今何かできなくても、まったく大丈夫とも思います。

コミュニティというのは、ドラゴンボールの元気玉のようなものでしょう。自分の中からそこに対して出せるエネルギーで、よいのです。私が伝えたかったのは、その出せるエネルギーは、自分にとってどれくらいかを、改めて考えてもらえれば、ということです。自分にとって、そのコミュニティが大切な場所であるならば… それは、Javaそのものであったり、JJUGであったり、日本のJavaコミュニティであったり、あるいはソフトウェアエンジニリング全体であったりするかもしれません。失くしてから大切だったと気づくのではなく、まだある間に大切だと伝え、行動に移していきましょう!ということが、一番伝えたかったことです。

アンカンファレンス

今回のCCCでは、やや思いつきでアンカンファレンスセッションに2回、参加しました。心がけたのは、以下のことです。

  • 自分の考えをしっかり述べよう
  • 同時に、他の参加者の考えを聞き出そう

1つは新しいGCアルゴリズムについて、もう1つは英語学習と勉強会参加促進、Javaチャンピオンとは、でした。自分の考えを話す時間が、時折長くなったかもしれません。

JVM関連セッション

伊藤智博さんのZGCのセッションは、上述の基調講演と被り、残念ながら参加できませんでした。でも、楽しみにしていた他のセッションは、聴くことができました!

  • JDK付属ツールにパッチを出しまくったワケ(末永さん)
  • GCを発生させないJVMとコーディングスタイル(数村さん)

2つとも、とてもおもしろかったです!

末永さんはOpenJDKレビュワーであり、OpenJDKへのパッチのいくつかのストーリーを紹介されました、長いものでは2年… 私自身、OpenJDKのJVM部分にコントリビュートするという目標があり、末永さんにはいつも刺激をもらえます。セッションだけでなく、お話する機会や、Twitterで、いつもアドバイスをいただいています。とはいえ、私はまだ何もコントリビュートできていないというのも、厳然たる事実です。セッションでいろいろとヒントももらえたので、コードを読み、いろいろなパターンで動かして、知識を深めつつバグを見つけれれば。私の心の中では、末永さんを師匠のように思っておりますw 「ちょっと叩いたら、すぐバグが見つかる」とおっしゃるのですが、普通見つからないですよね… コードの匂いを嗅ぎ取る力がすごいのだと思います。

数村さんは、JVM自体を開発しており、さらに、JCPのECメンバの方です。数村さんのセッションがあれば、私は必ず聴いています。今回、タイトルにGCとありますが、JITコンパイルが主でした。私自身、知識としてはこのセッションの内容は網羅できていましたが、実際にコードを実行しながら、それを確認する部分が見れて、とても有意義でした。改めて、自分でも実行して確認します。昔からJVMが好きですが、最近とくにJITコンパイラが好きだという自覚が出てきました。最終的に、JITコンパイラに自分のコードが1行でも入ればいいな、と思っています。

Don't be shy!

私はとても人見知りで、基本的に、知らない方には話しかけられません。自分が知っている人としか、話せないタイプです。ですが今回のCCCでは、今までより少しDon't be shyになろうと、TwitterのIDを見たことがあるけれど、直接話したりTwitterでやり取りしたことがない方を中心に、何人かの方に、自分から話しかけてみました(そのため、ネームカードにTwitter IDを書いていただくと、私にとってはとても助かります)。

ツイートでは、私に話しかけられて緊張した、という方もいらっしゃったのですが、私は単に活動が表に出やすいので比較的みなさんの目に留まりやすいだけで、高次元のエンジニアではありませんし、本当に気軽に話していただければな、と思います。

これも、ある種Javaチャンピオンという立場が、私の新たな行動を形作っているとも思います。いろいろな人と話さず終わるより、話せた方がもちろん楽しいですから。

私自身は、今までの自分の活動を、より広く、よりやりやすくなるように、さまざまな方のサポートでJavaチャンピオンの名を与えてもらったと考えています。

てらださん、私と一緒に写っているのは、ドイツのJavaチャンピオン Michael Hüttermannさんです。Michaelさんは、10月、Oracle Code One 2018の前々日にあった、Javaチャンピオンブリーフィングで、私に話しかけてくれました。日本オラクルの方に、日本の地方JUGのことを聞き、私を知ったそうです。JJUGでセッションをするので、その前に地方JUGでも話したいとのことでした。結果、CCCの前に、関ジャバでも海外の方を中心にCCCスピーカーを招いたイベントを開催することができました。

自分の世界が広がっているのはもちろんですが、自分だけに終わらせず、日本のJavaコミュニティ全体に広がっていけば、と思います。

JJUG CCCのすごさ

今回のCCCは、ついに1トラックすべて英語セッションでした。企業ブースにも、海外の方がおられました(Oracle Code Oneのコミュニティキーノートあたりに出られていた方でした)。日本でも英語セッションがあるのが普通になって、海外カンファレンス参加の敷居が低くなっていくのがいいな、と思います。そして、日本からも、より多くの方が海外で登壇するようになれば、と願っています。

今回も何名か関ジャバのメンバーが、登壇されていました。関ジャバに来て、登壇経験をして、CCCでも登壇、というケースも見ていまして、関ジャバ運営参加者みんなで、いい流れを作れているように思います。

もちろん、当日の運営や懇親会を、ものすごくしっかりされていて、感嘆するばかりです。私自身、関西Javaエンジニアの会(関ジャバ)というJUGを運営している身ですから、そのすごさはよりリアルにわかります。この規模のカンファレンスの運営が、ボランティア・ワークなんですよ!本当に、ありがとうございました。お疲れさまでした。