Money Forward Developers Blog

株式会社マネーフォワード公式開発者向けブログです。技術や開発手法、イベント登壇などを発信します。サービスに関するご質問は、各サービス窓口までご連絡ください。

20230215130734

Kotlin Fest 2025に参加&登壇してきました!

こんにちは、マネーフォワード大阪開発拠点でバックエンドエンジニアをしているTaskです。

今回、マネーフォワードのメンバーでKotlin Fest 2025に参加しました! また、僕は「デッドコード消せてますか? - 構文解析とGradleプラグイン開発で始めるコードベース改善 」というタイトルで登壇してきました!

この記事ではイベントレポートとして、カンファレンスの雰囲気や特に印象に残ったセッションについて、参加したTask、Hirotaka Kawata、yuta.yamamotoからお伝えします。

Kotlin Festとは

Kotlin Festは「Kotlinを愛でる」をビジョンに開催されている技術カンファレンスです。 Kotlin Fest 2025は、去年のKotlin Fest 2024に引き続き、1年半ぶりの開催となりました。 今回は品川の東京コンファレンスセンターで開催され、24のセッション、400人以上の参加者と、前回に比べてより盛り上がりました。

Task

いくつかのセッションを聴講しましたが、印象に残ったのは最後の「KoogではじめるAIエージェント開発」でした。 AIエージェントの内部での仕組みの紹介から、Koogと他のライブラリを比較した場合の優位点、作成したもののデモなど、KoogとAIエージェントに関するトピックを過不足なく扱っていて、満足感が高かったです。 また、個人的にも以前からKoogには興味があったため、使ってみるきっかけにもなりました。

その他のセッションの感想については、個人のブログにも投稿しているため、興味がある方はご覧いただけると幸いです。

また、登壇に関しては、リリースが終わったあとのフィーチャーフラグを自動で消す方法について紹介しました。 役割を終えたフィーチャーフラグの管理に悩んでいる参加者が多かったらしく、登壇後のAsk the Speakerのセッションでも多くの方に質問をいただけました。 聴講された、およびAsk the Speakerに参加された方々にはこの場を借りてお礼申し上げます。 ありがとうございました。

登壇セッションのスライドはこちらからご確認いただけます。

yuta.yamamoto

こんにちは、yuta.yamamotoです。2025年4月に新卒でマネーフォワードに入社し、サーバーサイドKotlinを使用しているチームに配属されました。

参加のきっかけ

実は今回、プロポーザルを応募していたのですが、残念ながら採択されませんでした(その内容は技術書典で執筆したので、興味があれば見てみてください!)。採択はされなかったものの、同じチームのTaskさんが登壇するということで、発表の応援も兼ねて参加することにしました。また、Kotlin初心者の自分にとって、Kotlinコミュニティの雰囲気を肌で感じたい、もっとKotlinについて知りたいという思いもありました。

印象に残ったセッション

今回、9つのセッションに参加したのですが、特に印象に残ったセッションを3つ紹介します。

【招待セッション】Kotlinを支える技術:言語設計と縁の下の力持ち (ジュラノフ ヤン)

言語を作ったりアップデートするって、普段の開発ではなかなか想像がつかないですよね。このセッションでは新しいプロポーザルの内容を聞けて、「こうやって言語が新しくなって便利になっていくのか」と感動しました。新しい機能を追加すると、それが技術書になったり、世界中のリポジトリで採用されることになるので、色々なことを考慮しないといけないんだなと。普段自分が作るアプリケーション開発とは違った視点が必要だと感じました。

内部実装から理解するCoroutines ー Continuation・Structured Concurrency・Dispatcher (kaseken) [スライド]

この会場は満席で、みんな興味がある内容なんだなと実感しました。Coroutineはよくわかっていなかったので、「なるほど」と思う点が多く、自分でも深掘りしないとなと感じました。特に、「ソフトウェアのレイヤーでどうやって中断して再開しているのだろう?」という疑問を持っていたのですが、わかりやすい解説で最初の一歩は理解できたと思います。やはり内部実装を理解するというのはかっこいいなと思いました。

Kotlin 2.2が切り拓く:コンテキストパラメータで書く関数型DSLと新しい依存管理のかたち (knih) [スライド]

言語のExperimental機能について触ってみるというのは今までなかったので、興味深い内容でした。リフレクションを使うよりもコンテキストパラメータを使う方が速いというのは、チームのプロダクトでも何か活かせそうだなと思える内容でした。ぜひ触ってみたいですし、他のExperimental機能がどんなものがあるのだろうかと興味も持つようになりました。

サーバーサイドKotlinの盛り上がり

