brunch

You can make anything
by writing

C.S.Lewis

by 김영호 Sep 21. 2017

HCI 하려면 프로그래밍을 얼마나 잘 해야 하나요?

디자이너의 영혼을 잃지 않고 공학연구 하기 - 2

HCI는 다양한 분야의 연구자들이 참여하는 다학제 연구분야이고, 다루는 주제도 매우 광범위하다. 분야의 범의를 "기술을 통해 인간을 이해하는 것"이라고 넓게 보더라도, HCI 분야 최고 학술대회인 CHI 컨퍼런스의 최신 논문들을 보면 이것이 과연 HCI 논문인지 사회과학 논문인지 분간이 안 가는 논문들도 심심찮게 보인다.


타과생 출신으로 컴퓨터공학부의 HCI 연구실에 소속되어 있다보니 종종 컴공 비전공자 분들의 진로관련 상담문의를 받는다. 이 때 대부분 받는 질문 중 하나는


제가 프로그래밍 실력이 아직 많이 부족한데 HCI 연구를 할 수 있을까요?

이다. 사실 비전공자가 컴퓨터공학 대학원 입학을 생각할 때 당연히 할 수밖에 없는 질문이고, 필자 역시 지도교수님께 면담시 드렸던 질문이었다.


여기서 교수님이 내게 주셨던 대답을 내게 묻는 다른 사람들에게도 똑같이 해주었다.

자신의 아이디어를 구현할 수 있을 만큼의  프로그래밍 능력이면 충분하다.


언핏 들으면 그다지 높은 구현능력이 필요하지 않다는 뜻으로 느껴질 수 있지만, 사실 자신의 아이디어가 얼마나 난이도 높은 기술을 요구하느냐에 따라 필요한 프로그래밍 레벨이 천차만별로 달라질 수 있다는 무시무시한 의미를 담은 말이다. 5년 동안 이 분야에 있어온 지금 필자는 여기에 좀 더 부연해줄 만한 답변을 생각해냈다.

프로그래밍을 잘하는 것보다는 좋아하는 것이 연구에 더 중요하더라.

HCI 자체가 너무 넓어서 구현부 없이 사회과학적 방법론을 이용해 기술하는 이론 논문을 주로 쓰는 사람에게는 해당이 안 될 수 있지만, 아래 그림을 보자.

출처 : http://interactions.acm.org/archive/view/may-june-2016/research-contribution-in-human-computer-interaction

워싱턴 주립대의 Wobbrock 교수님과 Kientz 교수님의 "Research Contributions in Human-Computer Interaction"이라는 아티클에서 가져온 통계자료인데, CHI 2016 학회의 제출 논문들과 승인 논문들을 컨트리뷰션별로 분류해놓은 것이다. Artifact of System에는 대부분 프로그래밍이 필요한 산출물들이 나오고, Empirical Study도 스터디를 위해 앱을 만들어 배포하는 등 프로그래밍이 필요한 경우가 많다. HCI 연구에 반드시 구현이 필요한 것은 아니지만, HCI를 공부하게 된다면 아무래도 구현이 들어간 논문 많이 접하게 되고, 구현능력이 있으면 더 넓은 HCI의 영역을 건드릴 수 있다.


프로그래밍을 잘하는 것보다는 좋아하는 것이 더 중요하다고 말한 이유는, 자신의 연구분야가 많이 좁혀져 있더라도 내가 떠올리는 아이디어가 어떤 종류의 기술을 필요로 할 지 알 수 없기 때문이다. 즉, 프로그래밍 언어나 프레임워크 하나만 가지고 쭉 연구하기 어렵다는 말이다. HCI에 사용되는 인터페이스, 웹, 앱 등의 기술들은 매우 빠르게 변하고, 새로운 라이브러리가 빠른 주기로 출시되어 기존에 쓰던 것들이 무용지물이 되는 경우가 부지기수다. 필자도 연구실에 입학하기 전까지는 플래시 액션스크립트와 자바 프로세싱을 사용해왔는데, 지금 사용하는 언어나 프레임워크들은 전부 대학원 와서 새로 익힌 것들이다. 액션스크립트는 대학원 오자마자 플래시가 망해버렸고, 인터페이스 디자인이 훨씬 정교한 C# WPF로 어플리케이션을 만들게 되면서 프로세싱도 쓰지 않게 되었다. 이런 상황적 변화에 대처하는 데에는 프로그래밍을 진짜로 좋아해서 새로운 기술이 나오면 스스로 공부해서 무언가 만들어보는 사람이 유리할 수밖에 없다. 필자가 2016년 CHI에서 발표한 TimeAware (http://younghokim.net/works/47) 논문을 위한 연구에는 C# WPF (윈도우 어플리케이션), Swift Cocoa (맥용 어플리케이션), Ruby on Rails (웹 앱), D3.js (시각화) 등의 기술이 사용되었다. 촉박한 연구일정 때문에 달리는 지하철과 버스에서도 프로그래밍을 해야 할 정도로 일의 양이 많았는데, 논문 데드라인에 맞출 수 있었던 것은 평소에 취미로 개인 웹사이트나 드로잉 앱 같은 것들을 만들기 위해 연구에 활용된 기술들을 미리 익혀온 덕분이었다.

매거진의 이전글 들어가며
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari