728x90
반응형

데이터 엔지니어가 되기 위해 준비하고 있는 과정에서 데이터 엔지니어에 대해서 이해가 부족하다고 생각되어 정리해보는 시간을 가졌다.
데이터 엔지니어가 하는 업무에 대해서 분석해서 정리하고 있지만 데이터 엔지니어가 어떤 직무이고 어떤 업무를 해야하는지 이해가 많이 부족하다는 생각이 들었고 조금 더 시간이 필요하다고 생각했다. 그래서 여러 블로그를 통해 이해한 내용에 대해서 정리해봤다.

 

최근 면접을 통해 데이터 엔지니어의 관점에서 어떤 질문을 해야하는지에 대해서 혼란스러웠던 경험이 있다.
그 때 나는 내가 데이터 엔지니어라는 직무에 대해서 아직 이해가 부족하구나 하는 생각이 들었다.
데이터 엔지니어는 어떤 업무를 하고 있고 어떤 관점에서 업무를 하는 걸까?

 

데이터 엔지니어 (Data Engineer)

이전에는 필요한 데이터를 가져와 사용하고 나머지 데이터들은 버려졌다고 한다. 버려진 데이터의 데이터량은 많았고 저장 비용이 증가하고 가치는 떨어졌다. 이후 버려진 데이터의 가치가 증가하게 되면서 많은 데이터를 처리하기 위한 다른 접근이 필요해졌다. 이런 과정에서 데이터 엔지니어링과 데이터 사이언티스트, 데이터 분석가와 같은 직무가 생겨나게 되었다.

 

데이터 엔지니어는 데이터 엔지니어링만 하는게 아니라 데이터 분석도 할 줄 알아야하고 데이터 사이언티스트와의 업무와도 관련이 있기 때문에 어떤 업무만 한다고 정확하게 구분하기는 어렵다고 한다. 생각해보면 어떤 직무라도 어떤 업무만 하면된다고 정의된 직무가 없지 않을까?

각 기업에서 필요로 하는 데이터 엔지니어링 업무의 정의와 범위가 다르기 때문에 업무에 대해 구분지어 놓기보다는 상황에 따라 필요한 업무를 할 줄 알아야 한다. 물론 기본적으로 다룰줄 알아야하는 기술과 스킬은 같지 않을까 생각한다.

 

기본적으로 데이터 엔지니어는 어떤 업무를 수행하게 되는지 정리해봤다.

 

* 데이터 수집, 가공, 저장

일반적으로 데이터 엔지니어는 데이터를 수집하고 가공하고 저장하는 데이터 파이프라인을 설계하고 구축한다.
흔히 말하는 ETL 또는 ELT 를 통해 데이터를 적재하기 위한 파이프라인을 만들 수 있어야 한다.
또한 데이터의 유형에도 배치성 데이터, 스트리밍 데이터 등 용도에 따라 구분이 되어 각 용도에 맞게 파이프라인을 설계하고 구축할 수 있어야 한다.

 

따라서, 다양한 플랫폼과 도구들을 통해 각 기업에 맞는 상황에 맞는 플랫폼과 도구의 적합한 선택을 통해 설계할 수 있어야 한다.

 

* 데이터 분석

데이터 분석가라는 직무가 따로 있지만 데이터 엔지니어도 간단하게 데이터를 확인하고 분석할 일이 있다.
Hive, Presto 와 같은 쿼리 엔진을 통해 일회성 쿼리를 만들어 실행하거나 확인할 수 있어야 한다.

 

* 다른 부서와의 협업

데이터를 수집하고 가공하고 저장하기 전에 어떤 데이터가 필요한지 알기 위해서는 사업팀이나 데이터 사이언티스트, 데이터 분석가들의 요구 사항을 듣고 데이터를 수집해야 한다. 따라서 각 부서에서 원하는 데이터가 무엇인지 알기 위해서는 협업이 필요하다.

 

이렇게 큰 분류로 구분해서 적어보았는데 이 외에도 상황에 따라 다양한 업무를 하게 된다.

 

또 한가지 데이터 엔지니어 관점에서 데이터를 어떻게 바라봐야 할까?

이 부분에 대해서도 고민해보고 생각을 정리해보는 시간을 가져봐야겠다.

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