参加する前は「Androidエンジニアの人が多いコミュニティなのかな」と思っていたのですが、ブースを回ってみると多くの会社がサーバーサイドKotlinを使用していました。サーバーサイドKotlinエンジニアって意外といるんだなと。サーバーサイドKotlinはこれからもっと盛り上がるだろうなと期待していますし、楽しみになりました。

カンファレンスの雰囲気

会場も広く綺麗で、多くの参加者の方が積極的に参加されている雰囲気でした。全てのブースを回ってシールを集めたのですが、各ブースの内容も面白かったです。コードレビューのチャレンジや、「このコードはどの人が書いたでしょうか」を当てるクイズ、実際にプロダクトのコードを紹介しているブースもあり、セッション以外も非常に楽しめました。

色々なジャンルのセッションを聞いて、IntelliJでCoroutineをデバッグする方法や、言語仕様書のことなど、参加前よりもKotlinについて詳しくなったかなと思います。もっとKotlinに詳しくなって、チームのプロダクト開発へ貢献したいなと思うようになりました。

自分のようなKotlin初心者でもとても楽しめるカンファレンスでしたので、来年も参加したいなと感じました。もしも今年参加できなかった方がいれば、ぜひ来年は参加することをお勧めしますし、誰か誘って参加するともっと楽しめると思います。マネーフォワードとしても、来年はスポンサーとして参加できるぐらいKotlinを社内でも盛り上げたいなと感じました。

Hirotaka Kawata

マネーフォワードで、Kotlin ExpertとしてKotlinバックエンドの開発支援を担当しているHirotaka Kawata(@hktechno)です。2018年ごろからサーバーサイドKotlinに関わっており、Kotlin Festには2019年から参加しています。

私もプロポーザルに応募した(サーバーサイド Kotlin を社内で普及させてみた)のですが、残念ながら採択されませんでした。この内容は、Server-Side Kotlin Night 2025にて縮小版として発表しますので、興味があれば参加をご検討ください!

Kotlin Festの良いところは、Kotlinが使われている分野がアプリ開発やサーバーサイド開発、マルチプラットフォーム開発など多岐にわたっていることで、あまり特定の技術やフレームワークに偏らず、Kotlinの言語自体やエコシステム全体に特化したトーク内容が多いことです。今年も、多くの興味深いセッションがありましたが、特に印象に残ったセッションを紹介します。

印象に残ったセッション

Kotlin Compiler Pluginで実現するCustom String Interpolation (be-hase) [スライド]

Kotlin Compiler Pluginをつかって、Kotlinの言語ではサポートされていないような文字列補完機能を実現する、実践的な内容のセッションでした。Compiler Pluginを使ってみたいと考えている人にとって、とても参考になる内容でした。

発表の中では、発表者が作成したkuery-clientというMyBatisライクなORMライブラリを題材として、どのようにKotlin Compiler Pluginを活用しているかが、ステップバイステップで実践的に解説されていました。実例のコードの紹介も多く、ハンズオン的な内容で、明日から使える実践的な紹介になっていたと思います。

ちょっと手を出しにくい感があるKotlin Compiler Pluginですが、実際にはとても強力で便利な機能であることがわかりました。アイデアはいくつかあるので、自分でも何か試してみたい気持ちになりました。自身でもとても興味があった内容だったので、非常に満足度の高いセッションでした。

Kotlin + Power-Assert : 言語組み込みならではの Assertion Library 採用と運用ベストプラクティス (Kazuki MATSUDA) [スライド]

ユニットテストにおいて問題になる、アサーションの失敗時になぜ失敗したのかを理解するのが難しい、という問題を解決するためにPower-Assertプラグインを導入して、"あの体験"をKotlinで実現するためのベストプラクティスを紹介したセッションでした。Power-Assertを利用すると、変数やメソッドの返り値などの中間値を簡単に可視化することができるようです。

私もよく、ユニットテストにおいてアサーションが失敗した際に、デバッガをかけたりログを出力したりしてなぜ失敗したのかを調査することが多いので、とても共感できる内容でした。同時に、Power-AssertがKotlinでも利用できることを知らなかったので、とても勉強になりました。こちらも、明日から使える実践的な内容でした。

最後に

Kotlin Fest 2025を通して、Kotlinに関するさまざまなことを学ぶことができました。 僕自身も、よりKotlinが好きになり、もっとKotlinを書きたいな、と思えました!

マネーフォワードでは、サーバーサイドKotlinの推進1に力を入れており、Kotlinでバックエンドを書きたいエンジニアを募集しています! 興味がある方は、以下のリンクからご応募いただけると幸いです。

hrmos.co