728x90
반응형

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


주요 업무 분석

주요업무
- 데이터 흐름 및 파이프라인 설계, 개발 및 운영 자동화
- 데이터팀 내외 협업 및 테스트, 배포 프로세스 자동화
- 머신 러닝, 알고리즘 등을 활용한 데이터 기반 서비스 개발 및 운영
- Data Warehouse 개발 및 운영
- 실시간 데이터 처리 개발

주요 업무에 대해서 확인해보면 자세하게 어떤 업무를 한다기보다는 큰 틀로 구분해서 적어놓은 것처럼 보인다.

 

데이터 워크플로우와 파이프라인을 설계하고 개발하고 운영 자동화
이 부분은 데이터 엔지니어라면 기본적으로 해야하는 업무라고 생각한다.

 

데이터팀 내외 협업 및 테스트, 배포 프로세스 자동화
데이터는 다른 부서와의 협업이 중요하다고 생각한다. 결국에는 다른 부서에서 데이터를 활용하기 위해 필요한 부분이기도 해서
협업이 중요하다고 생각한다. 그리고 배포 프로세스의 자동화 예를 들어, 파이프라인에 적용되는 워크플로우의 소스를 변경하다고 했을 때 자동으로 적용될 수 있게 CI/CD 가 자동으로 이루어져야 한다. 이부분에 대해서도 자동화시키는 업무를 하고 있는 것으로 보인다.

 

머신 러닝, 알고리즘 등을 활용한 데이터 기반 서비스 개발 및 운영
이 부분에 대해서는 아는 내용이 많이 없어 잘 모르겠지만 아무래도 머신 러닝을 통해 데이터 기반의 서비스를 개발하고 운영하는 업무를 진행하고 있는 것으로 보인다. 아무래도 머신 러닝에 대한 파이선 라이브러리나 사용 경험이 많이 필요해보인다.

 

Data Warehouse  개발 및 운영
데이터 웨어하우스를 개발하고 운영하기 위해서는 현재 키즈노트에서 사용하고 있는 서비스에 맞는 데이터 플랫폼을 선정하고 그에 맞는 데이터 웨어하우스를 개발하고 운영해야할 것 같다.
당연히 이 부분에 대해서는 키즈노트에서 운영중인 데이터 웨어하우스가 있을 것 같다.
예를 들어, AWS EMR 환경에서 하둡을 사용하거나 GCP BigQuery 를 통해 데이터 웨어하우스를 구축하지 않았을까 생각해본다.
그리고 서비스 데이터를 어떻게 웨어하우스에 적재하고 가공해서 어떻게 사용할 것 인지에 대한 개발이 필요하고 문제 없이 수행되도록 효율적인 운영이 필요할 것 같다.

 

실시간 데이터 처리 개발
이 부분에 대해서 생각나는 플랫폼은 당연히 데이터 스트리밍 플랫폼인 아파치 카프카가 떠오른다. 물론 GCP PUB/SUB 을 사용할 수도 있고 다른 플랫폼을 사용할 수도 있다. 키즈노트에서는 어떤 플랫폼을 사용해서 실시간 데이터를 처리하는지가 궁금하다.

 

자격 요건 확인

자격요건
- 최소 하나 이상의 프로그래밍 언어에 능숙한 분
- 데이터 엔지니어링 및 인프라 개발/운영 경력이 2년 이상이거나 이에 준하는 실력을 가지신 분
- 클라우드 환경에서 데이터를 수집/가공/저장하는 파이프 라인 설계/개발이 가능한 분
- CS 전공자 또는 그에 상응하는 알고리즘, 데이터구조, OS, 데이터베이스 등 기본적인 전산 지식에 대한 이해를 갖추신 분
- 데이터 처리를 위한 SQL 및 프로그램 능력이 있으신 분
- 데이터 가공 및 분산처리 플랫폼에 대한 이해가 있으신 분

