요즘IT
위시켓
최근 검색어
전체 삭제
최근 검색어가 없습니다.

최근 개발자 교육 붐이 불면서, 이른바 ‘코딩’이라고 뭉뚱그려 표현하는 개발 기술들을 배우는 학원이 많아졌습니다. 이러한 인재들이 자신들이 배운 걸 확인하기 위해 한 번쯤 꼭 거치는 단계가 있는데, 바로 ‘코딩테스트’입니다. 많은 사람을 대상을 교육의 효과 및 역량을 확인할 수 있는 가장 효율적인 방법이 답이 정해져 있는 시험이기 때문입니다.

회원가입을 하면 원하는 문장을
저장할 수 있어요!

다음

회원가입을 하면
성장에 도움이 되는 콘텐츠를
스크랩할 수 있어요!

확인

개발

데이터 분석가에게 코딩테스트가 필요할까?

년차,
어떤 스킬
,
어떤 직무
독자들이 봤을까요?
어떤 독자들이 봤는지 궁금하다면?
로그인

 

최근 개발자 교육 붐이 불면서, 이른바 ‘코딩’이라고 뭉뚱그려 표현하는 개발 기술들을 배우는 학원이 많아졌습니다. 이러한 인재들이 자신들이 배운 걸 확인하기 위해 한 번쯤 꼭 거치는 단계가 있는데, 바로 ‘코딩테스트’입니다. 많은 사람을 대상을 교육의 효과 및 역량을 확인할 수 있는 가장 효율적인 방법이 답이 정해져 있는 시험이기 때문입니다.

 

사실 개발자 관점에서의 코딩테스트에 대한 글은 이미 많은 ‘구루’ 개발자분들이 다루고 있습니다. 그래서 이번 글에서는 비개발용 언어를 업무에서 주로 활용하는, 데이터 분석가의 코딩테스트를 이야기해보겠습니다.

 

코딩테스트란 무엇인가?

데이터 분석가의 코딩테스트 이야기에 앞서, 코딩테스트의 이해도를 높이기 위해 자격증에 관한 이야기를 먼저 하겠습니다.

 

코딩 관련 자격증 또한 수많은 종류가 이미 존재하고 있고, 매년 늘어나고 있습니다. 이러한 자격을 등록 및 관리하는 한국직업능력연구원의 데이터에 따르면, 2017년 이후 매년 50개가 넘는 코딩 자격증이 추가되고 있습니다. 매주 하나의 민간 자격증이 추가되는 셈입니다.

 

코딩 민간자격
<출처: 본인>

 

이러한 코딩 시험이 생소한 분들을 위해 코딩 시험이 어떤 과정으로 이뤄지는지 간단히 설명하면 아래와 같습니다.

 

개발자에게 필요한 역량을 확인하는 목적의 코딩 시험은:

① 실제 업무와 유사한, 그러나 ‘상당히’ 줄어든 범위의 문제를 풀어내는 코드를 작성하고, 시험을 위해 주어지는 예시 데이터들을 기준으로

② 코드가 정상적으로 돌아가고, 올바른 결과 값을 보여주는지

③ 그 과정에서 메모리를 비롯한 컴퓨팅 리소스를 얼마나 효율적으로 활용하는지,

④ 계산 시간은 어느 정도 걸리는지

 

등 위의 요인들을 채점하는 시험입니다. 즉, ‘특정 프로그래밍 언어를 사용하여 주어진 문제를 잘 해결할 수 있는지’의 기술적인 부분을 확인하는 시험이라고 표현할 수 있습니다.

 

코딩테스트 평가항목
한 코딩테스트의 평가 항목 예시 <출처: 프로그래머스>

 

한 가지 특이한 점으로, 이러한 코딩테스트를 제공하는 서비스(또는 기술 면접 과정)에서, C, 자바(Java), 파이썬(Python) 같이 자주 쓰이는 프로그래밍 언어가 아닌 마이너한 프로그래밍 언어로 시험을 하는 일도 종종 있습니다. 가령 R이나 SQL 같은 비개발용 언어와 Ruby나 Dart, Go 같은 산업에서 상대적으로 적게 활용되는 개발 언어가 이 상황에 해당됩니다.

 

