×
Copy
Open
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
8年物のJavaのシステムをKotlinに 変えていく選択に至るまで Server-Side Kotlin Lounge #1 2021.11.04
Slide 2
Slide 2 text
会社紹介 & 自己紹介 NewsPicksとKotlin 開発者体験とKotlin 会社のメイン開発言語を変えるということ なぜ「NewsPicksは」開発言語を変更するのか これから 01 02 03 04 05 06 2 目次
Slide 3
Slide 3 text
会社紹介 & 自己紹介 NewsPicksとKotlin 開発者体験とKotlin 会社のメイン開発言語を変えるということ なぜ「NewsPicksは」開発言語を変更するのか これから 01 02 03 04 05 06 3 目次
Slide 4
Slide 4 text
No content
Slide 5
Slide 5 text
No content
Slide 6
Slide 6 text
No content
Slide 7
Slide 7 text
No content
Slide 8
Slide 8 text
自己紹介 8 高山温 2020年にNewsPicksにCTOとして入社しました。 会社の長期的な競争力に繋がる技術的方針を担当。 「開発者体験」信者。 開発者体験を上げて 開発者がどんどん高速に開発できるようになることが、 どの会社にとっても最重要の注力技術。
Slide 9
Slide 9 text
Developers Summit 2021
Slide 10
Slide 10 text
その他の発信
Slide 11
Slide 11 text
会社紹介 & 自己紹介 NewsPicksとKotlin 開発者体験とKotlin 会社のメイン開発言語を変えるということ 改めて、なぜ「NewsPicksは」開発言語を変更するのか これから 01 02 03 04 05 06 11 目次
Slide 12
Slide 12 text
現Chief Product Officerの文字(もんじ)が 2017年にサーバーサイドKotlinについて発信
Slide 13
Slide 13 text
No content
Slide 14
Slide 14 text
NewsPicks アカデミア 検索基盤 課金基盤 JobPicks レコメンド NewsPicks
Slide 15
Slide 15 text
2021年8月 NewsPicks本体と呼ばれる メインのシステムで Kotlinを使えるように 今後は段階的に移行予定 15
Slide 16
Slide 16 text
会社紹介 & 自己紹介 NewsPicksとKotlin 開発者体験とKotlin 会社のメイン開発言語を変えるということ 改めて、なぜ「NewsPicksは」開発言語を変更するのか これから 01 02 03 04 05 06 16 目次
Slide 17
Slide 17 text
開発者体験を後押しする数々の言語機能 17 今更ですが ● null安全 ● イミュータブル ● 高階関数 ● 代数的データ型 ● Javaとの親和性 ● etc.
Slide 18
Slide 18 text
社内の開発者の声(続き) 18 書きやすい やっぱボイラープレートコードが減る! 入門しやすい (良い意味で)Javaとそんなに変わらない! IntelliJでJavaからKotlinにコピペしたら自動変換される! モダン C#だと遙か昔から当たり前にできてたことがちゃんとできる! (逆にJavaは最新版でもそこまで行ってない) ぶっちゃけどっちでもいい 書く必要があれば書くし、必要が無ければ書かないし
Slide 19
Slide 19 text
社内の開発者の声 19 「ぶっちゃけどっちでもいい」 ● この意見はすごく重要 ● アーリーアダプターの皆さんが思うほど、他の人は気にしてない ● しかし、「絶対NG!!」は無かった ○ Java→(Go, Ruby, PHP, Erlang, Rust, etc.) だとあるはず ○ Java→Scalaでもウィザード以外はチョットツライ ○ これも開発者体験
Slide 20
Slide 20 text
会社紹介 & 自己紹介 NewsPicksとKotlin 開発者体験とKotlin 会社のメイン開発言語を変えるということ 改めて、なぜ「NewsPicksは」開発言語を変更するのか これから 01 02 03 04 05 06 20 目次
Slide 21
Slide 21 text
開発言語は会社の重要戦略 21 そもそも開発言語を増やすのは高くつく ● Googleは数万人規模になるまでメイン開発言語は C++, Java, Python, JavaScript だけ ○ 最近 Go も追加 ● 他のGAFAも似たような状況 多くの会社にとって、開発言語選択は数年に1回あるか無いか ● 完全な移行はまず無い。長期間併存する前提 ● 社内文化がどうしても分断されがち ● 金銭的にも大きな投資 ● 間違った選択をしたときの長期的リスクが大きい → ほとんどのケースでは移行なんてしないほうが合理的
Slide 22
Slide 22 text
会社紹介 & 自己紹介 NewsPicksとKotlin 開発者体験とKotlin 会社のメイン開発言語を変えるということ 改めて、なぜ「NewsPicksは」開発言語を変更するのか これから 01 02 03 04 05 06 22 目次
Slide 23
Slide 23 text
チームビジョン “個の強みを活かす。 ワクワクしながら 不確実性に飛び込む。 現状維持ではなく、 未来を創るための挑戦をしよう。”
Slide 24
Slide 24 text
「NewsPicksにとっては」Kotlinは合理的な選択 24 Java→Kotlin がメンバーにとって自然だった ● アーリーアダプターにとってはテンションが上がる ● 「絶対NG!!」が居ない 4年以上積み上げたボトムアップの実績 ● 「非公式」から「公式」になることで、その流れが加速 ● トップダウンだけでもボトムアップだけでもうまくいかない みんなで使うツールをみんなで良くして開発者体験を高めていく文化 ● プログラミングに強いエンジニアも、UXに強いエンジニアも、テストに強いエンジニアもそ れぞれの得意領域で活躍してほしい 変化のコストとリスクを会社として負う ● そのための意思表示としてのチームビジョン ● 開発しにくいところは基盤開発のチームが全面協力
Slide 25
Slide 25 text
会社紹介 & 自己紹介 NewsPicksとKotlin 開発者体験とKotlin 会社のメイン開発言語を変えるということ 改めて、なぜ「NewsPicksは」開発言語を変更するのか これから 01 02 03 04 05 06 25 目次
Slide 26
Slide 26 text
決断してからが本番 26 レイトマジョリティまで含めた巻き込み ● 2週に1回「社内Kotlin知見共有会」 ○ 初心者歓迎!質問歓迎! ● Kotlinで書きにくい処理を書きやすくする優秀なコピペ元を増やす ● 社内外への発信 ● 現在開催中の Kotlin Premier 2021 の発表もリアルタイムで翻訳💪 やるからには日本一を目指す ● 「使ってるだけ」ではなく「日本一使いこなしている」へ ○ この点でもJavaよりKotlinのほうがチャンスありそう
Slide 27
Slide 27 text
27 NewsPicksでは Kotlinを日本一使いこなしたい エンジニアを募集中です!!