Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
VPoEの視点から見た、ヘンリーがサーバーサイドKotlinを使う理由 / Why Se...
Search
Cyan
July 18, 2024
Technology
1
800
VPoEの視点から見た、ヘンリーがサーバーサイドKotlinを使う理由 / Why Server-side Kotlin 2024
Server-side Kotlin Night 2024/07の発表資料
Cyan
July 18, 2024
Tweet
Share
More Decks by Cyan
See All by Cyan
EBMをベースに考えるプロダクト価値最大化 / Product Value Maximization Based on EBM
cho0o0
0
230
エンジニアリング上の経験を普段のコミュニケーションにも活かせた話
cho0o0
0
180
Hatena DevBlog Meetup #1 LT
cho0o0
0
3.2k
OpenAPIによるスキーマ駆動開発を実現するための道のり
cho0o0
0
1.1k
ヘンリーのコミュニケーションスケーリング戦術 ~ミーティング編~
cho0o0
1
270
ファシリテーション勉強会
cho0o0
0
170
Token Ringについて
cho0o0
1
1k
仕様ワークショップ
cho0o0
0
110
Introduction to ATDD (ATDD入門)
cho0o0
0
90
Other Decks in Technology
See All in Technology
新アイテムをどう使っていくか?みんなであーだこーだ言ってみよう / 20250911-rpi-jam-tokyo
akkiesoft
0
280
Terraformで構築する セルフサービス型データプラットフォーム / terraform-self-service-data-platform
pei0804
1
180
【NoMapsTECH 2025】AI Edge Computing Workshop
akit37
0
190
【実演版】カンファレンス登壇者・スタッフにこそ知ってほしいマイクの使い方 / 大吉祥寺.pm 2025
arthur1
1
870
OCI Oracle Database Services新機能アップデート(2025/06-2025/08)
oracle4engineer
PRO
0
150
2025年になってもまだMySQLが好き
yoku0825
8
4.8k
これでもう迷わない!Jetpack Composeの書き方実践ガイド
zozotech
PRO
0
860
職種の壁を溶かして開発サイクルを高速に回す~情報透明性と職種越境から考えるAIフレンドリーな職種間連携~
daitasu
0
170
react-callを使ってダイヤログをいろんなとこで再利用しよう!
shinaps
1
240
今!ソフトウェアエンジニアがハードウェアに手を出すには
mackee
12
4.8k
[ JAWS-UG 東京 CommunityBuilders Night #2 ]SlackとAmazon Q Developerで 運用効率化を模索する
sh_fk2
3
430
いま注目のAIエージェントを作ってみよう
supermarimobros
0
300
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
What's in a price? How to price your products and services
michaelherold
246
12k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Embracing the Ebb and Flow
colly
87
4.8k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.2k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.1k
Facilitating Awesome Meetings
lara
55
6.5k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
51
5.6k
RailsConf 2023
tenderlove
30
1.2k
Designing Experiences People Love
moore
142
24k
Transcript
Copyright © Henry, Inc. All rights reserved. 好きになる、はじめての電子カルテ VPoEの視点から見た ヘンリーがサーバーサイド
Kotlinを使う理由 張沈宇(Cyan) Server-side Kotlin Night 2024/07
Copyright © Henry, Inc. All rights reserved. About Me 張
沈宇 (ニックネーム: Cyan) X:@shenyu_cyan 株式会社ヘンリー VP of Engineering 音声認識の会社にて自然言語処理関係のR&Dエンジニ アとして務めた後、株式会社ビズリーチへ転職し、複 数のサービス開発のリードやプロジェクト管理、エン ジニア採用などを経験。2021年からヘンリーに入社し VP of Engineeringとして組織作りに従事。
Copyright © Henry, Inc. All rights reserved. ヘンリーは サーバーサイドKotlinの会社です Server-side
Kotlin Night 2024/07
Copyright © Henry, Inc. All rights reserved. アーキテクチャ概要 Frontend BFF
General API External System Integra- tion API Receipt API Document API Backgrou- nd Job
Copyright © Henry, Inc. All rights reserved. なぜ サーバーサイドKotlinの会社ですか Server-side
Kotlin Night 2024/07
Copyright © Henry, Inc. All rights reserved. ヘンリーのVPoEとして 製品部門の 価値デリバリー
と 人的資本 を最も関心しています。 ダブル VPoE ご参考:ヘンリーの組織図におけるVPoEの職能担当範囲(2024年7月現在)
Copyright © Henry, Inc. All rights reserved. • 我々のようなB2B Vertical
SaaSビジネスは、持続的に顧客へ課題解決の価値 を提供し、価値の対価として利用費をいただく仕組みになっています。 • そのため、ヘンリーのビジネスは、価値をより多く、より素早く提供するこ とで発展します。 価値デリバリー 利用費 理想 現状 課題解決の価値
Copyright © Henry, Inc. All rights reserved. 適切かつ素早い価値デリバリーを実現するためにヘンリーでプログラミング言語 に求めること •
要求仕様を円滑にプログラムロジックへ落とし込めること • 複数人での開発でも効率が落ちにくいこと • マルチテナント型B2B Vertical SaaSのシステム特性に適合すること 価値デリバリー
Copyright © Henry, Inc. All rights reserved. 要求仕様を円滑にプログラムロジックへ落とし込めること 背景:医療ドメインのロジックが複雑になりがちなので、本質的に複雑な仕様に 集中することができ、偶発的な複雑性が回避しやすいプログラミング言語が望ま
しいです。 トレードオフ:コーディング体験 > システム性能 価値デリバリー
Copyright © Henry, Inc. All rights reserved. Kotlin採用の強み • kotlin.collectionsやスコープ関数のよ
うなシンタックスシュガーが充実して いる標準ライブラリ • Java資産のお陰もあり、データ処理な どの汎用的なユースケースに対応でき るエコシステム 価値デリバリー
Copyright © Henry, Inc. All rights reserved. 複数人での開発でも効率が落ちにくいこと 背景:基幹システムであるため、そのシステム複雑性を考慮すると、中長期的に 高速な価値デリバリーを実現することが必要であり、瞬発力よりも持続力が重要
です。 トレードオフ:コラボレーションしやすさ > プロトタイピングの速さ 価値デリバリー
Copyright © Henry, Inc. All rights reserved. Kotlin採用の強み • JavaとScalaの使用感と設計の反省を活かし
た言語特性 ◦ Composition over Inheritanceによっ て誕生した移譲機能は一例 • ノウハウの共有しやすさ ◦ 成功例であるJavaDocとの親和性 価値デリバリー
Copyright © Henry, Inc. All rights reserved. マルチテナント型B2B Vertical SaaSのシステム特性に適合
すること 背景:ビデオストリームサービスのような高い同時接続数や低遅延を実現する必 要性はあまりなく、代わりにコスト計算やレセプト処理など、一つ一つの処理が 重く、かつ計算ミスは許容しにくいです。 トレードオフ:Heavy load, high precision > High concurrency, low latency 価値デリバリー
Copyright © Henry, Inc. All rights reserved. Kotlin採用の強み • ランタイムになる前にシステム不具合に
気づきやすいこと ◦ 強い静的型付け ◦ Nullセーフを目指す型システム ◦ 豊富なLinter 価値デリバリー
Copyright © Henry, Inc. All rights reserved. Kotlin採用の強み • VMの利用
◦ メモリ管理のシンプル化 ◦ 各種チューニングノウハウの 存在 価値デリバリー
Copyright © Henry, Inc. All rights reserved. 適切かつ素早い価値デリバリーを実現するためにヘンリーでプログラミング言語 に求めること •
要求仕様を円滑にプログラムロジックへ落とし込めること • 複数人での開発でも効率が落ちにくいこと • マルチテナント型B2B Vertical SaaSのシステム特性に適合すること 価値デリバリー
Copyright © Henry, Inc. All rights reserved. • 人的資本こそがヘンリーの最大の競争優位性であり、今後のビジネス成長を 支える決定的な要素です
• 人的資本に関して、ISO30414が指標としている11の領域の中で、私が普段 最も重要視しているのは以下の項目です ◦ 採用のメトリックス(採用数・離職率・コスト・チャンネル) ◦ 生産性と従業員スキル向上の取り組み ◦ 組織文化に関する考え方 人的資本
Copyright © Henry, Inc. All rights reserved. • 『The War
for Talent』に述べられているように、IT業界ではまさに人材争 奪戦が繰り広げられていますので、採用への影響は特に注視しています ◦ 売り手市場という環境 ▪ IT通信分野の求人倍率が6を超えています • エンジニアの求人倍率は10以上になっている模様 • シニアレベルになるほどバランスが崩壊しています ▪ DXの意識改革により、内製思考が広がり、売り手市場がさらに拡大しています ◦ ヘンリーは難易度の高いチャレンジに直面しています ▪ スタートアップのため、知名度で勝つことは難しい ▪ B2B Vertical SaaSへ興味を持ってくれる方がそもそも少ない • 日常で遭遇するユースケースではないため、イメージしにくい 人的資本
Copyright © Henry, Inc. All rights reserved. ヘンリーが人的資本を増やすためにプログラミング言語に求めること • タレントプールの広さ
◦ 医療分野をはじめとする、ドメインの深い SaaSやエンタープライズサービスの開発者が慣れている 言語 ◦ 他の言語を使っているエンジニアでもキャッチアップしやすい言語 • ターゲット人材に魅力的 ◦ 言語自体の魅力 ◦ 職場の魅力付け 人的資本
Copyright © Henry, Inc. All rights reserved. タレントプールの広さ • エンプラ分野においてはJavaが非常に強
く、ドメインの深いSaaS企業における Kotlinの利用事例もそこそこあります • オブジェクト指向プログラミングと関数型 プログラミングの両方に対応しているた め、どのパラダイムから来たエンジニアで も習得しやすいです 人的資本 ご参考:KotlinFest2022とKotlinFest2024ホームページのスクーリンショット
Copyright © Henry, Inc. All rights reserved. ターゲット人材に魅力的 • 学術用途よりも産業界向けのプログラミング言
語であるため、組織文化に根付いている「ユー ザー課題解決」にフォーカスしやすいです • KotlinユーザーはKotlinへの満足度が高く、 Javaユーザーの中にはKotlinを使ってみたいと 思っている方が多いです • ヘンリーは切磋琢磨の環境を用意しています 人的資本 Stack Overflow 2023 Developer Survey より抜粋
Copyright © Henry, Inc. All rights reserved. ヘンリーが人的資本を増やすためにプログラミング言語に求めること • タレントプールの広さ
◦ 医療分野をはじめとする、ドメインの深い SaaSやエンタープライズサービスの開発者が慣れている 言語 ◦ 他の言語を使っているエンジニアでもキャッチアップしやすい言語 • ターゲット人材に魅力的 ◦ 言語自体の魅力 ◦ 職場の魅力付け 人的資本
Copyright © Henry, Inc. All rights reserved. これからも サーバーサイドKotlinの会社ですか Server-side
Kotlin Night 2024/07
Copyright © Henry, Inc. All rights reserved. • 将来性のある言語は利用者が増えやすく、エコシステムが充実しやすいた め、正のスパイラルに入ります。逆に、将来性のない言語は負のスパイラル
に陥りやすく、やがて消滅してしまいます。 • VPoEとして、現在の状況だけでなく、将来を予測して備えることも重要で す。 • 将来性のある言語にとって、2つのキーワードが非常に重要だと考えていま す。 ◦ AI ◦ インタラクティビティ 将来性
Copyright © Henry, Inc. All rights reserved. AI対応のアプローチ • LLMを利用した開発のしやすさ
◦ Kotlin ML Pack ◦ JetBrains AI Assistant • LLM関連の開発のしやすさ ◦ langchain4j ◦ PromptKt 将来性
Copyright © Henry, Inc. All rights reserved. 将来性 インタラクティビティ強化のアプローチ •
パイプラインのリードタイム短縮 ◦ インタラクティブUI:Kotlin Notebook ◦ より強いコンパイラ:K2 ◦ (脱JVM?) • オンラインコラボレーション ◦ IntelliJとの強いインテグレーション :Code With Me ◦ オンラインプラットフォーム:Datalore
Copyright © Henry, Inc. All rights reserved. サーバーサイドKotlinの将来性 • エコシステムはまだ弱く、遅れを取ってい
る状況 • JetBrainsはその状況を認識し、改善に取り 組み始めています 将来性
Copyright © Henry, Inc. All rights reserved. 価値デリバリーと人的資本の観点から優位性があるため ヘンリーは サーバーサイドKotlinを使用しています
総括
Copyright © Henry, Inc. All rights reserved. https://note.com/henry_app 会社ブログやってます We
are hiring!! https://henry.jp/ Thank you https://dev.henry.jp/ 技術ブログやってます