그런데 비개발직군, 그중에서도 데이터 분석가의 업무 역량을 파악하는 건 조금 다릅니다. 어쩌면 코딩테스트만으로 확인하기 어려울 수도 있습니다. 왜 데이터 분석가는 코딩테스트로 역량을 확인할 수 없는지 알아보겠습니다.

 

 

데이터 분석가가 업무에서 하게 되는 것들

데이터 분석가는 기업의 문제를 ‘데이터를 분석/활용하여’ 풀어내는 역할을 합니다. 기업이나 팀의 상황에 따라 하는 업무의 범위는 다를 수 있지만, 아래 표현들은 채용 공고에 자주 등장하는 몇 가지 내용입니다.

  • 데이터를 활용하여 현재 운영 중인 서비스/프로덕트의 고도화
  • 데이터 기반 의사 결정을 위한 전략 및 분석 지원
  • 전사적 목표 달성을 위한 가설 설정 및 이를 검증하기 위한 실험 설계 및 분석
  • 인사이트 제공을 위한 지표 정의 및 대시보드 및 리포트 제작

 

여기에 ‘새로운 가치 발견’이라는 한 가지가 추가되면 어느 기업에서나 기여할 수 있는 데이터 분석가의 업무가 될 수 있다고 생각합니다.

 

위의 문장들을 잘 설명하는 몇 가지 예시를 짚어가면 이를 위해 어떤 (기술적) 역량이 필요한지 조금 더 상상하기 편할 것으로 판단해 공공 부분의 사례를 가져왔습니다.

 

국내 사건사고 데이터 시각화 (서비스 고도화)

사건사고 데이터 시각화
전국 각종 사건사고를 데이터 시각화한 자료 <출처: 대한민국 정책브리핑>

 

 

소방청에서 하는 주요 업무 중 하나는 구조입니다. 이 구조를 하나의 ‘서비스’로 보면 위험에 처한 사람(고객)을, 더 빠르고 안전하게 구조하는 것이 더 고도화된 구조 서비스의 한 방향이라 볼 수 있습니다.

 

이를 위해서 소방청에서는 데이터 분석을 통해, 어느 위치에서 어떠한 유형의 사고가 자주 일어나는지를 파악했고, 해당 위치에 선제적으로 안전 난간을 설치하는 등의 액션까지 이어졌습니다. 이런 활동을 통해 약 22%의 출동 건수 감소 및 사상자 수 43% 감소와 같은 사고 저감 효과를 냈습니다.

 

오바마 캠프의 A/B테스트 사례 (실험설계/분석)

오바마 대선 캠프
선거에 데이터 분석을 활용한 오바마 캠프 <출처: Mailmunch>

 

대선을 치르던 당시 오바마 캠프는 ‘대통령 선거 승리’라는 명확한 목표를 가지고 있었습니다. 이를 위해 여러 대선 캠페인을 진행했고, 온라인 활동도 그중 하나였습니다. 미국은 특히나 다양한 인종과 가치를 존중하는 다양한 사람들로 구성된 만큼, 국민이라는 ‘고객’들을 만족시킬 수 있는 세그먼트별 타깃 전략이 필요했습니다. 이를 위해 오바마 캠프는 A/B 테스트를 통한 데이터 분석을 활용했습니다.

 

SNS의 좋아요 버튼을 통해 수집되는 유저 데이터부터 이메일 수신자 그룹 데이터, 오바마 홍보 웹페이지에 접속한 이후의 로그 데이터 등 다양한 데이터를 활용해서 세그먼트 별 가장 효과적인 캠페인을 진행할 수 있도록 A/B 테스팅을 진행했고 그 결과로 오바마는 미국 대통령에 당선될 수 있었습니다. (물론 A/B 테스팅 외에도 기부 금액 최적화, 설득가능점수 같은 지표 설정도 했습니다)

 

서울시 심야버스 노선 최적화 (데이터 기반 의사결정 전략)

심화버스 노선 최적화
<출처: 서울시 심야버스 노선 최적화>

 

보통 밤 11시 이후 심야에 퇴근하려면 자가용을 이용하거나 택시를 타게 됩니다. 그렇지만 대도시 서울에서의 늦은 퇴근은 택시만으로는 감당할 수 없었습니다. 이는 많은 서울 시민의 불만 사항이었고, 이를 개선하기 위해 서울시에서는 심야 시간에만 운행되는 버스를 운영해 왔습니다.

 

