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
Rakusmeetup_20210804_Takuya_Okamoto
Search
txkxyx
August 05, 2021
Technology
0
1.8k
Rakusmeetup_20210804_Takuya_Okamoto
2021年8月4日に開催された「Rakusmeetup」で発表したスライドです。
txkxyx
August 05, 2021
Tweet
Share
More Decks by txkxyx
See All by txkxyx
寿命の長いドキュメントの 鮮度を保つ仕組み
txkxyx
0
240
Kubernetes導入に備えたGitOpsなCI/CDを構築する/rakus_meetup_202206
txkxyx
0
1.2k
PostCSSの導入検証 / r&d_meetup_css_t_okkan
txkxyx
0
980
ゲーム開発で始めるオブジェクト指向 / ooltjp_vol3_t_okkan
txkxyx
1
560
Technology selection for mobile cross-platform
txkxyx
0
110
itbookslt_vol2_takuyaokamoto
txkxyx
0
15k
今年やることやらないこと
txkxyx
0
47
クロスプラットフォームの技術選定 ~ライブラリ編~
txkxyx
0
360
Other Decks in Technology
See All in Technology
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
50
20k
React開発にStorybookとCopilotを導入して、爆速でUIを編集・確認する方法
yu_kod
1
280
AWS Organizations 新機能!マルチパーティ承認の紹介
yhana
1
280
CDKTFについてざっくり理解する!!~CloudFormationからCDKTFへ変換するツールも作ってみた~
masakiokuda
1
150
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
2
7.8k
NewSQLや分散データベースを支えるRaftの仕組み - 仕組みを理解して知る得意不得意
hacomono
PRO
2
170
SmartNewsにおける 1000+ノード規模 K8s基盤 でのコスト最適化 – Spot・Gravitonの大規模導入への挑戦
vsanna2
0
140
Operating Operator
shhnjk
1
590
Lazy application authentication with Tailscale
bluehatbrit
0
210
事業成長の裏側:エンジニア組織と開発生産性の進化 / 20250703 Rinto Ikenoue
shift_evolve
PRO
2
22k
PO初心者が考えた ”POらしさ”
nb_rady
0
210
What’s new in Android development tools
yanzm
0
320
Featured
See All Featured
Building Applications with DynamoDB
mza
95
6.5k
Navigating Team Friction
lara
187
15k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
Documentation Writing (for coders)
carmenintech
72
4.9k
GitHub's CSS Performance
jonrohan
1031
460k
Facilitating Awesome Meetings
lara
54
6.4k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
RailsConf 2023
tenderlove
30
1.1k
A better future with KSS
kneath
238
17k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
950
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Transcript
#RAKUSMeetup ©2021 RAKUS Co., Ltd. ラクスの技術スタックを新陳代謝し開発 を加速させる取り組み 2021/08/04(水)RAKUS Meetup 開発戦略・マネジメント
技術推進課 岡本拓也 1
#RAKUSMeetup 岡本 拓也 • Job ◦ 株式会社ラクス技術推進課に所属 ◦ 先行技術検証 ◦ 非エンジニア向けの技術勉強会の開催
• Career ◦ 2017年〜Webエンジニア ◦ Spring FW、AWS、Nuxt.js ◦ Java研修講師、資格対策本の執筆 ◦ 2020年〜株式会社ラクスに入社 • Hobby ◦ 野球 ◦ 筋トレ ◦ アウトドア ▪ 釣り ▪ キャンプ 2
#RAKUSMeetup 今日お話しする内容 • 設立20年以上の開発組織が抱えていた、技術スタックの陳腐化に よる危機感 • 技術スタックを陳腐化させないために、技術スタックを 新陳代謝して開発を加速させる技術推進課の取り組み 1. 技術推進課立ち上げの経緯と役割
2. 技術推進課の取り組みの紹介 3. 今後の展望 3
#RAKUSMeetup 技術推進課の紹介 4
#RAKUSMeetup 株式会社ラクス開発部のVISION VISION達成のために、組織力と技術力を強化しています 一方で・・・ 5
#RAKUSMeetup 技術力に関しては危機感が・・・ 6 ちょっとやばいか も・・・
#RAKUSMeetup 危機感① ソフトウェア業界のトレンドを十分にキャッチアップできていない • 創業20年を迎え、一部サービスはレガシーシステムに・・・ ◦ 技術スタックもどんどん陳腐化してく • この状態で新サービスを立ち上げると、既存の技術スタックで開発をすることに ◦
新しい技術は開発効率や品質面で優れているはず ◦ しかし、立ち上げ時に新技術を検証している時間がない • 新サービス開発時の生産性向上が見込めないのでは 7
#RAKUSMeetup 危機感② 後発の競合他社に技術的に優位に立たれてしまうのでは • 次々と競合が誕生するBtoBのSaaS領域 • 後発の競合サービスに、 機能開発速度やサービスの品質面で技術的な遅れをとってしまうのでは • 採用面でも不利になる可能性も
危機感はあるものの・・・ 8
#RAKUSMeetup 危機感はあるものの • 新しい技術を検証し、導入することが困難であった ◦ サービス開発が優先で時間的制約が多い ◦ このままでは危機感が現実に • 技術トレンドをキャッチアップ・習得する専門の組織を立ち上げ
◦ 新しい技術を必要な時にいつでも利用できる体制を整える →技術推進課 9 技術の更新 もしたいけど 開発優先
#RAKUSMeetup 技術推進課 • 新技術を調査・検証する専門の組織として2020年立ち上げ • Mission ◦ 高い技術力を生かし、エンジニア組織の開発速度アップに寄与する • 役割
◦ ラクスでは導入できていない新技術の調査・検証 ▪ 新サービス立ち上げ時の開発速度アップ ◦ 各サービス開発チームへの新技術の提案、導入支援 ▪ 既存サービスの新規機能開発速度アップ 10
#RAKUSMeetup 危機感を解決するための取り組み • 技術ロードマップ ◦ 5年後までにラクス開発部が蓄積すべき技術要素をまとめたもの ◦ 経年に陳腐化するため毎年更新している ◦ ラクスがSaaSを開発していく上で必要な技術のみを掲載
Kubernetes・FIDO2・Deep learning・SPAセキュリティテスト ブロックチェーン、ゲーム関連技術 • 技術ロードマップの技術の習得方法として技術推進PJ 11
#RAKUSMeetup 技術推進PJの紹介 12
#RAKUSMeetup 技術推進PJ • 概要 ◦ 技術ロードマップの未習得の技術を習得するための研究開発PJ ◦ ラクス開発部で習得できていない新技術を組織として習得する ◦ 1年で7〜8テーマのPJが動いている
• メンバー構成 ◦ リーダー1名+メンバー1〜2名 ◦ 技術推進課のメンバー or 各サービス開発チームのエンジニアが参加 • 期間 ◦ 週5時間の稼働で半年間、調査・検証・成果発表を行う 13
#RAKUSMeetup 技術推進PJの事例(モバイルクロスプラットフォーム) • ラクスの課題 ◦ 開発チームはWebエンジニアがメインで構成されている ◦ 既存サービスや新サービスでモバイルアプリの開発要件があった場合、 モバイルアプリ開発にかかる工数を削減できるツールを習得する必要がある •
調査・検証内容 ◦ 以下の観点でネイティブアプリと比較して開発の省力化を評価 ▪ 開発環境、学習コスト、実装コスト、ネイティブ機能実現 ◦ Ionic Framework、React Native、Flutterとネイティブアプリ (Swift、Kotlin)を比較 14 VS VS
#RAKUSMeetup 技術推進PJの事例(モバイルクロスプラットフォーム) • 結論 ◦ Flutterが最も開発を省力化できる ▪ デバッグツールやプラグインが高機能でネイティブと遜色がない ▪ DartがWebアプリエンジニアにとって学習コストが低い
◦ モバイルクロスプラットフォームの技術検証 - RAKUS Developers Blog | ラクス エンジニアブログ • 成果 ◦ あるサービスで新規でスマホアプリ開発の要求が上がっており、外注も視野に入れ ていたが、検証結果を元に提案することでFlutterでの内製に決定 ◦ 開発速度アップに寄与・新技術をいつでも使える状態 15
#RAKUSMeetup 技術推進PJの事例(GraphQL) • ラクスの課題 ◦ ビジネスドメイン知識に基づいて構築されるバックエンドと、柔軟に変化・多様化す るフロントエンドの間で柔軟なデータ通信を可能にしたい ◦ GraphQLが解決策となり得るか、運用上の課題についても検証する •
調査・検証内容 ◦ モノリシックなアプリケーションと、BFFアーキテクチャのアプリケーションに GraphQLを導入してみる ◦ スキーマファーストな開発により柔軟なデータ通信が可能かを検証 16 GraphQL ➕ ➕ ➕ モノリシック BFF
#RAKUSMeetup 技術推進PJの事例(GraphQL) • 結論 ◦ GraphQLを導入することでFEとBEの実装を切り離せて疎結合にできる ◦ FEとBEは定義ファイルの情報を元に必要なデータのみを取得・提供できるので、柔 軟なデータ通信を実現できる ◦
GraphQLのアプリケーションへの組み込みを考える - RAKUS Developers Blog | ラクス エンジニアブログ • 成果 ◦ 検証→導入という流れではないが、楽楽明細で運用改善でGraphQLを導入 ◦ 研究結果とサービスでの導入実績で新技術をいつでも利用できる状態 17 お互いどう実装してるかは知らない フロントエンド バックエンド
#RAKUSMeetup その他のテーマについて • その他テーマ ◦ 無停止リリース・AutoML・マイクロサービス ・CSSプラットフォーム • RAKUS Developers
Blogで「かみせん」と検索 かみせん カテゴリーの記事一覧 - RAKUS Developers Blog | ラクス エンジニアブログ 18
#RAKUSMeetup 技術推進課の今後の展望 19
#RAKUSMeetup 今後の展望 • 新サービス立ち上げ時の開発速度アップに寄与する ◦ 技術ロードマップの技術を習得しラクスの技術スタックを 新陳代謝させてく ◦ 習得した技術を新サービス立ち上げ時に導入して開発速度をアップ •
既存サービスの技術的課題への取り組み ◦ サービス固有の技術的課題に対応していく ◦ 新機能開発時の開発速度アップや運用コストの削減に寄与する 20