Home
🔨

Data Engineer

포지션 소개 및 주요 업무

Data Engineer
KCD의 데이터 엔지니어는 크게 아래 역할들을 수행합니다
1.
데이터 확보: 서비스 사용자의 문제 해결에 도움이 되는 데이터들을 효과적이고 안정적으로 확보 합니다. 사용자가 많아져도 안정적인 서비스가 가능해야 하기에 scalable한 분산 시스템 개발에 집중하고 있고, 필요한 데이터 소스들이 추가 되었을 때도 최소한의 리소스만으로 자동화하여 데이터를 확보 할 수 있는 프레임워크 개발/운영에 집중하고 있습니다.
2.
데이터 관리/가공: 확보된 데이터들을 가공/정제 하고, 비즈니스 로직들을 적용하여 서비스에 필요한 형태의 데이터를 만듭니다. 전체 데이터 파이프라인을 누가봐도 쉽게 따라갈 수 있도록 하기 위해 코딩보다는 Spark SQL을 활용한 데이터 처리를 선호하고, 각 로직들을 어떤 runtime에서던지 쉽게 테스트 해볼수 있는 형태로 개발하는걸 중요하게 생각 합니다.
3.
데이터 API제공: 정제된 데이터들을 서비스에 API형태로 제공합니다. KCD 데이터 레이크 안에 존재하는 데이터를 일반화된 형태(Property Graph Model)로 추상화 하여 서비스에서 기능 개발 시 복잡한 비즈니스 로직을 중복해서 개발하지 않도록 API를 제공하는 걸 중요하게 생각합니다. 단순히 API를 제공하는 거로 그치지 않고, 다양한 비즈니스 로직들을 테스트 할 수 있는 A/B 테스트 환경을 제공하는 것도 중요하게 생각합니다.
단순히 서비스에 필요한 일을 하는 조직이 아니라, 위의 역할들을 수행하면서 만든 플랫폼을 활용하여 신규서비스(ex: 사업자를 위한 마켓플레이스, 마케팅 솔루션)등을 만드는 역할들도 참여 합니다.

필수역량

지식
컴퓨터 공학기반 지식이 있는분
네트워크
데이터베이스
자료구조
알고리즘
운영체제
기술 및 경험
대용량 데이터 처리 개발 경력 3년이상
분산 시스템을 설계, 운영하는 능력
데이터 스토리지에 대한 높은 이해 (ex: RDBMS, NoSQL)

우대사항

기술 및 경험
Hadoop Eco System을 활용한 개발/운영 경험
데이터와 딥러닝/머신러닝을 활용하여 실제 유의미한 비즈니스 성과를 만들어 본 경험

주로 협업할 멤버 소개

CTO 윤도영(Shon)
"KCD에서 CTO를 맡고 있는 윤도영입니다. KCD합류전에는 네이버/카카오에서 전사 데이터를 수집하고, 연결/가공하여 광고/추천/검색등의 다양한 서비스에 활용 될 수 있는 API를 제공하는 업무들을 담당해 왔습니다. KCD가 가지고 있는 오프라인 결제 데이터는 사용자들의 특성을 가장 잘 나타낼수 있는 데이터 라는 것이 가장 매력적이였고, 사용자들의 성향을 잘 나타낼 수 있는 데이터들을 중심으로 다양한 이해관계자들이 함께 사용할 수 있는 데이터 플랫폼을 만들어 보는 것이 개인적으로나 KCD의 입장에서나 의미 있는 도전이라는 생각에 KCD에 합류하게 되었습니다. 저에 대한 자세한 경력은 링크드인에서 확인 가능합니다."

엔지니어링 팀에서 해결해야할 문제

