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.6k
Rakusmeetup_20210804_Takuya_Okamoto
2021年8月4日に開催された「Rakusmeetup」で発表したスライドです。
txkxyx
August 05, 2021
Tweet
Share
More Decks by txkxyx
See All by txkxyx
Kubernetes導入に備えたGitOpsなCI/CDを構築する/rakus_meetup_202206
txkxyx
0
1k
PostCSSの導入検証 / r&d_meetup_css_t_okkan
txkxyx
0
930
ゲーム開発で始めるオブジェクト指向 / ooltjp_vol3_t_okkan
txkxyx
1
530
Technology selection for mobile cross-platform
txkxyx
0
100
itbookslt_vol2_takuyaokamoto
txkxyx
0
15k
今年やることやらないこと
txkxyx
0
45
クロスプラットフォームの技術選定 ~ライブラリ編~
txkxyx
0
330
Other Decks in Technology
See All in Technology
AWS re:Invent 2024で発表された コードを書く開発者向け機能について
maruto
0
210
LINEスキマニにおけるフロントエンド開発
lycorptech_jp
PRO
0
340
なぜCodeceptJSを選んだか
goataka
0
180
成果を出しながら成長する、アウトプット駆動のキャッチアップ術 / Output-driven catch-up techniques to grow while producing results
aiandrox
0
380
多様なメトリックとシステムの健全性維持
masaaki_k
0
120
React Routerで実現する型安全なSPAルーティング
sansantech
PRO
2
280
Microsoft Azure全冠になってみた ~アレを使い倒した者が試験を制す!?~/Obtained all Microsoft Azure certifications Those who use "that" to the full will win the exam! ?
yuj1osm
2
120
オプトインカメラ:UWB測位を応用したオプトイン型のカメラ計測
matthewlujp
0
200
ゼロから創る横断SREチーム 挑戦と進化の軌跡
rvirus0817
3
280
PHPerのための計算量入門/Complexity101 for PHPer
hanhan1978
5
680
クレカ・銀行連携機能における “状態”との向き合い方 / SmartBank Engineer LT Event
smartbank
2
100
20241218_今年はSLI/SLOの導入を頑張ってました!
zepprix
0
100
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
137
6.7k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
2
290
Practical Orchestrator
shlominoach
186
10k
We Have a Design System, Now What?
morganepeng
51
7.3k
Side Projects
sachag
452
42k
How to Think Like a Performance Engineer
csswizardry
22
1.2k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
Imperfection Machines: The Place of Print at Facebook
scottboms
266
13k
Writing Fast Ruby
sferik
628
61k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
170
The World Runs on Bad Software
bkeepers
PRO
66
11k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
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