안녕하세요. 멘토님. 데이터 분석 쪽에 관심이 많은 멘티입니다. 저는 독학으로 데이터 분석을 공부하려고 하는데요. 데이터 분석 쪽은 굉장히 전문적이라서 석 / 박사 수준이어야 취업이 되는 것으로 알고 있습니다. 독학하는 사람도 취업을 꿈꿀 수 있을까요?
ⓒCharles 🇵🇭
더불어 데이터 엔지니어는 어떤 일을 주로 하며, 머신러닝의 사례나 검색 기능 관련해서도 조언을 여쭙고 싶습니다. 그리고 마지막으로 데이터 엔지니어의 필수 역량에 관해서도 질문드리고 싶습니다.
여러모로 부족한 답변인데, 읽어 주셔서 감사합니다.
💬 박훈 멘토의 답변
안녕하세요. 데이터 분야에서 관련 학위가 필요한지 질문해주셨는데, 결론부터 말씀드리자면, 분야마다 매우 다르며 많은 분이 석사 / 박사가 아님에도 관련 분야에서 근무하고 있습니다. (특정 분야에서는 관련 학위를 요구하는 경우도 있습니다.)
‘데이터’ 도 자세히 들어가면 정말 다양한 분야가 있고, 각각에 필요한 능력과 지식이 많이 다르기 때문에 여기서 모두 소개하기는 어려울 것 같습니다.
제가 알고 있는 내용이나, 블로그에 올라온 내용 혹은 실제 나온 채용 공고 위주로 설명해 드리면 멘티님께 조금이나마 도움이 되지 않을까 싶습니다.
데이터 엔지니어는 이런 일을 합니다
ⓒadult-analysis-chart
우선 저는 Data Infrastructure 팀에서 근무하고 있습니다. 저희 팀은 크게 3가지의 업무를 수행합니다.
1. 데이터 파이프라인을 구축
2. 비즈니스적으로 가치 있는 데이터를 찾아내고 / 생성하며 서비스에 제공될 수 있도록 도움
3. 사내 구성원들이 데이터를 활용하는 데 있어 불편한 점을 제거 / 개선하기 위해 툴을 만드는 등의 업무
조금 더 부연 설명해 드리면,
1.데이터는 그냥 생성되지 않습니다. 어떤 모양이고, 어떤 데이터가 언제 남아야 하는지 Data의 Schema (정의)를 누군가는 정해야 하고 서비스 (앱 또는 서버)에서 남겨야(로깅) 합니다. 예를 들어 새로운 기능이 추가될 경우 얼마나 이 기능이 사용되는지 보고 싶다면 형태를 정하고 데이터를 남겨야만 나중에 확인해 볼 수 있습니다
2. 서비스에서 전송된 데이터를 어디에 / 어떻게 저장할지도 정해야 합니다. 데이터의 수가 많은지, 하나 당 사이즈가 큰지, 나중에 데이터를 확인할 때 어떻게 저장해야 사용하기 편리한지 등 많은 것들을 고려해 시스템 (인프라)를 구축합니다.
3. 데이터가 때로는 앱의 버그 등의 이유로 비정상적일 수 있습니다. 이 경우 사용 전에 중복을 제거하거나, 잘못된 데이터를 보정하는 등 (전) 처리 작업이 필요할 수 있습니다. 또는 사내의 다른 데이터 소비자들이 사용하기 쉽도록 데이터의 형태를 변경하는 등 정제할 수 도 있습니다.
4. 저장된 데이터에는 다양한 소비자가 있을 수 있습니다. 자신이 만든 기능이 많이 사용되는지 알고 싶은 디자이너나 기획자부터, 통계 (사용자 수 등) 를 확인해야 하는 분석가가 있을 수도 있고, 데이터를 이용해 서비스를 만들어 내는 (예를 들어 검색 광고라면, 검색어와 관련된 광고를 연결하고 불필요한 광고는 필터링하는 등) 다른 팀의 다른 엔지니어가 있을 수 있습니다.
5. 따라서 이 소비자들이 사용하기 쉽도록 별도의 툴을 제공해야 합니다. 각 소비자마다 필요로 하는 툴이 다를 수 있을 테지요. 예를 들어 영업 담당자는 버튼을 눌러 정산 데이터를 조회할 수 있는 툴이 필요하고, 자신의 필요에 맞게끔 데이터를 뽑길 원하는 기획자는 쿼리를 통해 직접 뽑을 수 있을 겁니다. 엔지니어의 경우에는 코드를 통해서 조금 더 복잡한 작업이 가능할 수도 있을 테고요.
ⓒAnnie Spratt
결국 데이터는 생성 시점부터 사용 시점까지, 많은 과정을 거치게 되고 이를 '데이터 파이프라인’ 이라 부릅니다. 보통 혼자 모든 걸 처리하기보다는 사내에 데이터 팀이 있고 이런 일을 하고 있다고 생각하시면 좋을 것 같습니다.
Udemy에서 데이터 엔지니어로 근무하시는 강대명님의 아래 링크를 클릭해, 슬라이드를 보시면 더 자세한 내용을 확인하실 수 있습니다.