Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
About Merpay Engineering Productivity Team
Search
zoncoen
May 25, 2022
2k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
About Merpay Engineering Productivity Team
「Merpay Tech Talk ~開発者向け社内サービス事例とOSSカルチャーへの還元~」
の発表資料です
zoncoen
May 25, 2022
More Decks by zoncoen
See All by zoncoen
Perl の HTTP/2 事情 / HTTP2 in Perl
zoncoen
0
510
Perl でも React.js の server-side rendering がしたい! / perl meets javascript with reactjs
zoncoen
0
2.3k
YAPC::Asia 2014
zoncoen
0
2.7k
同期的にプレゼンテーションするツールをつくった話
zoncoen
1
1k
Gunosy.go #4 ~ flag.go ~ #gunosygo
zoncoen
0
260
Gunosy.go #3 ~ expvar.go ~ #gunosygo
zoncoen
1
770
初心者がGoでpercol実装してみた話 / Golang + Reveal.js + Websocket で同期的にプレゼンテーションしたい #hikarie_go
zoncoen
0
2.6k
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
55
10k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
730
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
230
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
600
Designing for humans not robots
tammielis
254
26k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
720
Deep Space Network (abreviated)
tonyrice
0
300
Un-Boring Meetings
codingconduct
0
410
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
520
Transcript
#merpay_techtalk Engineering Productivity Team について 2022/05/25 @zoncoen
2 Engineering Productivity Team, Merpay, Inc. Kenta Mori (@zoncoen)
2018年にメルペイへ入社し、QRコード決済に関わるマイクロサービスの開発に携 わる。その後、Architectチームでマイクロサービスのためのインテグレーションテ ストプラットフォームの開発などを担当。2022年1月からEngineering Productivity チームのテックリードを務める。
エンジニアリングで社内の開発者を支援するチーム 3 Engineering Productivity Team とは • 機能開発の効率化や運用の支援を行うための社内サービスやツールをつくっている • もともとArchitectチームの業務の一環で行っていたが、2022年の1月にArchitectチームから別
のチームとして分離した ◦ 領域を絞ることで、チームの役割を明確化 • 技術的な意思決定 • API Gatewayの開発 • DesignDocレビュー • 組織的な課題の解決 Architect Team
エンジニアリングで社内の開発者を支援するチーム 4 Engineering Productivity Team とは • 技術的な意思決定 • API
Gatewayの開発 • DesignDocレビュー • 組織的な課題の解決 Architect Team • シナリオテスト基盤の開発 • マイクロサービスダッシュボードの開発 • 機能開発の効率化や運用の支援を行うための社内サービスやツールをつくっている • もともとArchitectチームの業務の一環で行っていたが、2022年の1月にArchitectチームから別 のチームとして分離した ◦ 領域を絞ることで、チームの役割を明確化
エンジニアリングで社内の開発者を支援するチーム 5 Engineering Productivity Team とは • 技術的な意思決定 • API
Gatewayの開発 • DesignDocレビュー • 組織的な課題の解決 Architect Team • シナリオテスト基盤の開発 • マイクロサービスダッシュボードの開発 Engineering Productivity Team • 機能開発の効率化や運用の支援を行うための社内サービスやツールをつくっている • もともとArchitectチームの業務の一環で行っていたが、2022年の1月にArchitectチームから別 のチームとして分離した ◦ 領域を絞ることで、チームの役割を明確化
Scenario-based Integration Testing Platform • 開発環境を使ってマイクロサービスのインテグレーションテストを行う仕組み • 定期的なテスト実行による問題の早期発見や、Pull RequestのCIとしての自動化されたインテ グレーションテストを実現
◦ OSSのProwを利用 • 詳しい仕組みは2021年のMerpay Tech Festで紹介しています title: echo-service steps: - title: POST /echo protocol: http request: method: POST url: '{{env.ECHO_ADDR}}/echo' body: message: hello expect: body: message: '{{request.body.message}}'
Microservices Dashboard • 各マイクロサービスに関する様々な情報を提供するポータルサイト ◦ GitHubレポジトリやSlackチャンネルへのリンク ◦ インフラのコストグラフ ◦ API
Specification ◦ SLO etc. • 詳細は以前のMerpay Tech Talkで紹介しています
Team Vision • エンジニアリングプロセスを改善し、お客様に届ける価値を最大化する。 8 Team Vision
& Missions Team Missions • ソフトウェアサービス開発・運用のワークフローを改善するためのプラットフォームを提供する。 • コードを書くことでエンジニアリングの生産性をあげるための方法を、誰もが常に模索する文化 を醸成する。
Next Challenge • 業務改善の効率化にエンジニア全員が意識を向けられるようにしていく ◦ Enginnering Productivity Teamだけが取り組むことではない ◦ 各チームの生産性向上への取り組みを支援する体制をつくる
• チームやドメインによらない汎用的な仕組みは利用を推進 ◦ 運用上の問題があれば移管も検討する ▪ つくったものをそのまま代わりに運用することはしない • 課題発見を促進するための取り組み ◦ 現状は比較的属人的 ◦ リモートワークがすすんでコミュニケーションの量が減っている ◦ e.g., 各サービスのインシデントにおけるポストモーテムから、エンジニアリングによる解 決方法を模索する
10 他のチームとの違い • メルカリグループ全体にマイクロサービス基盤を提供しているMicroservices Platform Teamと は、社内の開発者を支援するという点では似ている ◦ フォーカスしている領域の違い ▪
Merpay ArchitectやEngineering Productivityはあくまでメルペイのチーム • 最初からマイクロサービスアーキテクチャで開発してきたメルペイと、モノリス からマイクロサービスに移行をすすめているメルカリでは直面している課題 が異なるときもあった ◦ 課題に対するアプローチの違い ▪ どちらのアプローチも必要 • 理想的なあるべき姿を定義し、それに向かってサービスを巻き込んで改善し ていくトップダウン的なアプローチ • 課題の解決方法を提供し、それの利用を推進することで改善していくボトム アップ的なアプローチ ◦ Cloud Computing Service とその上で提供される SaaS のような関係とも言える
大事にしていること • ビジョンをもって高品質なものを作り込む ◦ 使われなければ価値はない ◦ プロダクトの状況に寄り添い常に改善を続けていく • つくるだけで終わらせず、普及させるための働きかけ ◦
使いたいと思ってもらえる品質 ◦ 導入の支援 ◦ ドキュメンテーション • 新しい技術や仕組みを利用できるところは積極的に利用する ◦ 社内の新しい仕組みは積極的に利用してフィードバックする ◦ まだ社内では使われていない技術を試す ▪ OSSの利用、コントリビューション