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
Mercari Engineer's meetup for students vol.2
Search
sapuri
September 25, 2019
Technology
0
2.5k
Mercari Engineer's meetup for students vol.2
Mercari Engineer's meetup for students vol.2 の発表資料です。
https://mercari.connpass.com/event/145420/
sapuri
September 25, 2019
Tweet
Share
Other Decks in Technology
See All in Technology
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
160
dev 補講: プロダクトセキュリティ / Product security overview
wa6sn
0
1.7k
隣接領域をBeyondするFinatextのエンジニア組織設計 / beyond-engineering-areas
stajima
1
230
AIチャットボット開発への生成AI活用
ryomrt
0
140
私はこうやってマインドマップでテストすることを出す!
mineo_matsuya
0
250
強いチームと開発生産性
onk
PRO
10
3.4k
第23回Ques_タイミーにおけるQAチームの在り方 / QA Team in Timee
takeyaqa
0
230
Amazon CloudWatch Network Monitor のススメ
yuki_ink
0
120
スクラムチームを立ち上げる〜チーム開発で得られたもの・得られなかったもの〜
ohnoeight
2
310
OCI Data Integration技術情報 / ocidi_technical_jp
oracle4engineer
PRO
1
2.6k
Incident Response Practices: Waroom's Features and Future Challenges
rrreeeyyy
0
140
元旅行会社の情シス部員が教えるおすすめなre:Inventへの行き方 / What is the most efficient way to re:Invent
naospon
2
290
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
What's in a price? How to price your products and services
michaelherold
243
12k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
505
140k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
65k
The Cost Of JavaScript in 2023
addyosmani
45
6.7k
How GitHub (no longer) Works
holman
310
140k
The Cult of Friendly URLs
andyhume
78
6k
Transcript
1 Mercari Engineer's meetup for students vol.2 2019/09/25 @sapuri
2 Backend Engineer Merpay NetPayment Team 2019年4月 メルペイ入社 Twitter: @sapuri_tappuri
辻野 祐希 (@sapuri)
3 インターン Blockchain Team Software Engineer, Blockchain 2017/12 - 2018/06
インターンから配属まで 新卒入社(研修) Software Engineer 2019/04 他社インターン COLOPL, Inc. CyberAgent, Inc. Nintendo Co., Ltd. チーム配属 Merpay NetPayment Team Software Engineer, Backend 2019/06
4 インターン Blockchain Team Software Engineer, Blockchain 2017/12 - 2018/06
インターンから配属まで 新卒入社(研修) Software Engineer 2019/04 他社インターン COLOPL, Inc. CyberAgent, Inc. Nintendo Co., Ltd. チーム配属 Merpay NetPayment Team Software Engineer, Backend 2019/06
5 「Mercari X」もお披露目。メルペイ CTOが描く、信用と価値交換「 Mercari Tech Conf 2018」レポ | mercan
(メルカン) Mercari X
6 「Mercari X」もお披露目。メルペイ CTOが描く、信用と価値交換「 Mercari Tech Conf 2018」レポ | mercan
(メルカン) Mercari X
7 インターン Blockchain Team Software Engineer, Blockchain 2017/12 - 2018/06
インターンから配属まで 新卒入社(研修) Software Engineer 2019/04 他社インターン COLOPL, Inc. CyberAgent, Inc. Nintendo Co., Ltd. チーム配属 Merpay NetPayment Team Software Engineer, Backend 2019/06
8 • 約2ヶ月間の研修 • Training Week ◦ 各分野の基礎的な技術的知識を身につける ▪ Go、Microservices、Backend、Mobile
App、Frontend、AI、QA、Security • Scrum Training ◦ 新卒同士でチームを組んでスクラム開発を体験する ◦ 開発するプロダクトを考えるところからプロトタイプ実装までの全てをやる ▪ どれだけのインパクトがあるか、市場規模は、競合は、もしリリースしたら利益はどれぐ らい見込めるか... ▪ 2, 3週間でプロトタイプを実装して発表する 新卒研修
9 インターン Blockchain Team Software Engineer, Blockchain 2017/12 - 2018/06
インターンから配属まで 新卒入社(研修) Software Engineer 2019/04 他社インターン COLOPL, Inc. CyberAgent, Inc. Nintendo Co., Ltd. チーム配属 Merpay NetPayment Team Software Engineer, Backend 2019/06
10 メルペイネット決済 メルペイ決済がオンライン( EC)・オフライン(お店)双方で可能に お店や サイトで 商品を購入 使わなくなったものを メルカリで出品 メルカリの売上金を
サイトで利用 5月29日にリリースされました
11 バックエンドエンジニアとしてのメルペイ サービスのつくりかた
12 メルペイの裏側 メルペイのマイクロサービスの構築と運用 / CloudNative Days Tokyo2019 - Speaker Deck
GCP上にデプロイされている 40以上のマイクロサービスによってメルペイが動いている
13 • 複数のマイクロサービスを通って決済が行われる • 各サービスはそれぞれ異なる GCP Project 持ち、Project ごとに Spanner
や Pub/Sub などを管理する マイクロサービスアーキテクチャ
14 • GCP Project の作成、Terraform ◦ GCP 上や Kubernetes 上のさまざまなリソースをコードで管理
• コードを書く ◦ 基本的には Go で実装する ◦ サービス間は gRPC で通信する ▪ Protobuf は単一のリポジトリで管理されている ◦ 必要になった人が実装してプルリクを送る(場合による) ▪ そのマイクロサービスのオーナーにレビューしてもらう • デプロイ ◦ Circle CI でテスト ◦ Cloud Build で Docker Image を作成 ◦ Spinnaker で Docker Image を GKE にデプロイ テスト、デプロイ、モニタリング、運用をそのサービスの開発者が行う サービス開発の流れ
15 サービス開発の流れ
16 実際メルペイで働いててどう? :thinking_face:
17 コアタイムが12時から16時 エンジニアには夜型が多い(要出典) 出社時間の自由度が高い
18 現代的な技術スタックや開発環境を利用できる Kubernetes, Spanner, Terraform, Microservices, etc. GCPのリソースを自由に使わせてくれる会社はそうないと思います
19 新卒だから◦◦みたいな扱いはされない 個人の裁量が大きい
20 ドメインリード制 • ネット決済の Backend チームではタスクをある程度大きな分類に仕分けて、 それぞれの担当を決めている(このタスクの分類がドメイン) • それぞれのドメインに Tech
Lead と PM がいる • → チームの Tech Lead に案件が集中しにくい ◦ チームのスケーラビリティが向上する • → 新人でも、ドメインの Tech Lead として仕様の検討から案件に関わる ◦ 特にネット決済は他のチームとの関わりが多いです
21 より良い労働環境のために... 無いものは創る文化
22 Mercafe Pre-order App Slackコマンドからカフェの注文と決済ができる!
23 Mercafe Pre-order App
24 Mercafe Pre-order App
25 • メルカリのOSSリポジトリ ◦ https://github.com/mercari • Spanner のためのツール ◦ wrench:
Schema management tool for Cloud Spanner ◦ yo: A command-line tool to generate Go code for Google Cloud Spanner ◦ zagane: A static analysis tool which can find bugs in spanner's code メルカリのOSS
26 • メルペイの裏側 ◦ 40以上のマイクロサービス ◦ 大まかなサービス開発の流れ • メルペイの労働環境 ◦
出社時間の自由度が高い ◦ 現代的な技術スタックや開発環境を利用できる ◦ 個人の裁量が大きい ◦ 無いものは創る文化 ◦ 周りの人たちが優秀 モノを創るのが好きな人にとっても、技術が好きな人にとっても いろんなチャレンジができて良い職場だと思います☺ 締め