天の月

ソフトウェア開発をしていく上での悩み, 考えたこと, 学びを書いてきます(たまに関係ない雑記も)

Javaとクラウドと 2021に参加してきた

engineering-floor.connpass.com

今日はこちらでお話を聴いてきたので、会で印象的だったことと感想を書いていこうと思います。

会で印象的だったこと

英語の勉強法

英語を勉強されているということでしたが、この勉強方法がすさまじくて、衝撃を受けました。

元々、OpenJDK Committerとして活動されていたこともあって、英語を話したりやり取りする機会というのはあったようですが、ビジネスで通用する文法やネイティブのニュアンスで英語が使えるようになりたいということで、基本文法を中学レベルから勉強し直し*1、Gabaに通いながら隙間時間ではひらすらスタディサプリを使って英語の勉強をしてきたということでした。

その結果、レギュレーションをつけて受講しているTOEIC*2が130点→800点までに成長したということでした。

効率よく努力をといいつつも、現状から積み上げをして、とてつもない量の努力を継続されているChihiroさんに感服しました。

javaの強い所

大規模なjavaアプリケーションでは必須と言ってよい、メトリクス収集するためのマネージド・ビーンや、JVMログの充実度をはじめとする監視のしやすさが強みだとお話がありました。
OSのメトリクスだけでは、あくまでも結果だけしか観測することができず、なぜパフォーマンスが悪いのか?を考える時にランタイムレベルまでサポートされているjavaは、非機能要件面で他言語よりもアドバンテージを持てているのでは?ということでした。

Chihiroさんがコンサルタントとして働いてきた現場で見た課題感

コンサルタントに依頼しているというバイアスはあるものの、入門書の写経をした後、そのままのノリで本番サービスを書いてしまった、みたいなサービスが多いことに課題感を感じているということでした。
メトリクスを取っていない状態での相談があったり、「3層アーキテクチャで実装したいんです」「バッチを使います」といった発言が根拠なく出てくる場面に立ち会うことが多いということです。

TDDを意識させないでTDDを学んでもらうのと同じように、監視を意識させないで監視を学んでもらえるような環境を作れるといいんじゃないかという話*3や、やって見せて効果を実感して学んでもらうのがいいのではないか?という話が出ていました*4

Chihiroさんの黒魔術

パフォーマンスのボトルネックを特定する際に、メモリ上のバイトコードを直接書き換えするという黒魔術をChihiroさんは使うこともあるという話がありました。
これはもうただただ衝撃でしたw

全体を通した感想

javaの話を中心に、上記の他にもOpenJDK Committerになった経緯や、javaクラウドの相性、JDBC周りを何とか改良して欲しいというお話、JERの話、javaの躓きポイントがReactorにありそうという話...を他にも聴けて、テンションが上がるイベントでした。

Chihiroさんの溢れるバイタリティと、エンジニア魂のようなものを勝手に感じる会でした。

後半は仕事しながら耳だけ参加になってしまったので、Podcastが出たら、チャットを追いながらもう一度楽しみたいと思います!

*1:高校時代は英語をやってこなかったので、高校英語は未経験だったそうです

*2:元々何となく会話のコンテキストや文章の雰囲気で700点くらいは取れていた。ただ、英語の勉強のために、自分自身が100%理解できてあっていると思える問題しか答えないというレギュレーションをつけた

*3:実際、最近の入門書ではlintをまず入れましょうといった話から入って、Hello Worldの裏側を見せるような導入になっているものも多く売れているということでした

*4:ただし、Chihiroさんのこれまでの経験上だと、喉元過ぎれば熱さを忘れる状態になってしまうことも多かったということです