미리보기
기본 정보
매일 몇 번씩 배포를 하더라도 부담이 없는 프로젝트 구축을 위해 배포 자동화와 테스트 코드 작성을 중요하게 생각합니다. 이를 위해 수천 개의 테스트를 수행될 수 있는 환경과 테스트 코드 가독성을 위한 문맥 기반 테스트 코드 작성 했습니다. 신규 서비스 구축 및 레거시 개편 경험을 가지고 있습니다. 쏘카 내에서 기존 서비스 유지보수와 더불어 신규 서비스(쏘카 쇼퍼) 프로젝트에 참여 및 프로젝트 전담(쏘카 FMS) 경험을 가지고 있습니다. 팀 업무에 더하여 전사에 도움이 될 수 있는 통합 마스킹 라이브러리 구현하고, testcontainers를 활용한 통합 테스트 환경 구축 경험을 공유 했습니다. 시스템화 되지 않은 수기 업무를 파악하고, 우선순위에 따라 내재화될 수 있도록 하여 팀이 업무 시간에 몰입할 수 있는 시간을 확보합니다.
경력
주식회사쏘카
매니저 | B2B엔지니어링팀 | 재직 중
2022.09. ~ 재직 중 (2년 8개월)
카셰어링 서비스를 제공하는 쏘카는 1000만명의 회원을 대상으로 3만대의 차량을 운영하고 있습니다. B2B엔지니어링팀에 속하여 다음과 같은 업무를 진행했습니다.
쏘카 앱 내에서 법인 차량이 예약 서비스 구현
쏘카 비즈니스 인증 체계 개편
쏘카의 차량을 활용한 임직원 출퇴근 서비스 구현
서비스 관리를 위한 B2B 백오피스 구현
프로젝트
법인 차량 예약 서비스
쏘카
2024.03. ~ 진행 중
개요
법인 차량이 최초로 쏘카 세상에 편입되어 예약이 가능하도록 합니다.
주요 업무 및 성과
마이그레이션 검증: (구) 예약 데이터의 CDC 이벤트를 기반으로 개선 된 예약 API를 호출하고, 주기적으로 배치를 실행하여 (구) 예약과 (신) 예약 내역을 검증하여 문제가 있는지 확인했습니다.
예약 테이블 모델링: 법인 차량 예약은 기존 쏘카의 예약과 다른 부분이 있어 이를 반영한 예약 테이블을 설계했습니다.
배터리 방전/방전 위험 알림: 법인 차량의 배터리 상태를 확인하여 방전, 방전 위험 상태의 차량에 대해 알림톡을 전송했습니다.
RFC 문서 작성: 예약 테이블 모델링, 캐시 전략, 예약 동시성 제어를 주제로 RFC 문서를 작성하여 본부레벨에서 승인을 받았습니다.
관련 기사
비즈니스 인증 체계 개편
쏘카
2024.05. ~ 2024.07.
개요
기존 3가지의 인증 체계를 혼용하여 사용하던 것을 하나의 인증 체계로 합치고, 1명의 관리자가 여러 기업의 관리자가 될 수 있도록 개편합니다.
주요 업무 및 성과
JWK 컨셉 도입: JWK과 더불어 S3, Cloud Front를 사용하여 public key 조회 및 관리 권한을 분리했습니다.
해싱 알고리즘 변경: 기존 HMAC 형식의 해싱 알고리즘을 SHA256으로 변경했습니다.
인증 정보 개선: 관리자 1명은 하나의 기업 관리자만 가능했던 한계를 여러 기업의 관리자가 될 수 있도록 극복했습니다.
API 이관: 관리자 웹 사이트에서 3개의 인증 체계를 가지고 있던 것을 개편된 인증 체계를 사용하도록 API 이관을 진행했습니다.
쇼퍼 정산 자동화
쏘카
2023.11. ~ 2024.02.
프로젝트 개요
쇼퍼 서비스 운영 과정에서 수기로 처리하던 정산 업무를 자동화하여 업무 효율을 크게 향상시킵니다.
주요 업무 및 성과
정산 업무 자동화: 청구서/정산서 자동 생성, SAP에 자산 등록 자동화, ERP 채권 등록 자동화를 진행했습니다.
일지 생성 및 단가 반영: 일 단위 단가 정보, 이동 정류장, 탑승/하차 인원을 기입하는 운행 일지를 생성하여 일 단위 정산이 가능하도록 구현했습니다.
업무 효율 향상: 정산서 생성과 차량 별 과금 데이터를 자동으로 생성하여 기존 수기 정산 업무 대비 14시간의 시간을 단축했습니다.
쇼퍼(=기사 포함 렌트카)
쏘카
2023.04. ~ 2024.02.
개요
쏘카 차량을 이용하여 임직원 출/퇴근을 지원하는 서비스 쇼퍼를 구축했습니다. 노선, 정류장, 지점, 차량 등을 관리할 수 있도록 테이블 모델링을 진행합니다.
주요 업무 및 성과
RFC 문서 작성 및 부하 테스트: 쏘카 내 새로운 서비스를 구축하는 것으로 시나리오 기반의 부하 테스트를 진행하고 이를 기반으로 모니터링 지표를 산출했습니다.
시나리오 1: 인증 API 부하 테스트를 통해 시스템의 안정성과 처리 능력 검증(=CPU 사용량 측정)
시나리오 2: 인증을 제외한 모든 API의 랜덤 호출 테스트로 실제 사용 환경을 시뮬레이션하고 성능(=메모리 사용량 측정)
시스템 전체 테이블 모델링: 시스템 전반에 걸친 테이블 모델링을 수행하고, PM을 포함한 팀 내에서 발표를 진행했습니다.
관련 링크
쏘카 출퇴근 자주 하는 질문
쏘카 출퇴근 탑승 이용 안내
B2B 백오피스 구축
쏘카
2022.11. ~ 2023.02.
개요
기존 PHP 기반 백오피스 시스템의 비대화로 인해 디커미션이 선언됨에 따라, 팀별로 새로운 백오피스를 구축하게 되었 습니다. 이에 따라, B2B 도메인의 다양한 요구 사항을 효율적으로 처리하고 수기 업무를 자동화하기 위한 백오피스를 구축합니다.
주요 업무 및 성과
코드 퀄리티 유지: sonarqube를 사용하여 PR 생성 단계에서 브랜치 커버리지 60%, 테스트 커버리지 80%가 넘지 않으면 merge 할 수 없도록 구현했습니다.
통합 테스트 환경 구축: 업데이트가 잘 일어나지 않는 임베디드 라이브러리로 통합 테스트를 진행하던 것을 도커 이미지 기반으로 테스트 될 수 있도록 테스트 컨테이너를 도입했습니다.
프론트엔드 구축: React, Typescript, PrimeReact를 사용하여 백오피스 프론트엔드를 구축했습니다.
포트폴리오
기술 스택
Kotlin, Spring Boot, Java, MySQL, TypeScript, JUnit, AWS
대외활동
실용주의 프로그래머
기타
2024
배경
코드만 잘 작성한다고 좋은 개발자가 될 수 있다고 생각하지 않습니다. 코드는 물론 협업, 마음가짐 등을 어떻게 해야 좋은 개발자로 인정 받을 수 있는지에 대한 고민하던 끝에 실용주의 프로그래머에 대해 학습했습니다.
결과
좋은 협업이란 내가 지금 무엇을 하고 있는지 다른 사람이 알고, 다른 사람이 무엇을 하고 있는지 내가 잘 아는 것을 말한다는 것을 알았습니다.
데일리 스탠드업, 데모, 회고&플래닝은 모두 이를 잘 동작하기 위한 도구에 불과하다는 것을 깨달았습니다.
좋은 개발이란 git blame을 통해 알아낸 나의 이름을 보고 동료 개발자들이 이 코드는 튼튼하고, 잘 작성되어 있을 뿐 아니라 문서화, 테스트가 잘 되어있을 것이라는 기대감을 주는 것이라고 생각합니다.
도메인 주도 설계
기타
2024
배경
2년 간 spring boot를 사용하여 개발을 하다보니, 서비스 레이어가 마치 트랜잭션 스크립트 처럼 비즈니스 로직을 나열하듯이 코드를 작성했습니다. 이런 부분을 어떻게 하면 개선할 수 있을지 고민하던 끝에 도메인 주도 설계에 대해 학습했습니다.
결과
학습한 내용을 팀에 문서로 공유를 하는 것과 도메인 주도 설계를 도입한 프로토타입을 구현하여 팀에 데모를 진행하는 것으로 팀을 설득하여 "도메인 서비스"를 도입할 수 있도록 설득했습니다.
오픈소스 기여 (옵시디언)
기타
2023
배경
티스토리에 개발 블로그를 올리고 있었는데 글을 옵시디언을 통해서 작성했습니다. 그러다보니 매번 옵시디언에서 글을 작성하고, 티스토리에 가서 글을 개시하는 것에 작업을 반복하고 있었고, 이를 반복하지 않는 방법을 모색하다 커뮤니티 플러그인을 구현했습니다.
결과
티스트리에 글을 올릴 수 있는 플러그인을 만들어서 커뮤니티 버전으로 올렸습니다.
교육
상명대학교
대학교(학사) | 정보통신공학과(학사)
2017.03. ~ 2023.02. | 졸업
상명대학교
대학교(학사) | 소프트웨어학과(학사)
2017.03. ~ 2023.02. | 졸업
상명대학교
대학교(학사) | 사진영상콘텐츠학과(부전공)
2017.03. ~ 2023.02. | 졸업
명덕고등학교
고등학교 | 입문계
2014.03. ~ 2017.02. | 졸업
자격증
데이터분석 준전문가(ADSP)
한국데이터산업진흥원
2021.05.