Intro
프로그래머스 강의 '실리콘밸리에서 날아온 데이터 엔지니어링 스타터 키트 with Python' 을 수강하고 있다. (6기)
이 강의 내용을 정리하여 공유하고자 한다.
https://programmers.co.kr/learn/courses/12916
1주차는 데이터 조직이란 어떤 곳이며, 그 중 데이터 엔지니어의 역할은 어떤 것이고, 앞으로 어떤 마음가짐으로 배움에 임하는 것이 좋은지 팁을 전해주는 내용이었다.
요즘의 커리어란?
많은 사람들이 미래에 대한 불안감 때문에 선행학습을 한다.
미래에 대한 고민이 많이 되겠지만, 먼저 현재에 포커스해보는 것은 어떨까
지금하는 일을 더 잘 하기 위한 노력을 해보는 것을 추천했다.
결국은 자신감이라고 한다.
이 자신감은 내가 지금 하는 일에서 작은 성공을 반복하는 것에서 온다고 말한다.
MAX는 자신감이 있으면 굳이 선행학습도 필요가 없다고 한다.
배움의 패턴
- 처음에는 재밌게 배우고,, 어느 정도 배우면 정체기가 온다. 이 정체기를 어떻게 버티느냐가 아주 중요하다.
- 절대 잘 하는 사람에게 기죽지 마라! 다른 사람이랑 비교하지 말자.
- 잘 하는 사람을 보면 "저 사람은 원래 잘났어" 대신 "나보다 시간과 노력을 더 많이 쏟았구나!" 라고 생각하자.
- 나를 서포트 해주는 커뮤니티의 존재도 상당히 중요하다.
- '배움을 어렵지 않게 생각하고 대응할 수 있는가?' 이것이 중요한 세상이 되었다.
1. 데이터 팀의 역할 소개
데이터 팀 발전 단계
1) 인프라 구축
2) 대시보드, 시각화
3) ML, 알고리즘
이후 서비스하면서 1,2,3 순차적으로 계속 반복
데이터 조직의 비전
- 믿을만한 데이터로 부가가치를 만드는 것
- 대시보드를 작성하여 내부 결정권자들의 결정을 돕는 것
- ML, AI를 사용하여 외부 고객들의 경험을 개선 또는 공정의 효율을 높이거나
데이터 조직
-
Data Scientist
- 업무 : 우리 서비스를 사용하는 외부 고객들의 경험을 개선. 좀 더 외부지향적임. 예측모델 등등
- 요구 : 모델 만드는데 시간이 오래 걸리니까 끈기가 있어야하고, 실용적이어야해서 박사학위 가진 사람이 적합
- 스킬셋 : ML, 코딩(python/spark), SQL, 통계지식
-
Data Analyst
- 업무 : BI 내부 직원들을 위한 일을 한다. 내부에서 나오는 다양한 질문에 대한 답변.
- 스킬셋 : SQL, 통계지식, 도메인 지식, 요즘엔 코딩을 요구하는 추세
- 문과로 시작하는 사람들이 이쪽으로 많이 옴. 코딩을 많이 요구하지 않아서.
-
Data Engineer
- DW구축(Data Lke) : Redshift, BigQuery, Snowflake
- ETL 세팅하고 관리 + airflow
- A/B TEST 시스템 구축
데이터 조직 구성도 유형
이 구성에서 데이터 조직원들은 행복하다. 내부적으로 소통도 많이하니까.
외부 다른 부서에서는 맘에 안들어한다. 다른 부서에게 우선순위 밀려서 빨리 답을 못 받는 경우가 생기기 때문
데이터 조직이 각 부서로 흩어져서 데이터를 전달하는 구조이다.
그 부서에서 데이터조직원은 항상 2인자이기 때문에 언해피 가능성이 높다.
그리고 경영진에서는 부서마다 인프라구축비용이 늘어나니까 다시 중앙집중형으로 바꾸라고 한다.
1,2를 왔다갔다 계속 반복하게된다. 하이브리드 형태를 가는 것이 가장 좋다고 한다.
원하면 부서 내부로갔다가 원하면 다시 중앙집중하고
MAX가 일하면서 배운점
- 데이터는 회사에 돈을 벌어다줘야한다.
- 인프라가 첫 번째이다.
- 데이터 품질은 아주 중요하다.
- 지표METRICS가 중요하다.
- 간단할수록 좋다. 굳이 어려운 기술을 사용하지 말고!
2. 데이터 엔지니어링이란?
업무
- DW 관리
- Data Pipeline 관리
- Event Collection
skillset
결국 소프트웨어 엔지니어니까 코딩이 중요하다.
SQL, Airflow 어느정도 할 줄 알면 이제 취업시도해봐도 된다.
굳이 spark까지 공부한 다음에 취업하려 하지 않아도 된다..!
- SQL : Hive, Presto, SparkSQL, ...
- 언어 : Python/Scala/Java
- 대규모 분산처리 플랫폼 : Spark/YARN
- Machine Learning, A/B test, Statistics
- Cloud Computing
- ETL/ELT Scheduler: Airflow (이제 스탠다드가 되어버렸다)
질의응답
A/B테스트
디지털 환경에서 전체 실사용자를 대상으로 대조군(Control Group)과 실험군(Experimental Group)으로 나누어서 어떤 특정한 UI나 알고리즘의 효과를 비교하는 방법론
참조
Cohort analysis
집단 분석. 다양한 기준으로 그루핑하여 비교하는 것. youtube에서 왔는지 틱톡에서 왔는지 등등..
production DB vs DW
2주차에서 배울 내용이지만 짧게 설명하자면
- Prod_DB : 운영을 위해 최소로 저장되는 DB. 속도가 중요함 응답이 느리면 서비스가 느려지니까. ORTP 백엔드 엔지니어, DBA가 관리한다.
- DW : 내부 직원을 위한 DB. 응답속도는 큰 이슈가 아니고 데이터의 크기가 더 중요함. 온갖 종류를 다 갖다 넣어도 괜찮음. DW는 종류가 중요하지 않음. 우리 조직의 상황에 맞게 사용하면 됨
최신기술 트렌드 욕심을 어떻게 버리나
맥스도 초기에는 욕심 많았다고 한다. 뒤쳐지는 것 같고 화도 나고.
내가 지금 하는 일을 잘 하고, 좋은 결과를 내고, 자신감이 생기고 이렇게 더 잘하기 위해 필요한 공부를 하다보면
"내가 필요하면 언제든 배울 수 있어" 하는 자신감 있는 마인드를 가지게 된다.