https://yozm.wishket.com/magazine/detail/1708/
<아티클 내용 요약>
코딩테스트란 무엇인가?
- 개발자에게 필요한 역량을 확인하는 목적의 코딩 시험이 이뤄지는 과정
- 실제 업무와 유사한, 그러나 '상당히' 줄어든 범위의 문제를 풀어내는 코드를 작성하고, 시험을 위해 주어지는 예시 데이터들을 기준으로
- 코드가 정상적으로 돌아가고, 올바른 결과 값을 보여주는지
- 그 과정에서 메모리를 비롯한 컴퓨팅 리소스를 얼마나 효율적으로 활용하는지,
- 계산 시간은 어느 정도 걸리는지
- '특정 프로그래밍 언어를 사용하여 주어진 문제를 잘 해결할 수 있는지'의 기술적인 부분을 확인하는 시험
- 한 가지 특이한 점으로, 자주 쓰이는 프로그래밍 언어가 아닌 마이너한 프로그래밍 언어로 시험을 하는 일도 종종 있다.
- 그렇다면 왜 데이터 분석가는 코딩테스트로 역량을 확인할 수 없을까
데이터 분석가가 업무에서 하게 되는 것들
- 데이터 분석가는 기업의 문제를 '데이터를 분석/활용하여' 풀어내는 역할을 한다.
- 데이터 분석가 채용 공고에 자주 등장하는 내용
- 데이터를 활용하여 현재 운영 중인 서비스/프로덕트의 고도화
- 데이터 기반 의사 결정을 위한 전략 및 분석 지원
- 전사적 목표 달성을 위한 가설 설정 및 이를 검증하기 위한 실험 설계 및 분석
- 인사이트 제공을 위한 지표 정의 및 대시보드 및 리포트 제작
- 여기에 '새로운 가치 발견'이라는 한 가지가 추가되면 어느 기업에서나 기여할 수 있는 데이터 분석가의 업무가 될 수 있다.
- 어떤 역량이 필요한지 조금 더 상상하기 편할 수 있게 공공 부분의 사례를 가져왔다.
- 국내 사건사고 데이터 시각화 (서비스 고도화)
- 소방청에서는 데이터 분석을 통해, 어느 위치에서 어떠한 유형의 사고가 자주 일어나는지 파악했다.
- 이런 활동을 통해 약 22%의 출동 건수 감소 및 사상자 수 43% 감소와 같은 사고 저감 효과를 냈다. - 오바마 캠프의 A/B테스트 사례 (실험설계/분석)
- 대선을 치르던 당시 오바마 캠프는 '대통령 선거 승리'라는 명확한 목표가 있었다.
- 이를 위해 국민이라는 '고객'들을 만족시킬 수 있는 세그먼트별 타깃 전략이 필요했고 이를 위해 오바마 캠프는 A/B 테스트를 통한 데이터 분석을 활용했다.
- SNS 좋아요 버튼을 통해 수집되는 유저 데이터부터 다양한 데이터를 활용해서 세그먼트 별 가장 효과적인 캠페인을 진행할 수 있도록 A/B 테스팅을 진행했고 결과는 당선이었다. - 서울시 심야버스 노선 최적화 (데이터 기반 의사결정 전략)
- 늦은 퇴근을 택시만으로 감당하는 것은 많은 서울 시민의 불만 사항이었고, 이를 개선하기 위해 서울시에서는 심야 시간에만 운행되는 버스를 운영해 왔다.
- 심야버스는 추가 수요를 감당하는 관점이기 대문에 수요에 따라 지속적인 최적화가 필요했다.
- 서울시는 통신사 KT와의 협업으로 휴대전화 이력 데이터를 통해 어느 지역에 심야 인구가 많은지 파악하고, 이 데이터를 기반으로 기존 심야버스 노선을 변경하거나 신설해 고도화를 진행했다.
기업 내 데이터 분석가의 업무
- 기업은 데이터 분석가들에게 사례와 같은 성공 사례를 만드는 걸 기대한다.
- 위의 사례에서 공통으로 나타나는 특징 5가지를 찾을 수 있다.
- 분석할 수 있는 데이터는 준비되어 있다.
- 서비스를 통해 풀고자 하는 문제를 명확하게 인지했다.
- 복잡한 혹은 최신 논문에 나오는 데이터 분석 기법을 활용하지 않았다.
- 데이터 분석팀 외에도 다양한 팀과의 협업을 통해 문제를 해결했다.
- 특별히 어떤 툴을 썼다 하는 내용은 언급되지 않는다.
- 1번과 5번을 제외한 부분에 연관되는 역량을 다음과 같이 정의하고 싶다.
- 2 : 문제 정의
- 3 : 데이터 분석에 대한 이해
- 4 : 타 직군과의 협업
- 추가로 빠른 학습도 있으면 좋을 것 같다.
정해진 답이 없는 데이터 분석가의 업무
- 데이터 분석가는 데이터를 활용해 정해진 답이 없는 문제를 해결해야 한다.
- 이러한 역량을 확인하는 데에는 정답이 정해져 있는 코딩테스트보다 과제 전형이 대체로 더 효과적입니다.
- 기업 성향에 따라서 데이터 분석을 위해 수집부터 하는 경우도 있다. 사실 모아둔 데이터에서 풀 수 있는 문제를 만들기보다 먼저 문제를 정의하고 문제를 풀 데이터를 모으기 시작하는 것이 더 자연스럽기도 하다.
- 다만 데이터 수집을 하는 환경을 만들고, 수집하는 직군은 데이터 분석가보다 '데이터 엔지니어'로 정의하는 것이 자연스럽다고 생각한다.
- 데이터 분석 사례들을 보면 특별히 어떤 툴을 썼다 하는 내용이 언급되지 않는다. 그 이유는 조직에서 데이터 분석가에게 '어떤 문제를 왜 풀어서 무슨 변화를 만들 수 있는지'가 '문제를 어떻게 풀 것인지'보다 더 크게 기대하기 때문이다.
코딩테스트와 데이터 분석
- 코딩테스트는 대상자의 기술 역량을 확인하는 데에 있어서 아주 효과적인 방법이다. 그러나 데이터 직군의 경우 코딩테스트로는 확인하기 어려운 다른 역량들 또한 필요하다.
- '조직의 문제를 해결하고 고객을 만족시킨다'라는 기술적인 관점에만 몰입하면 정작필요한 결과를 얻기 어렵다. 기술적인 부분 외에 다른 역량에도 중점을 두면 데이터 분석가로서 기업에 훨씬 더 큰 기여를 할 수 있다.
- 물론 코딩 역량이 중요하지 않다는 의미는 아니다.
- 아래 예시는 데이터 직군의 코딩테스트에서 언급되는 (실무에서도 자주 하게 되는) 예시다.
- 머신러닝 모델의 평가 지표 계산
- SQL을 활용한 메트릭 계산
- 텍스트 등의 데이터 파싱 및 전처리
- 당연히 코딩이 필요한, 실무에서도 자주, 그리고 익숙하게 해야 하는 작업이기 대문에 데이터직군도 이 정도의 코딩 역량은 중요하다.
- 개인적으로 'Scientific Programming'이라 표현되는 개념이 '이 정도의 코딩'에 가깝다고 생각한다.
- 글을 마치기 전 추가로 필요한 역량을 소개한다.
- 통계학
- 데이터를 다룬다는 것은, 궁극적으로 데이터에서 일정한 패턴을 찾거나 다른 것을 찾아 의미를 부여하는 일이다.
- 상당히 많은 데이터 분석 방법들이 통계학을 기반으로 하고 있으며, 통계학에 대한 이해가 깊을수록 데이터를 온전히 활용할 수 있다.
- 학부 수준의 기초 통계학에 대한 이해도 좋지만 그 이상이라면 자신의 Specialty를 더 키울 수 있을 것이다. - 심리학
- 데이터 분석가 중 꽤 많은 분이 심리학을 배경으로 가지고 있다.
- 여기서 말하는 심리학은 '내가 지금 무슨 생각을 하고 있게?'와 같은 가벼운 교양 심리보다는, 아래의 포그 행동 모델 같은 걸 의미한다.
- 고객이 다음 행동을 진행하기 위해서 필요한 보상과 이를 막는 장벽 등을 모델링하고 설계하는 조금 깊은 심리학이라고 생각해야 한다.
<알게 된 개념>
- 데이터 분석가에게도 코딩테스트가 필요할 수 있다고 생각했다. 그리고 역시 코딩테스트는 실무에서 사용하기 때문에 하는 것이라는 걸 다시금 알 수 있었다. 그리고 그 일들을 하기 위해서 나도 할 줄 알아야 된다는 것도 이해했다.
그냥 막연하게 해야지, 필요해가 아니라 왜 필요한지를 알 수 있었고, 지금 하는 공부들을 꾸준히 하면서 역량을 강화하면 언젠가 Article에서 언급한 툴들과 언어들을 공부하게 될 것 같다.
지금의 나에게는 MYSQL과 Python으로도 머리가 아프니 지금이 아닌 일은 지금의 나에게 주지 않고 인지만 시켜야겠다.
'데일리 미션 > Article' 카테고리의 다른 글
Article : 데이터 분석에서 가설을 설계하는 방법 (0) | 2024.01.08 |
---|---|
Article : 데이터 아키텍처? 쉽게 배워봅시다 (1) | 2024.01.05 |
Article : 세상에 나쁜 가설은 없다. (2) | 2024.01.03 |
Article : 데이터 분석가, 커리어 UP을 위한 지름길 (1) | 2024.01.02 |
Article : 데이터 분석가가 되고 싶은 취준생을 위한 안내서 (1) | 2023.12.29 |