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
710
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
170
エンジニアリング上の経験を普段のコミュニケーションにも活かせた話
cho0o0
0
160
Hatena DevBlog Meetup #1 LT
cho0o0
0
3k
OpenAPIによるスキーマ駆動開発を実現するための道のり
cho0o0
0
1k
ヘンリーのコミュニケーションスケーリング戦術 ~ミーティング編~
cho0o0
1
250
ファシリテーション勉強会
cho0o0
0
160
Token Ringについて
cho0o0
1
900
仕様ワークショップ
cho0o0
0
100
Introduction to ATDD (ATDD入門)
cho0o0
0
69
Other Decks in Technology
See All in Technology
IoTシステム開発の複雑さを低減するための統合的アーキテクチャ
kentaro
1
120
【詳説】コンテンツ配信 システムの複数機能 基盤への拡張
hatena
0
260
AWSではじめる Web APIテスト実践ガイド / A practical guide to testing Web APIs on AWS
yokawasa
8
720
クラウド関連のインシデントケースを収集して見えてきたもの
lhazy
8
1.2k
役員・マネージャー・著者・エンジニアそれぞれの立場から見たAWS認定資格
nrinetcom
PRO
4
6.2k
分解して理解する Aspire
nenonaninu
2
1.1k
生成AI “再”入門 2025年春@WIRED TUESDAY EDITOR'S LOUNGE
kajikent
0
120
NFV基盤のOpenStack更新 ~9世代バージョンアップへの挑戦~
vtj
0
360
手を動かしてレベルアップしよう!
maruto
0
220
AI自体のOps 〜LLMアプリの運用、AWSサービスとOSSの使い分け〜
minorun365
PRO
3
170
サイト信頼性エンジニアリングとAmazon Web Services / SRE and AWS
ymotongpoo
7
1.6k
株式会社Awarefy(アウェアファイ)会社説明資料 / Awarefy-Company-Deck
awarefy
3
11k
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
32
6.4k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Building Applications with DynamoDB
mza
93
6.2k
Bootstrapping a Software Product
garrettdimon
PRO
306
110k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Git: the NoSQL Database
bkeepers
PRO
427
65k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
4 Signs Your Business is Dying
shpigford
182
22k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
Building Adaptive Systems
keathley
40
2.4k
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/ 技術ブログやってます