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
590
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
120
エンジニアリング上の経験を普段のコミュニケーションにも活かせた話
cho0o0
0
140
Hatena DevBlog Meetup #1 LT
cho0o0
0
2.9k
OpenAPIによるスキーマ駆動開発を実現するための道のり
cho0o0
0
930
ヘンリーのコミュニケーションスケーリング戦術 ~ミーティング編~
cho0o0
1
210
ファシリテーション勉強会
cho0o0
0
150
Token Ringについて
cho0o0
1
820
仕様ワークショップ
cho0o0
0
94
Introduction to ATDD (ATDD入門)
cho0o0
0
55
Other Decks in Technology
See All in Technology
Application Development WG Intro at AppDeveloperCon
salaboy
0
180
Lambdaと地方とコミュニティ
miu_crescent
2
370
iOS/Androidで同じUI体験をネ イティブで作成する際に気をつ けたい落とし穴
fumiyasac0921
1
110
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
2
1.6k
Amplify Gen2 Deep Dive / バックエンドの型をいかにしてフロントエンドへ伝えるか #TSKaigi #TSKaigiKansai #AWSAmplifyJP
tacck
PRO
0
370
なぜ今 AI Agent なのか _近藤憲児
kenjikondobai
4
1.3k
フルカイテン株式会社 採用資料
fullkaiten
0
40k
障害対応指揮の意思決定と情報共有における価値観 / Waroom Meetup #2
arthur1
5
470
Can We Measure Developer Productivity?
ewolff
1
150
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
2
1.7k
複雑なState管理からの脱却
sansantech
PRO
1
140
Amazon CloudWatch Network Monitor のススメ
yuki_ink
1
200
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
38
7.1k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
Fireside Chat
paigeccino
34
3k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
93
16k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Bash Introduction
62gerente
608
210k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
Producing Creativity
orderedlist
PRO
341
39k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
44
2.2k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
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/ 技術ブログやってます