일반 대중교통과는 살짝 다르게 심야버스는 추가 수요를 감당하는 관점이기 때문에 수요에 따라 지속적인 최적화가 필요했습니다. 이를 위해 서울시는 통신사 KT와의 협업을 통한 휴대전화 이력 데이터를 통해 어느 지역에 심야 인구가 많은지 파악했습니다. 이후 이러한 데이터를 기반으로 기존 심야버스 노선을 변경하거나 노선을 신설해 고도화를 진행했습니다.

 

 

기업 내 데이터 분석가의 업무

기업은 데이터 분석가들에게 위와 같은 성공 사례를 만드는 걸 기대합니다. 데이터 분석가는 이를 어떻게 달성할 수 있을까요? 도메인이나 스케일이 다르지만, 위의 사례에서 공통으로 나타나는 특징 5가지를 찾을 수 있습니다.

 

① 분석할 수 있는 데이터는 준비되어 있다.

② 서비스를 통해 풀고자 하는 문제를 명확하게 인지했다.

③ 복잡한 혹은 최신 논문에 나오는 데이터 분석 기법을 활용하지 않았다.

④ 데이터 분석팀 외에도 다양한 팀과의 협업을 통해 문제를 해결했다.

⑤ 특별히 어떤 툴을 썼다 하는 내용은 언급되지 않는다.

 

여기서 ①과 ⑤를 제외한 부분에 연관되는 역량을 저는 다음과 같이 정의하고 싶습니다. ② 문제 정의, ③ 데이터 분석에 대한 이해, ④ 타 직군과의 협업 등입니다. 아, 여기에 빠른 학습도 있으면 좋을 것 같습니다.

 

 

정해진 답이 없는 데이터 분석가의 업무

이처럼 데이터 분석가는 데이터를 활용해 정해진 답이 없는 문제를 해결해야 합니다. 그리고 이러한 역량을 확인하는 데에는 정답이 정해져 있는 코딩테스트보다 과제 전형이 대체로 더 효과적입니다.

 

만약 면접을 시작하기 전에 (이력서와 자기소개서에) 이러한 역량을 어필하고 싶으면 이전에 제가 작성한 ‘데이터 분석가가 되고 싶은 취준생을 위한 안내서’를 참고하시면 좋습니다.

 

기업 성향에 따라서 데이터 분석을 위해 수집부터 하는 경우도 있습니다. 사실 모아둔 데이터에서 풀 수 있는 문제를 만들기보다 먼저 문제를 정의하고 문제를 풀 데이터를 모으기 시작하는 것이 더 자연스럽기도 합니다.

 

다만 개인적으로 원활하게 데이터 수집을 하는 환경을 만들고, 수집하는 직군은 데이터 분석가보다 ‘데이터 엔지니어’로 정의하는 것이 자연스럽다고 생각합니다. 그리고 이러한 데이터 엔지니어 직군은 데이터 분석가와는 아예 다른 역량과 기술이 필요하기 때문에 이전에 작성했던 글을 읽어 보는 것을 추천합니다.

 

또한 위와 같은 데이터 분석 사례들은 특별히 어떤 툴을 썼다 하는 내용이 언급되지 않습니다. 그 이유는 많은 조직에서 데이터 분석가에게 ‘어떤 문제를 왜 풀어서 무슨 변화를 만들 수 있는지’가 ‘문제를 어떻게 풀 것인지’보다 더 크게 기대하기 때문이라고 생각합니다.

 

물론 조직에 이러한 문제를 만들 시니어들이 많아 이러한 문제를 풀 주니어를 기대하는 경우도 있습니다. 다만, 이 경우 데이터 직군을 신규 채용하는 것보다 기존 조직의 PM, PO 같은 비개발 직군에게 SQL 같은 기술을 트레이닝하는 것이 기업의 관점에서 훨씬 더 효과적이라고 생각합니다.

 

 

코딩테스트와 데이터 분석

