Slide 1

Slide 1 text

카카오페이 서버 개발자로 일한다는 것 황지연 Happy.together 카카오페이 Copyright 2022. Kakao Corp. All rights reserved. Redistribution or public display is not permitted without written permission from Kakao. if(kakao)2022

Slide 2

Slide 2 text

카카오페이 경험 협업 방식 개발 언어 및 환경 기술 전파와 스터디 문화 업무의 확장

Slide 3

Slide 3 text

카카오페이 경험

Slide 4

Slide 4 text

오프라인 결제 정산 - 입사 3주 만에 제주도로 
 (결제 시스템과 PG에 대한 도메인 학습)

Slide 5

Slide 5 text

오프라인 결제 정산 - 입사 3주 만에 제주도로 
 (결제 시스템과 PG에 대한 도메인 학습) - 정산을 개발해 본 적 없던 개발자 5명 
 (모두 입사 6개월 미만, 그중 2명은 1개월 미만) - 정산 도메인 전문 PM 3명

Slide 6

Slide 6 text

오프라인 결제 정산 - 입사 3주 만에 제주도로 
 (결제 시스템과 PG에 대한 도메인 학습) - 정산을 개발해 본 적 없던 개발자 5명 
 (모두 입사 6개월 미만, 그중 2명은 1개월 미만) - 정산 도메인 전문 PM 3명 - 2주 동안 무에서 유를 만들어 냄 - 잇몸으로 초반 데이터 설정

Slide 7

Slide 7 text

페이상품권 - 카카오톡 친구에서 상품권 선물 - 받은 친구는 카카오페이 모든 가맹점에서 사용 - Kotlin + Spring MVC - MySQL에 상품권, 결제 데이터 저장 - Redis로 분산 락 관리 - Kafka 프로듀서/컨슈머 구현 - MongoDB 조회성 데이터 저장

Slide 8

Slide 8 text

내 주변 - 지도 기반 매장, 멤버십, 혜택 정보 제공 - Kotlin + Spring Web fl ux - 마이크로 서비스들을 비동기로 호출 - BFF(Backend For Frontend) 패턴 - MySQL에 즐겨찾기 관리

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

- 인프라가 잘 구축되어 있고, 지원이 잘 된다 - 서비스 도메인과 어플리케이션 개발에 집중할 수 있다 - k8s 환경에서 MSA 개발을 경험해 볼 수 있다 - 결제나 송금 등 돈과 관련된 서비스의 경우, 트랜잭션 처리에 관해 깊게 개발해 볼 수 있다 If Kakao Pay

Slide 11

Slide 11 text

- 인프라가 잘 구축되어 있고, 지원이 잘 된다 - 서비스 도메인과 어플리케이션 개발에 집중할 수 있다 - k8s 환경에서 MSA 개발을 경험해 볼 수 있다 - 결제나 송금 등 돈과 관련된 서비스의 경우, 트랜잭션 처리에 관해 깊게 개발해 볼 수 있다 - 금융을 개발해야 하기 때문에 망분리 환경에서 개발해야 한다 - 때로 금감원에 제출하는 데이터 작업이 필요하기도 하다 - 탈퇴 유저 데이터 분리 보관, 개인 정보 마스킹 등 
 유저의 개인 정보 보호를 위해 신경써야 할 부분들에 대해 경험할 수있다 If Kakao Pay

Slide 12

Slide 12 text

협업 방식

Slide 13

Slide 13 text

PM View FE 목적 조직에 소속. 주로 PM FE와 협업 목적 조직 BE

Slide 14

Slide 14 text

PM View FE RE, QA, Client View QA View Client View RE BE 목적 조직

Slide 15

Slide 15 text

DevOps View SRE DevOps, Infra, DBA, SRE, BI View DBA View BI Infra

Slide 16

Slide 16 text

개발 언어 및 환경

Slide 17

Slide 17 text

프레임워크 언어 Java/Kotlin Scala Go Spring DB MySQL MongoDB 개발 언어 및 환경

Slide 18

Slide 18 text

Admin API Spring MVC Spring WebFlux Spring Security Vue.js, React Batch Spring Batch 개발하는 어플리케이션

Slide 19

Slide 19 text

Grafana APM 트랜잭션/에러 로그 수집 서버 상태 모니터링 Elastic HTTP 요청/응답 로그 서버 모니터링

Slide 20

Slide 20 text

T2 Krane 개발 환경 VM 생성 API 테스트 TestLAB 성능 테스트 서버 개발 지원 인프라

Slide 21

Slide 21 text

기술 전파와 스터디 문화

Slide 22

Slide 22 text

카카오페이 기술 블로그

Slide 23

Slide 23 text

기술 블로그 기고 및 피드백

Slide 24

Slide 24 text

꼬꼬지(꼬리에 꼬리를 무는 지식) - 프로모션 서버로 기술 찍먹 해보기 - GKA - T2 intellij http 통합테스트로 안심하고 배 포하기 - 통합테스트 어디까지 해봤니? 
 (testContainer, wireMock, etc) - 코루틴으로 spring mvc에서 논블로킹 맛보기 - 페이상품권 E2E Test 적용기 - 청구서 레거시를 다루는 방법 
 / / 여기는 절대로 수정하지 마세요

Slide 25

Slide 25 text

- 마이크로 서비스 패턴 - 구글 엔지니어는 이렇게 일한다 - 코틀린을 다루는 기술 - Kotlin in Action - 도메인 주도 설계 - DDD Start - 프로젝트 성패를 결정짓는 데이터 모델링 이야기 - Neo4j로 시작하는 그래프 데이터베이스 스터디 그룹

Slide 26

Slide 26 text

업무의 확장

Slide 27

Slide 27 text

데이터 관점 페이상품권을 개발하면서 데이터를 기반으로 실험과 개선을 반복하는 기법인 
 그로스해킹을 실무에 도입했습니다. PM과 함께 지표에 대해 토의하고, 빠르게 대응할 수 있도록 제플린 대시보드를 개발했습니다.

Slide 28

Slide 28 text

아이디어 제안 아이디어 워크샵을 통해 신규 서비스, 개선 방향에 대 해 주기적으로 논의하는 자리가 있습니다. 전사적으로 아이디어를 제안할 수 있는 다양한 창구가 있습니다. - 아이디어 공모전 - 서비스에 대한 개선점 제안 - 벤치마킹 사례 공유 - 사내 CBT

Slide 29

Slide 29 text

E.O.D