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
About Merpay Engineering Productivity Team
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
zoncoen
May 25, 2022
1.9k
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
500
Perl でも React.js の server-side rendering がしたい! / perl meets javascript with reactjs
zoncoen
0
2.2k
YAPC::Asia 2014
zoncoen
0
2.7k
同期的にプレゼンテーションするツールをつくった話
zoncoen
1
1k
Gunosy.go #4 ~ flag.go ~ #gunosygo
zoncoen
0
250
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
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
How to Ace a Technical Interview
jacobian
281
24k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
71
40k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
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の利用、コントリビューション