Slide 1

Slide 1 text

1 Mercari Engineer's meetup for students vol.2 2019/09/25 @sapuri

Slide 2

Slide 2 text

2 Backend Engineer Merpay NetPayment Team 2019年4月 メルペイ入社 Twitter: @sapuri_tappuri 辻野 祐希 (@sapuri)

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

5 「Mercari X」もお披露目。メルペイ CTOが描く、信用と価値交換「 Mercari Tech Conf 2018」レポ | mercan (メルカン) Mercari X

Slide 6

Slide 6 text

6 「Mercari X」もお披露目。メルペイ CTOが描く、信用と価値交換「 Mercari Tech Conf 2018」レポ | mercan (メルカン) Mercari X

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

8 ● 約2ヶ月間の研修 ● Training Week ○ 各分野の基礎的な技術的知識を身につける ■ Go、Microservices、Backend、Mobile App、Frontend、AI、QA、Security ● Scrum Training ○ 新卒同士でチームを組んでスクラム開発を体験する ○ 開発するプロダクトを考えるところからプロトタイプ実装までの全てをやる ■ どれだけのインパクトがあるか、市場規模は、競合は、もしリリースしたら利益はどれぐ らい見込めるか... ■ 2, 3週間でプロトタイプを実装して発表する 新卒研修

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

10 メルペイネット決済 メルペイ決済がオンライン( EC)・オフライン(お店)双方で可能に お店や サイトで 商品を購入 使わなくなったものを メルカリで出品 メルカリの売上金を サイトで利用 5月29日にリリースされました

Slide 11

Slide 11 text

11 バックエンドエンジニアとしてのメルペイ サービスのつくりかた

Slide 12

Slide 12 text

12 メルペイの裏側 メルペイのマイクロサービスの構築と運用 / CloudNative Days Tokyo2019 - Speaker Deck GCP上にデプロイされている 40以上のマイクロサービスによってメルペイが動いている

Slide 13

Slide 13 text

13 ● 複数のマイクロサービスを通って決済が行われる ● 各サービスはそれぞれ異なる GCP Project 持ち、Project ごとに Spanner や Pub/Sub などを管理する マイクロサービスアーキテクチャ

Slide 14

Slide 14 text

14 ● GCP Project の作成、Terraform ○ GCP 上や Kubernetes 上のさまざまなリソースをコードで管理 ● コードを書く ○ 基本的には Go で実装する ○ サービス間は gRPC で通信する ■ Protobuf は単一のリポジトリで管理されている ○ 必要になった人が実装してプルリクを送る(場合による) ■ そのマイクロサービスのオーナーにレビューしてもらう ● デプロイ ○ Circle CI でテスト ○ Cloud Build で Docker Image を作成 ○ Spinnaker で Docker Image を GKE にデプロイ テスト、デプロイ、モニタリング、運用をそのサービスの開発者が行う サービス開発の流れ

Slide 15

Slide 15 text

15 サービス開発の流れ

Slide 16

Slide 16 text

16 実際メルペイで働いててどう? :thinking_face:

Slide 17

Slide 17 text

17 コアタイムが12時から16時 エンジニアには夜型が多い(要出典) 出社時間の自由度が高い

Slide 18

Slide 18 text

18 現代的な技術スタックや開発環境を利用できる Kubernetes, Spanner, Terraform, Microservices, etc. GCPのリソースを自由に使わせてくれる会社はそうないと思います

Slide 19

Slide 19 text

19 新卒だから○○みたいな扱いはされない 個人の裁量が大きい

Slide 20

Slide 20 text

20 ドメインリード制 ● ネット決済の Backend チームではタスクをある程度大きな分類に仕分けて、 それぞれの担当を決めている(このタスクの分類がドメイン) ● それぞれのドメインに Tech Lead と PM がいる ● → チームの Tech Lead に案件が集中しにくい ○ チームのスケーラビリティが向上する ● → 新人でも、ドメインの Tech Lead として仕様の検討から案件に関わる ○ 特にネット決済は他のチームとの関わりが多いです

Slide 21

Slide 21 text

21 より良い労働環境のために... 無いものは創る文化

Slide 22

Slide 22 text

22 Mercafe Pre-order App Slackコマンドからカフェの注文と決済ができる!

Slide 23

Slide 23 text

23 Mercafe Pre-order App

Slide 24

Slide 24 text

24 Mercafe Pre-order App

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

26 ● メルペイの裏側 ○ 40以上のマイクロサービス ○ 大まかなサービス開発の流れ ● メルペイの労働環境 ○ 出社時間の自由度が高い ○ 現代的な技術スタックや開発環境を利用できる ○ 個人の裁量が大きい ○ 無いものは創る文化 ○ 周りの人たちが優秀 モノを創るのが好きな人にとっても、技術が好きな人にとっても いろんなチャレンジができて良い職場だと思います☺ 締め