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
260
Kubernetes導入に備えたGitOpsなCI/CDを構築する/rakus_meetup_202206
txkxyx
0
1.2k
PostCSSの導入検証 / r&d_meetup_css_t_okkan
txkxyx
0
1k
ゲーム開発で始めるオブジェクト指向 / 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
AIのグローバルトレンド2025 #scrummikawa / global ai trend
kyonmm
PRO
1
220
なぜスクラムはこうなったのか?歴史が教えてくれたこと/Shall we explore the roots of Scrum
sanogemaru
3
820
Grafana MCPサーバーによるAIエージェント経由でのGrafanaダッシュボード動的生成
hamadakoji
1
1.3k
落ちる 落ちるよ サーバーは落ちる
suehiromasatoshi
0
130
Skrub: machine-learning with dataframes
gaelvaroquaux
0
110
実践AIガバナンス
asei
3
350
Agile PBL at New Grads Trainings
kawaguti
PRO
1
230
機械学習を扱うプラットフォーム開発と運用事例
lycorptech_jp
PRO
0
110
【 LLMエンジニアがヒューマノイド開発に挑んでみた 】 - 第104回 Machine Learning 15minutes! Hybrid
soneo1127
0
280
エラーとアクセシビリティ
schktjm
0
900
250905 大吉祥寺.pm 2025 前夜祭 「プログラミングに出会って20年、『今』が1番楽しい」
msykd
PRO
1
390
シークレット管理だけじゃない!HashiCorp Vault でデータ暗号化をしよう / Beyond Secret Management! Let's Encrypt Data with HashiCorp Vault
nnstt1
3
210
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
525
40k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.5k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
Optimizing for Happiness
mojombo
379
70k
Six Lessons from altMBA
skipperchong
28
4k
What's in a price? How to price your products and services
michaelherold
246
12k
Raft: Consensus for Rubyists
vanstee
140
7.1k
Navigating Team Friction
lara
189
15k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
The Language of Interfaces
destraynor
160
25k
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