자격 요건으로는 하나 이상의 프로그래밍 언어에 능숙한 사람, 아무래도 파이썬과 같이 데이터와 관련된 언어를 사용할 줄 알면 좋을 것 같다. 그리고 2년 이상의 경험과 클라우드 환경에서의 데이터 플랫폼 사용 경험을 요구하고 있다.
그리고 기본적인 컴퓨터 지식에 대한 이해가 필요할 것 같고 SQL 문을 잘 다룰 줄 알면 좋을 것 같다.
마지막으로 데이터를 가공하고 분산처리 플랫폼을 사용해본 경험이 있으면 좋을 것으로 보인다.

 

중요한 부분이라고 생각되는 부분은 컴퓨터에 대한 기본적인 지식이 중요할 것 같고
데이터 처리에 대한 SQL 의 활용이나 데이터 플랫폼의 경험 유무에 따라 결과가 정해질 것 같다.

 

우대 사항 확인

우대사항
- 데이터 카탈로그 관리 경험
- 서버 개발 경험
- 오픈 소스 운영 경험
- 멀티 클라우드 및 교차 계정 경험
- 머신러닝 모델을 서비스에 적용한 경험이 있으신 분
- 대용량 및 실시간 데이터 분산 처리 시스템 개발에 참여한 경험을 갖고 계신 분
- 기초적인 확률, 통계에 대한 지식이 있으신 분
- 분산 환경에서 대용량 데이터 처리/실시간 데이터 처리 경험이 있으신 분
- 확장성 및 신뢰성 중심의 아키텍쳐를 설계할 수 있는 분

우대 사항으로는 다음과 같다. 내가 아는 부분에 대해서만 생각을 적어봐야겠다.

 

데이터 카탈로그 관리 경험...? 데이터 카탈로그하니까 생각나는 건 AWS Glue 가 생각난다. DB 를 연결해서 메타데이터를 가져와 저장하고 메타데이터를 통해 데이터를 가져와서 ETL 작업을 거쳐 Target DB 에 저장하는 기능을 한다.
데이터 카탈로그에 대한 이해가 필요할 것 같다.

 

멀티 클라우드 및 교차 계정 경험
멀티 클라우드라고 하면 AWS 와 GCP 와 같이 여러 클라우드 플랫폼을 같이 사용하는 경우를 말하는 걸까?
여러 클라우드를 사용하게 되면 아무래도 비슷한 서비스라고 하더라도 구조와 용도가 다르기 때문에 각 클라우스 서비스에 대한 이해와 경험이 필요할 것 같다.

 

그리고 다른 부분들을 살펴보면 개발에 대한 이해과 경험이 필요할 것 같고 머신 러닝과 같이 빅데이터 처리에 대한 이해가 있으면 좋을 것 같다고 생각한다.

 

키즈노트가 원하는 데이터 엔지니어

키즈노트에서는 기본적으로 데이터 플랫폼이나 파이프라인에 대한 구축 경험이 필요할 것 같고 뿐만 아니라 머신 러닝과 같이 빅데이터 처리에 대한 경험을 원하고 있는 것 같다. 기본적으로 자격 요건을 보면 알 수 있듯이 CS 기본 지식과 데이터 처리나 플랫폼에 대한 이해를 하고 있는 엔지니어를 원하고 있는 것처럼 보였다.

 

세세한 업무에 대해 적혀있지 않아 어떤 기술들을 사용하고 그리고 어떻게 업무를 진행하는지에 대해서 적혀있지 않지만 크게 어떤 업무를 하는지에 대해서는 파악이 가능했던 것 같다.

 

마지막으로, 다른 기업들의 데이터 엔지니어의 업무에서 다른 점은 찾아보기 어렵기도 했고 머신 러닝에 대한 이해가 있고 관심이 있는 분야라고 생각된다면 데이터 엔지니어로서 많은 경험을 해볼 수 있지 않을까 생각한다.

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