preLoad Image preLoad Image
검색 바로가기
주메뉴 바로가기
주요 기사 바로가기
다른 기사, 광고영역 바로가기
중앙일보 사이트맵 바로가기
닫기
닫기

[문병로의 알고리즘 여행] 우아한 작업과 잡일의 비율

문병로 서울대학교 컴퓨터공학부 교수

문병로 서울대학교 컴퓨터공학부 교수

학생들은 기업 프로젝트를 시작할 때 80% 정도의 우아한 작업과 20% 정도의 잡일로 구성될 거라고 기대한다. 막상 프로젝트를 시작해보면 정반대다. 프로젝트의 80% 정도는 ‘노가다’가 차지한다.
 
잡일을 대하는 태도와 엔지니어의 수준은 밀접한 관련이 있다. 잡일 단계에 들 때마다 좌절하고 지루해하면 초보이거나 적성이 맞지 않는 엔지니어다. 고급 엔지니어의 ‘내공’은 과거에 경험한 이런 궂은일의 축적에서 나온다. 행정적인 것은 제외하고 하는 이야기다.
 
우아한 작업은 문제의 모델링, 알고리즘 설계, 디버깅(에러 교정)을 제외한 코딩, 모자라는 것에 대한 공부 등을 포함한다. 잡일은 데이터 만지기, 디버깅, 실패 분석, 엔진(소프트웨어/하드웨어) 뜯어보기, 이미 신선함이 떨어진 초기 작업의 재반복 등을 포함한다. 특히 요즘같이 방대한 데이터를 다루는 시대에는 데이터의 관찰·정제·추출·가공·변형 작업이 거의 필수적으로 포함된다. 필자의 연구실에서 수행한 최근의 한 프로젝트는 단 두 달치 데이터가 무려 11테라(조) 바이트에 이르기도 했다. 이런 데이터는 관찰·정제·축약과 고도의 병렬 처리가 필수다. 다행히 GPGPU(범용 그래픽 처리장치) 덕분에 15년 전에는 100억원 이상 나가는 슈퍼컴으로나 할 수 있었던 수준의 병렬 처리가 1000만 원에 못 미치는 조립 서버로 가능해졌다.
 
초보 엔지니어들은 데이터를 대충 줄 맞추어 첨단 모델에 넣으면 마법같이 아웃풋이 나올 것으로 기대한다. 첫 결과를 보고는 실망한다. 몇 번 해보고는 좌절한다. 그때부터 길고 긴 데이터와의 싸움, 모델링과의 싸움이 기다리고 있다. 학생들이 프로젝트를 통해 첨단 기법을 연습하지만 일을 진행하는 프로세스를 배우는 것이 더 큰 의미를 갖는다.
 
알고리즘 8/28

알고리즘 8/28

20여년 동안 서울대에서 연구실을 운영하면서 다양한 프로젝트를 해왔다. 프로젝트도 다르고 학생들도 계속 바뀐다. 학생들에게는 전혀 새로운 프로젝트지만 교수의 입장에서는 내용은 다르지만 과정은 유사하다. 20년간 반복하다보니 이제는 새 프로젝트를 시작할 때 앞으로 학생들이 저지를 실수, 나태해지는 포인트가 예상된다. 거의 비슷하게 맞는다. 어떤 실수는 어쩌면 저렇게 선배들의 실수를 그대로 재현할까 싶을 정도로 매번 반복된다. 진전이 없을 때 대는 핑계까지도 비슷할 때가 많다. 신임교수 시절에는 매몰찰 정도로 몰아붙였지만, 요즘은 옛날에 비해 많이 부드러워졌다.
 
잡일은 단순히 의미 없는 과정이 아니다. 학생들은 흔히 지루하고 고통스러운 그 과정 속에서 결정적인 통찰을 획득한다. 데이터로 온갖 지저분한 가공과 관찰을 하는 동안 데이터의 질감을 느끼게 된다. 자신이 적용하는 모델의 안으로 들어가서 온갖 변형,시행착오를 거치는 동안 해당 기법에 대한 통찰이 생기게 된다. 반복을 통해 그런 모든 과정에 편안해지는 단계가 있다. 장악의 느낌과 관계있다. 특히 앞으로 리더가 될 학생들은 이런 과정을 많이 반복해야 한다. 리더가 장악의 느낌을 갖고 있지 않으면 그 프로젝트는 예산 낭비가 될 가능성이 크다. 장악한다는 느낌을 갖기 위해 디테일을 모두 알아야 하는 것은 아니다. 어느 정도까지만 알면 충분한지를 아는 것이 오히려 장악의 느낌에 더 가깝다.
 
빙산은 10%만 물 위로 머리를 내밀고 90%는 수면 하에 잠겨있다. 머리를 내민 우아한 작업의 이면에 잠겨있는 잡일이 본질로 보면 더 ‘우아한’ 것일 수도 있다.
 
문병로 서울대학교 컴퓨터공학부 교수
AD
온라인 구독신청 지면 구독신청

PHOTO & VIDEO

shpping&life

많이 본 기사

댓글 많은 기사