데이터 엔지니어링 직무를 준비하시는 분들을 위한 글로, 데이터 엔지니어링에 대한 정의보단 공고를 보며 실제 시장에서 데이터 엔지니어를 무슨 목적으로 뽑고 나는 무엇을 준비해야 되는지를 이해할 수 있도록 작성되었습니다.
1. 대기업 - 전사 시스템 수준의 데이터 엔지니어링
- 채용공고 내용보기
- 데이터에 대한 가치와 중요도가 커짐에 따라 체계적인 데이터 관리와 효율적인 활용을 위해 기술적인 리드를 담당하는 조직
- 글로벌 규모의 대용량 데이터를 모으고 처리
- 개발자들이 쉽게 데이터를 여러 가지 목적으로 활용할 수 있도록 Data Platform을 개발하고 제공
- 데이터 규모가 크고 시간적인 요구사항이 짧아지고 있어 기술적인 도전 과제들이 많고 머신 러닝과 같은 새로운 기술셋과 솔루션으로 확장되고 있음
- 도구 경험보단 컴퓨터 사이언스 기본기가 있고 엔지니어링 문제를 해결을 즐겨하는 사람을 원함
- 담당업무
- 회사의 Data Platform의 개발과 운영을 담당
- Data Platform을 구성하는 다양한 Open Source기반의 Solution을 구축하고 운영
- Data Engineering Solution을 사용자들이 쉽게 사용할 수 있도록 플랫폼으로 개발하고 운영
- Machine Learning/Deep Learning의 기반이 되는 시스템을 개발하고 운영 - 자격요건
- Hadoop Eco-system, Elasticsearch, Kubernetes 중 1개에 대한 사용 경험과 이해도가 있으신 분
- Java/Python/Go 프래그래밍 언어 중 최소 1개 이상 실무에 사용 가능하신 분
- 새로운 환경에서 새로운 기술 문제 해결하는 것을 좋아하시는 분 - 우대사항
- 1년 이상의 Data Platform 또는 Data Engineering 관련 실제 업무 경험
- 오픈소스 솔루션을 실제 서비스/시스템에 직접 도입 및 적용 경험
- 규모 있는 Web/App 기반 사용자 서비스를 개발 및 운영 경험
- SRE(Site Reliability Engineering)관련 경험과 이해도가 있거나 백대 단위 이상의 서버 운영 경험
- 채용 공고에서 나타나는 특징
- 기초를 중요시한다 -> 기술 스택을 쓸 줄 아느냐보다, 문제 해결 능력이 중요
- 특정 기술스택 뿐만 아니라, 오픈소스 활용을 중요시 함 -> 상용 크라우드 제품 않쓰고, 오픈소스 기반으로 시스템을 직접 구축하고, 디버깅함 -> 큰 회사의 경우 상용 제품을 사용하면 큰 금액(수억 ~ 수십억) 소요함. 즉, 소수의 데이터 엔지니어로 비용 절감 가능
- 최소 한개 이상의 관련분야 기술스택 사용 경험 및 이해도 -> 다양한 경험보다 하나를 하더라도 제대로 알고 이해하는가
- 경험의 양 보다, 자신이 한 경험속 문제 해결 능력이 중요 -> 하나를 공부하더라도 '아키텍처, 동작 원리, 장단점, trade off 등을 꼼꼼히 따져가며 배워야한다.
- 실제 업무에서 나타날 특징
- 고객이 사내 개발자, 일반적인 요구사항을 맞출 수 있는 기술개발을 함
- 업무하면서 기반이되는 오픈소스에 대한 연구적 활동이 필요
- 일반 서버 엔지니어링은 기본으로 해야함, 대규모 툴을 만들면서 API서버로 작은 서비스를 서빙하는 일이 필요
- 이미 사내에 구축되어있는 대규모 시스템을 이해하고 분석할 수 있어야 함
2. 대기업 - 특정 서비스에서 필요로 하는 서비스 지향 데이터 엔지니어링
- 채용공고 내용보기
- 대량으로 생성되는 데이터들을 실시간으로 처리하고 사용자들이 관심 있는 00를 예측하여 제공하며 복잡한 글로벌 비즈니스 도메인 문제를 해결
- 글로벌 환경에서 기술로 비즈니스 가치를 만드는 데 관심이 있고 가파르게 수익을 만들어 나가는 과정을 경험하고 싶은 개발자를 환경
- 광고주, 유저, 플랫폼, 미디어 등 여러 컴포넌트에서 발생하는 데이터를 활용하여 KPI를 Tracking 하며, 데이터 기반으로 광고 관련 구성원들 간의 데이터 인식의 차이를 줄여나가는데 기여
- KPI Tracking을 위한 분석 플랫폼을 개발하고 분석 데이터 환경을 구축하며 이를 바탕으로 발굴한 데이터 인사이트는 다른 프로덕트의 실행 전략과 연결되어 활용됩니다.
- 담당 업무
- 00 분석 플랫폼 운영을 위한 데이터 처리
- 효율적인 데이터 처리를 위한 설계 표준화 및 데이터 관리
- 분석 플랫폼 아키텍처 구축 및 개발 - 자격요건
- 컴퓨터 공학 전공 또는 이에 준하는 경력 보유
- Hive, Spark 등을 이용한 대용량 데이터 처리 경험
- 사용자 분석 요청에 따른 분석 데이터 설계 경험
- 데이터로 문제 해결을 하며 커뮤니케이션이 원할
- 해외 출장 및 근무에 결격 사유 없는 분 - 우대사항
- BI 플랫폼(MicroStrategy, Tableau, Imply 등) 운영 경험
- Hadoop 환경에 대한 경험과 이해도
- 온라인/모바일 00 도메인 지식
- 외국어로 업무 진행 가능
- 채용 공고에서 나타나는 특징
- 해당 부서의 요구사항을 다루는 데이터 엔지니어링 업무 -> 전사 데이터 인프라/시스템을 사용, 팀/부서의 문제를 구체적으로 풀기위한 시스템을 구축하고 운영
- 대기업의 문제해결능력을 중시하는 것은 채용공고에 써있지 않더라도 기본
- 주로 사용한 기술스택 명시되어 있음 -> 컴퓨터 사이언스 기초와, 문제 해결능력 좋다면 필수는 아님, 기초가 있고 해당 기술스택 경험도 있다면 더 선호, 해당 기술스택을 사용했다면, 얼마나 이해하며 사용했고, 성능을 개선했는지에 관심을 가짐
- 팀에서 사용하는 툴(BI 등) 에 대한 명시 -> 하지만 데이터 엔지니어에게는 필수적이지 않음
- 팀의 업무 내용에 따라서 커뮤니케이션을 중심하는 경향 있음
- 실제 업무에서 나타날 특징
- 다른 시스템의 기능을 빠르게 파악하고 이용할 수 있어야 함
- 오픈소스 도구의 빠른 활용이 중요
- 전사 시스템보다는 작은 규모의 시스템을 스스로 구축하고 운영해야 함
- 일반적인 요구사항을 구현할 수 있는 대중적인 오픈소스보다는 특정 문제를 잘 풀 수 있는 유명하지 않은 오픈소스를 쓸 수 있음
- 이미 사내에 구축되어있는 대규모 시스템을 이해하고 분석할 수 있어야 함. 개선 시 천천히 진행됨
* 해당 글은 패스트캠퍼스 강의(한 번에 끝내는 데이터 엔지니어링 초격차 패키지 Online) 기반으로 작성되었습니다.
'Data Engineering > Data Engineering?' 카테고리의 다른 글
[Data Engineering] 데이터엔지니어링 직무에 관해서 - 중견기업 (2) | 2022.07.24 |
---|