728x90
반응형

글을 적기에 앞 서,
이 글은 저의 생각에 대해 정리한 글입니다. 
언제든지 피드백해주시면 감사합니다 😆


티빙(TVING) 에서는 어떤 데이터 엔지니어를 원할까?

 

주요 업무 분석

 

우선, 주요 업무를 확인해봤다.

주요업무
- 데이터 기반 의사 결정을 위한 기반 마련
- 데이터 파이프라인 및 웨어하우스 구축
- 데이터 마트 구성 및 분석가 지원
- ElasticSearch 기반의 검색 시스템 개발
- 다양한 소스의 데이터 적재 및 가공
- 데이터 마트 기획 및 구축, 운영
- 검색 모델 개선 및 품질 향상
- 자동 완성, 인기 검색어, 연관 검색어 개발
- 추천 시스템과 연동한 시스템 개발

업무가 엄청 많아 보인다 하나씩 뜯어가며 생각해보자!

 

1. 데이터 기반 의사 결정을 위한 기반 마련 / 데이터 파이프라인 및 웨어하우스 구축 / 데이터 마트 구성 및 분석가 지원

3개의 업무가 하나의 업무라는 생각이 들었다.

 

서비스를 운영하면서 저장되는 데이터를 통해 의사 결정을 하기 위해서는 데이터를 가공하고 가공된 데이터를 저장하는 기반이 필요하다.
이 기반은 데이터 파이프라인과 데이터 웨어하우스 구축을 통해 만들어진다.
파이프라인을 통해 데이터를 가공해서 데이터 웨어하우스에 저장한다.
이렇게 저장된 데이터를 비즈니스에 반영하기 쉽도록 다시 데이터 마트를 구축해 저장한다.
그럼 데이터 분석가들이 데이터 마트에 있는 데이터를 통해 분석하고 분석된 내용을 통해 비즈니스에서 사용하게 된다.

 

데이터 엔지니어는 이러한 과정을 이해하고 있어야 하고
언제든지 데이터를 통해 비즈니스에 필요한 데이터를 만들 수 있는 기반을 만들어주는 업무를 하게 된다.

 

2. ElasticSearch 기반의 검색 시스템 개발

우리가 흔히 아는 검색 시스템에 대해서 알아야 한다고 생각한다.
검색이라고 하면 많은 데이터에서 원하는 데이터를 가져와서 보여주게 된다.

 

검색 시스템에서 중요하게 생각해야할 점은 무엇일까? 아마 속도가 아닐까 생각한다.
얼마나 빠르게 검색해서 보여주는지가 가장 큰 목적이다.

 

그래서 데이터베이스의 데이터를 보다 빠르게 가져와 보여주기 위해서 ElasticSearch 를 사용한다고 알고 있다.
ElastciSearch 에 대한 이해가 많이 부족하기 때문에 공부가 필요할 것 같다.

 

3. 다양한 소스의 데이터 적재 및 가공

다양한 소스라고 하면 어떤 것을 말하는 걸까...
데이터의 형태? 비정형 데이터, 반정형 데이터, 정형 데이터 이런 데이터의 형태를 말하는 걸까?

 

서비스에서 운영되는 데이터를 가져오는 데 있어 오로지 RDBMS 를 통해서만 저장되지는 않을 거라고 생각한다.
당연히 json, nosql 등 다양한 형태로 데이터가 저장될 것이고 이런 데이터를 가져와 적재해서 가공이 필요하다.
정말 편하게 쿼리만 실행해서 데이터를 가져오면 좋겠지만
GCP Datastore 만 보더라도 nosql 이라서 따로 스키마를 만들어서 다시 저장해서 사용한 적도 있기 때문에
다양한 소스의 데이터를 어떻게 가져와서 적재하고 가공할지에 대해서도 알고 있어야 한다.

 

4. 데이터 마트 기획 및 구축 운영

적재해서 가공된 데이터를 다시 비즈니스에 필요한 데이터를 따로 저장하게 되는데
이 데이터는 데이터 마트에 저장하게 된다. 데이터 마트를 통해 데이터를 시각화하거나 통계를 내 비즈니스에서 사용하게 된다.

 

아무래도 데이터 마트를 기획하고 구축하기 위해서는 어떤 데이터가 어떻게 사용할 수 있고 사용되는지에 대한 이해가 필요할 것 같다.

 

5. 검색 모델 개선 및 품질 향상

검색 모델을 개선한다는 것은 검색에 사용되는 데이터들을 가져오기 쉽게 인덱스를 만든다거나
데이터를 가져오는 과정에서 불필요한 과정을 줄여서 검색 속도를 높이는 업무를 하는 것 같다.

 

이 부분에 대해서는 이해가 많이 부족해 찾아봐야겠다.

 

6. 자동 완성, 인기 검색어, 연관 검색어 개발 / 추천 시스템과 연동한 시스템 개발

이 부분에 대해서도 마찬가지로 이해가 많이 부족해 찾아봐야겠다.

 

 

자격 요건 확인

자격요건
- 4년 이상의 실무 경험 또는 그에 상응하는 역량을 보유하신 분
- AWS 클라우드 서비스내 구현 및 운영 경험을 보유하신 분
- 데이터 분석가 및 전사를 위한 요구사항 수립, 다양한 이해 관계자와의 조율 가능한 커뮤니케이션 능력을 보유하신 분
- Python 또는 JVM 언어 중 하나 이상의 언어로의 능숙한 개발 능력을 보유하신 분
- SQL을 통한 데이터 처리에 능하신 분
- ElasticSearch 에 대한 이해 및 서비스 구성 경험을 보유하신 분
- 우수한 문서 커뮤니케이션 능력을 보유하신 분
- 강한 자율성과 책임감, 리더쉽을 보유하신 분
- 함께 성장하고 배우는 것에 가치를 두는 자세를 보유하신 분

 

자격 요건으로는 주요 업무를 봤을 때 느꼈던 것이지만 절대 신입이 할 수 없는 업무라는 것과 많은 경험이 필요한 것을 느꼈다.

 

AWS 클라우드 서비스 내에서 데이터 플랫폼, 웨어하우스를 구축해서 사용해 운영을 한다.
예를 들어, 하둡 에코 시스템을 사용하려면 RedShift 또는 EMR 을 통해 하둡 시스템을 구축해서 사용하고 RDS 에 데이터를 저장하고 Glue 를 통해 ETL 작업을 하는 등 클라우드 서비스에 대해서도 잘 알 고 있어야 한다.

 

데이터와 관련된 업무를 하기 위해서는 당연히 데이터 관점에서 보는 연습이 많이 필요하다고 생각하고
여러 분야와 맞물려있는 업무이기 때문에 다양한 부서와의 의사소통도 잘 해야한다.

 

기본적으로 데이터 업무에서는 Python 언어를 정말 많이 사용하게 된다.

 

SQL 에 대해서는 기본적으로 알고 있어야 한다.

 

ElasticSearch 사용 경험에 대해서도 요구를 하고 있는데 나도 한번 사용해봐야할 것 같다.

 

나머지는 기본적인 부분들인 것 같다!

 

우대 사항 확인

우대사항
- K8S 활용 서비스 구현 및 운영 경험을 보유하신 분
- ElasticSearch 활용 검색 서비스 구현 및 운영 경험을 보유하신 분
- Airflow 활용 및 운영 경험을 보유하신 분
- Redshift 이해 및 활용 경험을 보유하신 분
- 높은 비즈니스 이해도를 통한 분석가와의 협업 경험을 보유하신 분
- 대용량 트래픽의 빅데이터 설계 및 개발 경험을 보유하신 분
- 실시간 및 배치 로그 데이터 처리 경험을 보유하신 분

우대 사항이기 때문에 몰라도 괜찮지만 알고 있으면 팀에서 많은 도움이 될 수 있는 부분으로 보인다.

 

하나씩 확인해보니 k8s, ElasticSearch, Airflow, Redshift 등의 이해를 필요로 하는 것 같다.
주로 데이터 엔지니어 업무를 하게 되면서 많이 사용하는 서비스들이라고 생각되고 중요한 부분이라고 볼 수 있을 것 같다.

 

데이터 업무를 하다보면 각 서비스마다 중요한 데이터가 무엇인지에 대해서 알고 있어야 한다.
그래야 어떤 데이터가 중요하고 어떤 데이터가 어떻게 연관되어있고 어떻게 사용되는 지에 대한 이해가 쉽다.
그래서 높은 비즈니스 이해도를 필요로 하는 것 같다.

 

실시간 및 배치 로그 데이터 처리 경험을 우대하고 있는데
각 서비스마다 실시간 데이터를 사용하는 서비스가 있고 배치 데이터를 사용하는 서비스가 있다.

 

기술 스택 및 툴

기술스택 ・ 툴

MongoDB
VueJS
CSS
HTML
JavaScript
TypeScript
NoSQL
Shell Scripting
RDBMS
React.js
ES6
 

기본적으로 팀 내에서 사용하고 있는 기술과 툴을 적어놓았다.

데이터 베이스 -> MongoDB, NoSQL, RDBMS

개발 -> HTML, CSS, JavaScript, TypeScript, VueJS, React.js

스크립트 -> Shell Scripting

검색 -> ES6

 

사용하고 있는 기술과 스택을 보니
기본적으로 MongoDB, NoSQL, RDBMS 를 통해 데이터를 저장하고 가공해서 사용하고 있는 것 같다.
그리고 웹 개발과 관련된 언어와 기술들을 사용하고 있는 것 같다. 자체적으로 툴을 개발해서 사용하는 것 아닐까 생각해본다.
그리고 터미널 내에서 쉘 스크립트를 통해 작업을 수행하는 것 같고 검색 시스템으로 ElasticSearch 를 사용하고 있다는 것

 

티빙이 원하는 데이터 엔지니어

주요 업무와 자격 요건, 우대 사항들을 확인해봤을 때 티빙에서 원하는 데이터 엔지니어는

 

서비스의 원시 데이터를 가져와 가공하고 적재할 수 있도록
AWS 클라우드 기반의 데이터 플랫폼을 구축하고 운영할 수 있어야 한다.
k8s 를 통해 서비스를 운영하고 있고 RedShift 를 통해 데이터 웨어하우스를 구축하고 운영할 수 있어야 하고
Airflow 를 통해 워크플로우를 만들고 운영할 수 있어야 한다.
그리고 검색 시스템으로 ElasticSearch 를 통해 검색 서비스를 개발하고 개선할 수 있어야 한다.

 

기본적으로 이정도는 할 줄 알아야 하지 않을까 생각한다. 괜히 4년 이상의 경력을 원하는 게 아닐까 생각이 든다.

 

 

마지막으로!

아직 내 이해와 경험이 부족하다보니 분석하는데 많은 한계를 느꼈다.

솔직하게 직접가서 업무를 해보지 않는 이상 자세하게 알 수 없지만
그래도 어느 정도 어떤 업무를 하게 될지 감은 잡히는 것 같다.

 

728x90
반응형
복사했습니다!