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
990
ゲーム開発で始めるオブジェクト指向 / 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
370
Other Decks in Technology
See All in Technology
LLM 機能を支える Langfuse / ClickHouse のサーバレス化
yuu26
9
2.4k
Claude Codeから我々が学ぶべきこと
oikon48
10
2.8k
バクラクによるコーポレート業務の自動運転 #BetAIDay
layerx
PRO
1
980
UDDのススメ - 拡張版 -
maguroalternative
1
590
事業特性から逆算したインフラ設計
upsider_tech
0
140
AI時代の大規模データ活用とセキュリティ戦略
ken5scal
0
150
LTに影響を受けてテンプレリポジトリを作った話
hol1kgmg
0
380
Google Cloud で学ぶデータエンジニアリング入門 2025年版 #GoogleCloudNext / 20250805
kazaneya
PRO
22
5.5k
ファッションコーディネートアプリ「WEAR」における、Vertex AI Vector Searchを利用したレコメンド機能の開発・運用で得られたノウハウの紹介
zozotech
PRO
0
440
リリース2ヶ月で収益化した話
kent_code3
1
310
夏休みWebアプリパフォーマンス相談室/web-app-performance-on-radio
hachi_eiji
0
230
Foundation Model × VisionKit で実現するローカル OCR
sansantech
PRO
1
390
Featured
See All Featured
KATA
mclloyd
32
14k
Building Applications with DynamoDB
mza
96
6.5k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Agile that works and the tools we love
rasmusluckow
329
21k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Rails Girls Zürich Keynote
gr2m
95
14k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.4k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.8k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
Art, The Web, and Tiny UX
lynnandtonic
301
21k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
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