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
日本版とグローバル版のモバイルアプリ統合の開発の裏側と今後の展望
miichan
1
130
Turing × atmaCup #18 - 1st Place Solution
hakubishin3
0
470
How to be an AWS Community Builder | 君もAWS Community Builderになろう!〜2024 冬 CB募集直前対策編?!〜
coosuke
PRO
2
2.8k
多領域インシデントマネジメントへの挑戦:ハードウェアとソフトウェアの融合が生む課題/Challenge to multidisciplinary incident management: Issues created by the fusion of hardware and software
bitkey
PRO
2
100
[Ruby] Develop a Morse Code Learning Gem & Beep from Strings
oguressive
1
150
社外コミュニティで学び社内に活かす共に学ぶプロジェクトの実践/backlogworld2024
nishiuma
0
260
サーバレスアプリ開発者向けアップデートをキャッチアップしてきた #AWSreInvent #regrowth_fuk
drumnistnakano
0
190
バクラクのドキュメント解析技術と実データにおける課題 / layerx-ccc-winter-2024
shimacos
2
1.1k
ブラックフライデーで購入したPixel9で、Gemini Nanoを動かしてみた
marchin1989
1
520
私なりのAIのご紹介 [2024年版]
qt_luigi
1
120
Oracle Cloud Infrastructure:2024年12月度サービス・アップデート
oracle4engineer
PRO
0
170
10個のフィルタをAXI4-Streamでつなげてみた
marsee101
0
160
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Scaling GitHub
holman
458
140k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Fireside Chat
paigeccino
34
3.1k
Agile that works and the tools we love
rasmusluckow
328
21k
GraphQLとの向き合い方2022年版
quramy
44
13k
Rails Girls Zürich Keynote
gr2m
94
13k
A designer walks into a library…
pauljervisheath
204
24k
Designing for Performance
lara
604
68k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.3k
Docker and Python
trallard
42
3.1k
Site-Speed That Sticks
csswizardry
2
190
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以上のマイクロサービス ◦ 大まかなサービス開発の流れ • メルペイの労働環境 ◦
出社時間の自由度が高い ◦ 現代的な技術スタックや開発環境を利用できる ◦ 個人の裁量が大きい ◦ 無いものは創る文化 ◦ 周りの人たちが優秀 モノを創るのが好きな人にとっても、技術が好きな人にとっても いろんなチャレンジができて良い職場だと思います☺ 締め