오늘의집 개발팀의 ‘Engineering Awards’🎉
오늘의집 개발팀의 첫 번째 Eng Awards
2022년 8월 11일 오늘의집

최근 오늘의집 개발팀은 기술 고도화에 기여한 개인이나 혹은 그룹에게 감사의 마음을 전하는 ‘Engineering Awards’를 시작했습니다. Engineering Awards는 프로덕트나 기술 측면에서 오늘의집 핵심가치인 ‘탁월함의 추구’를 가장 잘 실현한 동료에게 상을 수여하는 새 프로그램인데요. 오늘의집 첫 번째 Engineering Awards의 이야기를 공개합니다! 

🔎 Engineering Awards 

오늘의집 개발팀은 프로덕트의 탁월성을 위한 핵심 기능 개발, 장기 생산성 향상을 위한 기술 부채 제거, 시스템 성능 최적화 등과 관련된 업무의 중요도를 명확히 팀 내에 공유하고, 이를 탁월하게 수행한 동료들의 노력에 대해 감사를 표현하기 위해 ‘Engineering Awards’를 시작했습니다.    

Engineering Awards는 매 분기말에 후보자를 추천받는데요. 개인이나 그룹의 성과를 본인이 직접 추천하거나 리드가 추천할 수 있고, 추천서에는 아래 내용이 담겨 있어야 합니다. 

  • 대상자: 개인 혹은 그룹
  • 제목: 성과를 보인 업무 범위 
  • 내용: 성과 및 성과와 관련된 문서 링크 등의 세부 정보 (A4 용지 한 페이지 내외) 

이후 개발팀 리드가 모여 기술적 난이도, 임팩트 정도 등의 기준에 따라 후보자들을 평가합니다. 시상 받는 팀원의 숫자는 정해져 있지 않아 탁월함을 추구한 팀원이 많을수록 수상자 또한 많아지는데요. 주어진 업무 이상의 퍼포먼스를 내는 동료들을 팀 차원에서 적극 응원하는 마음으로 수여자에게는 Spot Bonus💰를 드립니다! 

* Spot Bonus란? 동료의 도움이나 기여에 감사를 전하며 보너스를 지급하는 오늘의집 제도


🏆 첫 번째 Eng Awards 수상자

대망의 오늘의집 첫 Eng Awards의 수상자는 총 세 분이었습니다. 수상한 팀원들은 어떤 업무를 수행했을까요? 세 분이 해결한 문제와 방법을 짧게 공유합니다. 

Ion 님 - 상품 광고 및 정산 시스템 설계 및 구현  

문제)

  • 개발 일정이 촉박한 상품 광고 프로젝트 초반, 빠르게 비즈니스 요구사항을 이해하고 분석하여 최적화 제안 및 구현 필요

해결)

  • 광고 정산 시스템의 Data Integrity를 위하여 Kafka state store를 활용, 이를 통해 Idempotence를 보장하여 오과금 (중복 과금, 과금 누락 등)을 미연에 방지
  • Transaction을 제공하는 Kafka Stream을 도입하여 단순화된 시스템 디자인을 통해 안정적인 정산 서비스 제공 
  • 데이터 파이프라인 및 정산 시스템의 MVP Requirements를 4월 초 공식 런칭 기간 내에 구현하여 광고 사업을 통한 신규 매출에 기여


Dori 님 - 커머스 플랫폼 오류 탐지를 통한 안정성 향상 

문제)

  • 결제는 매우 크리티컬하지만 모니터링이나 Alert의 부재로 안정적인 서비스 유지보수가 어려운 상황
  • CS를 통해 확인하거나 2~3일 뒤에 문제를 확인하는 경우 다수

해결) 

  • 레거시 Ruby 코드에 Datadog의 에러 탐지가 가능하도록 공통 코드 추가 및 신규 Kotlin 코드에 service entry span에서 정확한 에러 확인이 가능하도록 Logger 개선
  • Metric 및 Anomaly Detection을 통한 모니터링 등록을 통해 오류 사전 감지 가능
  • 주문/결제 성공/실패 현황을 확인 할 수 있는 대시보드 추가
  • 팀내 Alert 생성 원칙 가이드라인 정리 등을 통해 팀내 발생 에러들을 바로 확인 할 수 있는 기반 확보
  • 배포 후 크리티컬한 오류(특히 주문,결제) 즉각 탐지 가능 (with Datadog)


Bennett 님 - 01. Spring-security를 사용한 인증/인가 모듈 개발을 통한 생산성 향상

문제)

  • 각각의 도메인에서 JWT 토큰을 파싱하여 인증/인가를 처리하는 코드를 따로 작성

해결) 

  • 코드 한줄(annotation)로 Admin API 호출에 대한 인증/인가 처리 가능
  • User(구매자)가 호출할 수 있는 API와 Partners(판매자)가 호출할 수 있는 API를 구분하여 인증 처리를 하는 등 각기 다른 도메인에서 처리해야 했던 부분의 사용 통일, 미래 생산성 향상

02. Legacy 시스템 개선을 통한 Open-API 성능 개선

문제)

  • 외부 3p 중개업체에 제공하는 Open-API가 성능 이슈 및 잠재적 장애 이슈 장기 방치

해결) 

  • 3/28 주문 조회 API 수정을 통해 10배의 성능 개선
  • 하루 200~300건 timeout 오류가 0건으로 개선

03. Ruby의 매직 복호화 로직의 Kotlin 구현

문제)

  • 기존 레거시의 Ruby의 attr_encrypted 라이브러리 내부에서 자체적으로 처리하던 복호화 로직을 다른 언어에서 구현할 수 없어서 레거시 코드 이관이 불가능

해결) 

  • 직접 Ruby 라이브러리를 분석해서 Kotlin에서 사용할 수 있도록 구현


오늘의집 개발팀은 성능 및 비용의 최적화, 기술 부채 줄이기처럼 당장 눈 앞의 실무에 집중하느라 놓칠 수 있는 부분을 중요하게 생각하고, 이를 고도화하는 팀원들을 적극적으로 지원할 수 있도록 여러 프로그램과 환경을 만들어 가고 있는데요. 이러한 문화가 지속될 수 있도록 Eng Awards 또한 계속됩니다! 

오늘의집에서 당신을 찾고 있습니다!
Engineering Manager, ApplicationsSenior Technical Program ManagerSenior Software Engineer, BackendSoftware Engineer, BackendSenior Software Engineer, FrontendSoftware Engineer, FrontendSenior Software Engineer, AndroidSoftware Engineer, AndroidSenior Software Engineer, Machine LearningSoftware Engineer, Machine LearningSenior Software Engineer, Machine Learning, Extended RealitySenior Software Engineer, Vision ML
목록으로 돌아가기