다시 돌아와서 코딩테스트는 대상자의 기술 역량을 확인하는 데에 있어서 아주 효과적인 방법입니다. 그러나 데이터 직군의 경우, 지금까지 위에 설명한 것처럼 성공 사례를 만들기 위해 기술 외에도 코딩테스트로는 확인하기 어려운 다른 역량들 또한 필요합니다.

 

개발 직군과 비개발 직군의 애매한 사이에 있는 데이터 직군이지만, ‘조직의 문제를 해결하고 고객을 만족시킨다’라는 너무 기술적인 관점에만 몰입하면 정작 필요한 결과를 얻기 어렵습니다. 기술적인 부분 외에 다른 역량에도 중점을 두면 데이터 분석가로서 기업에 훨씬 더 큰 기여를 할 수 있기 때문입니다.

 

물론 코딩 역량이 중요하지 않다는 의미는 아닙니다.

 

다음의 예시들은 데이터 직군의 코딩테스트에서 언급되는 (실무에서도 자주 하게 되는) 예시들입니다.

  • 머신러닝 모델의 평가 지표 계산
  • SQL을 활용한 메트릭 계산
  • 텍스트 등의 데이터 파싱 및 전처리

 

당연히 코딩이 필요한, 실무에서도 자주, 그리고 익숙하게 해야 하는 작업이기 때문에 데이터 직군도 이 정도의 코딩 역량은 중요합니다. 개인적으로는 ‘Scientific Programming’이라 표현되는 개념이 ‘이 정도의 코딩’에 가깝다고 생각합니다. 추가로 위에서 말한 역량 외에, 있으면 크게 도움이 될 역량을 짧게 소개하며 글을 마치겠습니다.

통계학

데이터를 다룬다는 것은, 궁극적으로 데이터에서 일정한 패턴을 찾거나 다른 것을 찾아 의미를 부여하는 일입니다. 이는 통계라는 이름으로 오래전부터 다루어졌으며, 상당히 많은 데이터 분석 방법들이 통계학을 기반으로 하고 있습니다. 따라서 통계학에 대한 이해가 깊을수록 데이터를 더 온전히 활용할 수 있습니다. 학부 수준의 기초 통계학에 대한 이해도 충분하지만 그 이상이라면 자신의 Specialty를 더 키울 수 있을 것입니다.

 

데이터 분석 통계학
No machine learning is not just glorified statistics <출처: Towards Data Science>

 

심리학

제가 만난 데이터 분석가 중 꽤 많은 분이 심리학을 배경으로 가지고 있습니다. 심리학에서 통계를 많이 활용하기도 하지만, 고객의 심리를 파악하고 구매와 같은 액션을 끌어내는 방향으로도 데이터를 활용할 수 있습니다. 심리학에 이해가 있으면 데이터 분석 업무에 크게 도움이 될 수 있습니다. 단, 여기서 말하는 심리학은 ‘내가 지금 무슨 생각하고 있게?’와 같은 가벼운 교양 심리보다는, 아래의 포그 행동 모델 같은 걸 의미합니다. 이 고객이 다음 행동을 진행하기 위해서 필요한 보상과 이를 막는 장벽 등을 모델링하고 설계하는 조금 깊은 심리학이라고 생각하셔야 합니다.

 

포그 행동 모델
<출처: Behaviormodel.org>

 

요즘IT의 모든 콘텐츠는 저작권법의 보호를 받는 바, 무단 전재와 복사, 배포 등을 금합니다.

좋아요

댓글

공유

공유

댓글 2
데이터 프로덕트 개발자
33
명 알림 받는 중

작가 홈

데이터 프로덕트 개발자
33
명 알림 받는 중
돌고 돌아 메디컬 도메인의 R / Shiny 개발자.

좋아요

댓글

스크랩

공유

공유

지금 회원가입하고,
요즘IT가 PICK한 뉴스레터를 받아보세요!

회원가입하기
요즘IT의 멤버가 되어주세요! 요즘IT의 멤버가 되어주세요!
요즘IT의 멤버가 되어주세요!
모든 콘텐츠를 편하게 보고 스크랩해요.
모든 콘텐츠를 편하게 보고 스크랩 하기
매주 PICK한 콘텐츠를 뉴스레터로 받아요.
매주 PICK한 콘텐츠를 뉴스레터로 받기
로그인하고 무료로 사용하기