기존에는 ruby on rails 기반의 monolithic 서비스 로 구성이 되어있었고, PostgreSQL를 AWS RDS에서 사용하고 있었습니다.
60억건이 넘는 결제 데이터를 저장하기에 RDS 가 한계에 가까워 지고 있어서, 이를 저장할 별도의 스토리지를 구성하여 이관하는 작업을 진행 중입니다.
별도의 스토리지로는 기존 회사에서 오픈소스로 개발했던 Apache S2Graph를 AWS EMR위의 S3기반 HBase에 올려서 활용하고 있습니다.
매일 매일 자금관련 리포트를 60만명 넘는 사용자들에게 메세지를 보내고 있고, 기존 ruby on rails와 sidekiq기반으로 메세지를 발송하고 있었습니다.
발송부분을 따로 띄어내어 Apache Spark과 AWS Kinesis, Lambda 기반의 메세지 시스템을 구축 하고 있습니다.
60만 이상의 사용자들에게 돈을 내고서라도 꼭 사용하고 싶은 가치를 프로덕의 기능으로 제공하기 위해서 다양한 분야의 신규 프로덕트 개발을 합니다.
재무관리: 현금흐름을 관리하고, 실제 자금을 캐시노트를 통해 쉽게 관리 할 수 있게 하여 사용자의 시간을 단축 시켜주고, 편의를 증대 시키는 고민을 합니다.
회계관리: 캐시노트를 통해 쉽게 매출관리/비용관리/이익관리를 해볼수 있게 하여 전반적인 경영현황을 파악할 수 있게 도와주는 고민을 합니다.
세무관리: 복잡하고 어려운 세무신고를 사용자가 직접 쉽게 할 수 있도록 도와주는 고민을 합니다.
고객관리: 캐시노트를 통해 사업자가 고객의 재방문을 유도하고 로열티를 관리 할 수 있도록 도와주는 고민을 합니다.
주문관리: 캐시노트 포스관리자를 통해 포스의 데이터를 분석하여 주문에 대한 분석으로 현황을 파악 할 수 있도록 도와주는 고민을 합니다.
마켓플레이스: B2B 공급자가 사업자들에게 물건/재화/서비스를 제공해 줄 수 있는 마켓을 구축하여 사용자들이 좋은 상품을 제공 받을 수 있도록 도와주는 고민을 합니다.
위의 모든 비즈니스/프로덕의 고민들을 이해하고, 이를 가장 효과적으로 해결 하기 위한 엔지니어링 컴포넌트를 구성하고, 개발/운영 합니다.

사용하는 기술

Ruby on rails, Spring Framework + Kotlin, Scala(http4s), PostgreSQL
Jenkins, Git, Docker, Amazon ECS, Terraform
Spark, Kinesis, Elastic, Redis, HBase

인재영입 과정

생년월일, 주소, 사진 등 업무와 관계없는 내용은 생략하고, 어떤 경험을 해오셨는지 알 수 있는 경력 위주로 작성된 지원서 (이력서 및 포트폴리오/링크)를 이메일로 join@kcd.co.kr 보내주세요
노션페이지를 지원경로로 말씀해주시면 더 좋아요!
지원자분과 KCD 관계 사이에서 서로를 알아가는 시간인 캐주얼 톡을 진행해요
KCD의 모든 영입건은 작은 프로젝트 절차를 포함하고 있답니다
이후 해당 프로젝트 구현 결과를 중심으로 해당 팀과 함께 기술 면접을 진행해요
마지막으로, 회사 구성원 모두와 상호 이해를 높일 수 있는 팀 면접과 CEO 면접을 진행해요

KCD의 인재영입 프로세스는 왜 긴가요?

KCD의 인재영입 원칙 1. 진짜 필요하지 않으면 안 뽑는다 2. 회사가 당면한 문제를 해결할 능력을 갖춘 인재만 뽑는다
KCD 엔지니어링팀 대한 더 자세한 내용은 아래 기사를 참고해주세요!

사외추천 제도

딱 맞을 것 같은 사람을 알고 계시다고요? 소개하신 분이 입사할 때마다 추천해주신 분에게 600만 원의 사례금을 드리고 있습니다. 떠오르는 분이 있다면 지금 한국신용데이터를 소개해주세요!