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
490
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
94
エンジニアリング上の経験を普段のコミュニケーションにも活かせた話
cho0o0
0
120
Hatena DevBlog Meetup #1 LT
cho0o0
0
2.7k
OpenAPIによるスキーマ駆動開発を実現するための道のり
cho0o0
0
890
ヘンリーのコミュニケーションスケーリング戦術 ~ミーティング編~
cho0o0
1
200
ファシリテーション勉強会
cho0o0
0
140
Token Ringについて
cho0o0
1
790
仕様ワークショップ
cho0o0
0
86
Introduction to ATDD (ATDD入門)
cho0o0
0
52
Other Decks in Technology
See All in Technology
いまからでも遅くない! コンテナでWebアプリケーションを 動かしてみよう(1)Gitハンズオン
nomu
0
280
HolidayJp.jl を作りました
mrkn
0
110
Datadogの便利な使い方 - 意外と知らない?CoScreenとCloudcraft
taijihagino
PRO
1
600
Bidirectional Quadratic Voting Leveraging Issue-Based Matching
kentaro
2
170
技術力あげたい
hisaichi5518
2
2.8k
[RSJ24] Object Retrieval in Large-Scale Indoor Environments Using Dense Text with a Multi-Modal Large Language Model
keio_smilab
PRO
0
220
データウェアハウス製品のSnowflakeでPythonが動くって知ってました?
foursue
1
150
Azure SQL Database Hyperscale HA レプリカの監視
sansantech
PRO
0
190
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
0
3.1k
エンジニア向け会社紹介資料
caddi_eng
15
250k
Dojo 20240830 COBOL to Java on Z
ichikawayasuhisa
0
240
FastlyとfalcoでNode.jsレスな Webサーバー構築 : IPTV版 ABEMAアプリインフラ刷新 / Building web server using Fastly and falco without Node.js for IPTV ABEMA app
nodaguti
0
240
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
93
13k
Design by the Numbers
sachag
277
19k
Visualization
eitanlees
142
15k
Done Done
chrislema
180
16k
Agile that works and the tools we love
rasmusluckow
327
20k
Designing for Performance
lara
604
68k
Designing Experiences People Love
moore
138
23k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
27
1.6k
Making Projects Easy
brettharned
113
5.8k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
325
21k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
502
140k
What's in a price? How to price your products and services
michaelherold
241
11k
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/ 技術ブログやってます