brunch

You can make anything
by writing

C.S.Lewis

[Data] #1 프로그래머에게 데이터란?

들어가는 글: 요즘 오프라인으로 홍대에서 <파이썬으로 데이터 주무르기> 스터디를 진행하고 있습니다. 사실 파이썬 개발자가 아니기 때문에 진도는 잘 안나가지만 재밌는 것이 개발자는 절반이하이고 나머지는 현업 종사자라는 것입니다. 생각하는 것이 프로그래머와는 다른 것 같아요.. 


1. 일반적인 프로그래머의 업무 


저는 13년차 안드로이드 앱 개발자로 과거에는 C언어 시스템 프로그래밍도 해보고 전산실에서 오라클 DB로 물류 정보시스템도 해본적이 있습니다. 현재는 안드로이드 휴대폰에 관한 선행업무를 하고 있습니다. 


일반적으로 프로그래머는 '기능'을 만드는 사람입니다. 


기능이라는 것은 주로 (제가 앱 개발자라서 시스템 엔지니어에게는 관점이 다를 수 있습니다) 사용자가 어떤 입력을 하면 그것에 관한 추가 정보를 확인하여 사용자가 원하는 결과를 제시하는 것입니다. 


예를 들어 (쇼핑몰 서비스)를 제공한다면 사용자에게 상품 목록을 제시하고 사용자는 구매를 원하는 상품을 선택하고 결제하고 배송 조회 기능등을 제공합니다. 


'데이터'를 많이 다룬다고 생각할 수도 있지만 (데이터)라는 것이 잘못되면 큰일나기 때문에 (특히 돈에 관련된 데이터)는 그것을 다루는 사람과 관련된 기능을 개발하는 사람을 분리하게 됩니다. 


요약하면 프로그래머는 주로 '기능'을 만들고 

'데이터'를 설계하거나 분석하거나 가시화하는 직군이 별도로 존재하는 것이죠. 


2. 프로그래머에게 Data란? 


사실 위에서 말씀드린 내용은 지극히 '전통적인' 관점일 수 있습니다. 제가 다니는 회사가 대기업이고 휴대폰 제조사이기 때문에 서비스 회사와는 다르게 데이터를 massive하게 다루지는 않거든요. 잘못했다가는 고객의 privacy를 침해할 수 있는 염려가 발생할 수 있는 것이죠. 


여기에서는 Data라는 것에 대해서 좀더 자세히 알아보겠습니다. 

제가 작년부터 (좋은 기회를 받아서) 작은 데이터 셋을 분석하고 가공하고 보고하는 업무를 담당해서 관련 경험을 조금씩 풀어놓을까 합니다. 


데이터에 대해서 진지하게 생각하는 프로그래머는 다음과 같은 고정관념을 깨야 합니다. 

1) 데이터는 주어지는 것이다 

2) 데이터는 깨끗하다 

3) 데이터는 거짓말을 하지 않는다 


오늘은 이 세가지에 대해서 알아볼께요 


3. 데이터는 주어지지 않는다 


사실 데이터는 (만든다)라는 개념보다는 내가 기능을 만들 때 (처리해야 하는 대상)으로 생각하기 쉽습니다. 하지만 데이터는 어떤 (목적)을 위해서 정량적 혹은 정성적으로 활용하는 자료이므로 결과에 초점을 맞추기 위해서는 좀더 적극적인 자세를 취할 필요가 있습니다. 


만약 고객에게 어떤 (추천)서비스를 제공하고자 한다면 (아마도) 현재의 가지고 있는 데이터만으로는 어떤 양질의 결론을 얻기 힘들 것입니다. 


왜냐? 지금의 데이터는 분명한 목적성이 없었기 때문이죠. 

따라서 내가 원하는 결론을 데이터기반으로 얻기 위해서는 (데이터를 만들어야 할 수도 있다)라는 생각을 가져야 합니다. 


아마도 많은 스타트업의 마케터들은 자사의 서비스가 성공적으로 운영되고 향후 지속가능성이 있는지 끊임없이 알고 싶을 것입니다. 프로그래머가 남겨놓은 log가지고는 어림도 없겠죠 


4. 데이터는 깨끗하지 않다 


이것은 인터넷을 조금만 찾아봐도 알 수 있는 내용입니다. 실제 데이터 분석 업무를 해보면 아마도 "이 데이터 쓰레기네.."라는 말을 많이 하시게 될거에요. 위의 내용과 크게 다르지는 않으니 자세히 언급하지는 않겠습니다. 


깨끗하지 않은 데이터를 (잘 처리할 수 있도록) 가공하는 것을 (전처리 preprocessing)이라고 합니다. 


5. 데이터는 거짓말을 할 수도 있다 


데이터에 관한 가장 전통적이고 정통의 방법론은 (통계)입니다. 인터넷 서점에서 (통계)를 검색해보시면 (통계의 진실), (통계의 거짓말), (통계의 헛점) 등등의 단어를 접할 수 있습니다. 


한쪽에서는 "데이터는 거짓말을 하지 않는다"고도 합니다. 하지만 과연 그럴까요? 

그리고 현실의 데이터에는 허용 오차가 있습니다. 예를 들어 저희 집에는 4000원짜리 중국산 온습도계가 있습니다. 같은 제품을 2개 주문했는데 집에서 받은 후 켜보면 동일 장소임에도..


값이 다르게 나옵니다 ㅋㅋ 


오차 뿐만 아니라 만약 어떤 대상이 정량화하기가 쉽지 않는 데이터면 데이터의 왜곡 가능성은 더욱 늘어나게 됩니다. 


이렇게 데이터는 쉽지 않습니다. 


결론: 데이터는 매력적인가? 


그럼에도 짧은 기간이나마 실무로 경험을 해보니 제 생각에 (데이터)는 매력적이고 앞으로 시간을 가지고 도전해볼만한 가치가 있는 것 같습니다. "데이터 분석 스터디" 페북 그룹 오픈 기념으로 몇자 적어봤습니다. 


링크: https://www.facebook.com/groups/dastudy/ 


앞으로도 틈나는데로 적어보도록 하겠습니다. 

감사합니다. 


2018.2.25  

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari