안녕하세요 여러분의 허슬 코딩을 응원하는
허슬코딩아카데미입니다
오늘은 풀스택 데이터 엔지니어가 되세요
라는 주제로 시작해 보도록 하겠습니다
먼저 제가 스타트업
중독자가 된 이유를 한번 같이 얘기해 보겠습니다
스타트업을 처음부터 저는 시작을 했었고
졸업을 하기 전에도 스타트업을 창업을 했었습니다
"예술가들이 밥벌이 걱정 없이
예술 활동을 할 수 있도록" 이라는
그런 주제로 스타트업을 창업을 했었고 망했죠
망하면서 이제 졸업을 하고
생각대로 되는 게 참 없었다
졸업을 했고요
의료 쪽으로 처음에 커리어를 잡았고
비전 AI 모델이 활성화 되는 그런 시점이었고
초기스타트업
합류하면서 굉장히 많은 일들을 하게 되었습니다
이런저런 회사들을 다니다가
이제 클래스 101이라는 회사를 또 가게 됐었고
데이터 팀을 새로 빌딩하고
인프라를 구축했던 그런 기억이 있는데
굉장히 즐거웠고
스타트업을 하면서 굉장히 저는 안 좋은 일들도 많았고
힘든 점들도 있었는데
결국에는 다시 스타트업으로 돌아오게 되더라구요
지금은 뉴욕에 있는 뉴미디어
스타트업에서 일을 하고 있는데
결국 스타트업이 중독이 되는 것은 이런 이유인것 같습니다
처음에 아무것도 없던 회사에서 뭔가가 만들어지고
그 결과들이 경제적인 보상이나
뭔가 큰 그런 일들로 바뀌어 간다는 것이
일반적인 그런 큰 규모의 회사에서 얻어 볼 수 없는
경험이라는 생각을 많이 하게 됐어요
스타트업 얘기를 왜 했냐
사실 풀스택 데이터 엔지니어란 얘기를 꺼내고 싶어서
제가 이렇게 얘기를 했는데
풀스택 데이터엔지니어 라는 용어가 꽤 보이더라고요
한국에서는 아직 많이 보이지 않는 거 같은데
쉽게 말하면
데이터 직무에 데이터엔지니어 분야에 모든 풀스택
그런 의미입니다
그림 보시면은 데이터 분석
한 스푼 딥러닝
도 한 스푼
야근을 한 스푼에 뭐 이렇게 해서 만들었다고 하는데
어느 정도
이제 외부에서 잘 모르시는 분들
봤을 때는 맞는 얘기를 수도 있을 것 같아요
제가 간략하게 정의를 해본 풀스택 데이터 엔지니어라는 거는
크게 네 개 정도
분야를 어느 정도 할 수 있어야 된다
라는 게 제 정의인데 하나씩 보겠습니다
데이터 분석 같은 경우에는 sql 시퀄
역량 시각화툴 이라든지
비즈니스 인사이트
비즈니스 인사이트 같은 경우에
BI툴을 저희가 많이 쓰잖아요
Redash 라든지 Tableau 라든지
툴들에 대해서 세팅 이라든지
기본적인 걸 할 수 있는 그런 역량을 말하는 거고요
ML/AI 엔지니어링 같은 경우에는 비전AI, NLP, 추천 시스템
미디어 파이프
personalize 여러 가지 툴들이 있습니다
부분들도 당연히 모든
그 연구적인 측면에서 새로운 모델을 만든다든지
하이퍼 파라미터를 조정을 한다든지
이런 거까지 요구를 한다기보다는
기존에 나와 있는 그런 오픈소스
들을 통해서 그냥 간단한 모델
서빙 할 수 있는 정도에 역량을 얘기를 하는 거고요
그리고 아키텍처 입니다
아키텍처 같은 경우에는 이제 약간 인프라 적인 부분
클라우드와 인프라
부분이 들어간다고 보시면 될 거 같고
크게 Bigquery, Pubsub, Compute engine,
GCP 에서는 그렇고
aws 에서는 Redshift, Athena, SNS, SQS
EC2 등등이 있겠죠
그래서 어떤식으로 데이터 파이프라인을 설계를 하고
구성요소들을 구현하는지
이런 부분들의 역량도 당연히 필요한 부분이고요
그리고 데이터엔지니어링 입니다
파이썬 스팤 하둡 airflow, ETL,
DB 일들이 있죠
그래서 그 풀스택
데이터 엔지니어라는
말이 꼭 이거를 다 전문가 수준으로 잘 해야 된다
라기보다는 하나의 그 사이클을
할 줄 아는 사람을 얘기를 하는 거거든요
그래서 아키텍처를 구성을 하고
각각의 구성요소들을 다 구현을 해 가면서
실제로 어떤 어플리케이션 단에서 이벤트를 모은다
거나 뭐 로깅을 한다거나
그리고 그걸 통해서 데이터의 어떤 분포를 확인하고
또 그 분포 데이터를 통해서
이제 ML/AI 모델들을 서빙하는 것까지
하나의 사이클이 되는 거거든요
제가 주제를 하게 된 이유는
특히나 이제 물론 대기업의 경우
조금 얘기가 다를 수 있습니다
왜냐면은 사실 대기업 같은 경우에는 워낙
각 한명 한명의 전문가가 다루는 범위가 좁다 보니까
이렇게 다양하게 모든 걸 다룰 필요가 없어요
모든 인프라나 예를 들면 devops 같은 경우에도
devops팀이 따로 있고
(사내) 인프라 전문가들이 따로 있기 때문에
아키텍처 같은 거를 고민할 필요가 없을 수도 있죠
제가 이 풀스택 데이터엔지니어
라는 얘기를 하는 거는
스타트업 쪽에 조금
더 치중이 되어 있다 라고
생각을 해 주셔도 좋을 것 같아요
아니면 뭐 대기업이라고 하더라도
리소스가 부족한 신생팀 같은 경우에도 해당될 수 있겠죠
풀스택 데이터 엔지니어가 되는 것은 이렇게 데이터를 이용해서
어떤 비즈니스의 임팩트를 줄 수 있는
하나의 사이클을 모두 다 할 수 있는
그런 사람이라고 보시면 될 것 같아요
제가 소프트스킬이라고 추가적으로 써 놨는데
하드스킬/소프트스킬이라는 말들이 있습니다
소프트 스킬도 굉장히
중요한 부분 중에 하나라고 생각을 해서
이렇게 좀 추가해봤고
예전에 풀스택 데이터 엔지니어와
현재 풀스택 데이터
엔지니어를 이렇게 제가 짤방을 하나 가져왔는데
예전에 사실
이런 모든 데이터 사이클의 대한 구현이나
이런 것들을 하려면 많은 걸 해야 됐어요
하둡 클러스터를 구성을 한다든지
파일 시스템을 구축을 한다든지
이런 굉장히 고난이도의
일들이 독자적으로 구축을 다 했어야 됐고
그렇기 때문에
사실은 어려웠죠. 어려운 일이였고, 쉽지 않았는데
지금은 풀스택으로
이런 일들 하는 게 굉장히 쉬워졌습니다
aws 나 GCP 에
이미 나와 있는
그런 툴들을
잘 활용을 해서 할 수 있는 것들이 많아졌고
물론 아직도 클라우드
인프라 에서 제공해주지 못하는 것들이 있기 때문에
자체적으로 개발하는 팀들이 많은 것도 알고 있지만
예전에 비하면 굉장히 쉬워졌다
이렇게 말씀드릴 수 있겠고요
(소프트) 스킬을 강조를 하고 싶어서 한 장을 더 넣었습니다
하드 스킬이
일반적이 프로그래밍 능력이라고 한다면
소프트 스킬은 그 외적인 부분, 인간관계 라든지
기술 외적인 부분에
대한 얘기일 수 있겠는데요 이 부분이 사실 굉장히 저는
중요하다고 생각을 합니다. 개발자 라고 해서
하드 스킬만 중요하다 소프트스킬은 중요하지 않다
이렇게 생각할 수도 있겠지만
개인적으로는 이런 소프트스킬이라는게
개발자들이 갖춰야 되는 능력이라고
저는 생각을 해요
크게 4가지 정도 있는데
팀 문화 인간관계
채용 비즈니스 관련 이 정도로
크게 카테고리를 나눠 볼 수 있는데
먼저 팀 문화 의 경우에는 개발팀에 어떤 문화
코드리뷰를 하는 문화라든지 아니면은 일을 하는 어떤 방식
아니면 일주일에 한 번씩 개발자 회의를 한다든지
요런 문화들이 있겠죠
그런 것들도
본인이 팀이 더 잘 할 수 있는 방향으로 생각하고
그런 문화를 주도하는 거
이런 게 이제 소프트스킬의 하나라고 볼 수가 있겠고요
인간관계는 너무나 중요하죠
인간관계 정말 중요한데
인간관계라는 거는 회사동료와
인간적인 사적인 관계 뭐 이런 것도 있겠지만
그냥 회사 안에서의
모든 사람 사이의 일들
이런 것들에 대한 얘기인 거 같아요
그래서 소프트스킬 측면에서
인간관계는 내가 이 사람과
어떤 업무를 같이 해야 할 때
뭔가 방해요소가 없게 만드는 거죠
예를 들면
어떤 사람과 둘이서 어떤 프로젝트를 맡게 됐다
근데 이 사람과 내가 좀 불편해요
좀 서로 감정이 안 좋거나
아니면 뭔가 좀 친하지 않아요
친하지 않다고 했을 때
업무의 효율성 측면에서 그게 영향을 주거든요
회사는 일만 하면 되지
뭐 꼭 친해야 돼? 라고 얘기 하실 수도 있겠지만
실제로 그런 연구 결과도 있습니다
마음에
어떤 불안함이 없는 환경에서 생산성이 더 높아진다
이런 연구 결과가 있는 만큼
인간관계라는 것도
필요 없다 라고 생각을 하지 않고
잘 하면 잘 관계들을 잘 만들어 나가는 게
중요한 측면입니다
또한 채용도 굉장히 중요한데요
사실은 인간관계나
이런 것들을 잘 하기 위해서는
결국엔 좋은 사람들이 모여 있어야
좋은 팀이 되는 거겠죠
그래서 채용에 굉장히 중요한 요소입니다
그래서 채용에도 직접적으로 관여를 할 수 있다면
관여를 하고
그리고 채용을 위한 채널들도
예를 들면 기술블로그 라든지 채용브랜딩이죠
데이터컨퍼런스같은 곳에서 발표를 한다든지
이런 것들이 다 채용에 관련된 얘기예요
그래서 이런 것들을 어디
다른 HR이나
헤드헌터를 통해서 오는 수동적으로
받는 것도 물론 필요하지만
적극적으로 브랜딩을 하면서
채용에도 신경을 쓰는게 또 소프트스킬의 하나가 아닌가
이렇게 생각을 하게 되고요
비즈니스 관련해서도 영향을 미치는 것이 사실
데이터엔지니어로써는 조금 과한 거 아니냐
라고도 할 수 있겠지만
사실 저는 데이터엔지니어
야말로 비즈니스에 가장 깊게
관여를 해야 되는 사람이라고 생각을 하거든요
왜냐면 기술 자체가
일반적인 어플리케이션 개발을 하는 경우에는
비즈니스랑 그렇게 크게 상관이 없을 때도 있거든요
근데 데이터 같은 경우에는 데이터를 모으고
데이터를 이용해서 뭔가 한다는 게 데이터 팀을 꾸리고
데이터 엔지니어를 뽑는다는거 자체가
비즈니스적인 어떤 성과를 내기 위한 거거든요
물론 안 그런 채용이 어디 있겠냐
만 데이터야말로 데이터를 모아서 그 데이터를 이용해서
회사가 어떤 가치를 창출하고
그다음에 어떤 이득을 볼 수 있느냐
이런 것이 관련이 깊게 되어 있다 보니까
내가 하는 일이 비즈니스에
어떤 관련이 있는 거지
이걸 한다고 했을 때
얼마나 더 이득을 볼 수 있는 거지
뭐 이런 부분들을
사실은 고민을 해야 된다고 저는 생각을 합니다
그래서 비즈니스적인 부분에서 더 고민하고
내가 어떤 식으로 했을 때
예를들면 경쟁사가
이런 이런 일들을 지금 하고 있는데 우리도 지금 비슷한
그런 지표들을 트래킹 하는 것이 좋겠다
이런 얘기를 할 수가 있는 사람이 되는 게
굉장히 중요하다
저는 그렇게 생각합니다
이거는 제가 이제 부록 이라고 해서
같이 일하고 싶은 데이터 엔지니어
결국에는 이게 풀스택데이터엔지니어인거 같아요
하나의 일에
매몰돼서 function 만 해결할 수 있는 사람이 아니라
모든 부분에 대해서 해결할 수 있는 의지가 있고
결국에는 같이 일하고 싶은 사람이 아닌가
이렇게 해서 적어봤고요
결국에는 여러가지 줄이 적혀 있는데
사실은 다 그냥 풀스택
데이터 엔지니어라는 용어로 통일이 될 거 같아요
그래서 사실 제가 관련해서 조금 더 디테일한
어떤 일들을 하는지에 대해서 댓글 남겨 주시면
제가 추가적으로 또 영상을 찍어 올리도록 하겠습니다
네 그러면 지금까지 여러분의 허슬코딩을 응원하는
허슬코딩아카데미였습니다 감사합니다
'Developer > Hustle Coding' 카테고리의 다른 글
첫번째 책을 출간하다 - 나 혼자 만든다! 영화 추천 웹서비스로 배우는 풀스택 (0) | 2022.12.07 |
---|---|
[개발자 마인드셋] 개발자가 돈을 추구하면 안되는걸까? (2) | 2022.09.19 |
[개발자 진로] 스타트업 vs 대기업, 어떻게 선택해야할까? (0) | 2022.09.17 |
[개발자 꿀팁] 개발자 서류 합격률 30% 올리는 방법 (0) | 2022.09.17 |
[개발자 이직] 자유형식 이력서의 함정 (0) | 2022.09.17 |