간단한 말로 하면, 아니, 디자인이나 잘 합시다.
나랑 마이크로소프트에서 일했던 꽤나 유능한 친구가 있다. 그 친구는 컴퓨터 싸이언스를 학부에서 공부하고 석사로 HCI를 전공하여 지금은 코드를 꽤나 잘 하는 디자이너로 정평이 나 있고, 꽤나 인정받으면서 일하고 있다. 왜냐하면 그는 혼자서 디자인부터 시작해서 완결까지 혼자서 다 알아서 할 수 있는 최적화된 디자이너이기 때문이다. 그런 디자이너는 사실 쉽사리 찾기 힘들다.
여기서 나오는 질문, 디자이너는 코딩을 하면 인정을 받을 수 있을 것인가. 어느 정도의 관점에서는 맞는 말이다. (John Maeda의 이야기) 하지만, 코딩을 어느 정도의 수준까지 해야 인정받는 디자이너가 될 수 있을 것인가. 무엇인가 ‘잘’한다는 것의 정의부터 한번 내려보자.
예전에 음악에 한창 빠져 있을 때, 미디를 배우러 선생님을 찾으러 다닌 적이 있었다. 시퀀싱 프로그램들을 배우고, 드럼 프로그래밍 등을 하는 작업이었는데, 거의 모든 선생님들이 키보드를 다루는데 능숙했었다. 그래서 질문했다.
“미디 하려면, 키보드도 잘 쳐야 할까요?”
“글쎄요. 어느 정도 본인의 감정을 표현할 수 있을 정도만 되면 될 거예요”
으악! 본인의 감정을 표현하기가 얼마나 어려운 작업인데, 그걸 저렇게 쉽게 말하다니.. 그 길로 나는 미디를 일단은 접었었다.
우리 모두는 처음 무언가를 배울 때 카피부터 시작한다. 기타를 맨 처음 잡았을 때도 개똥벌레를 카피하면서 배우고, 일러스트레이션을 배울 때도 디즈니 캐릭터들을 먼저 그리기 시작한다. 휴대폰 UI를 디자인할 때도 다른 좋은 디자인을 보고 참고하면서 시작하고, 프로토타입을 배울 때도 먼저 나와있는 예제부터 시작한다. 그러다가 어느 정도의 실력이 되면 본인의 것들을 표현하기 시작한다. 모두가 풀었던 수학의 정석 조차 “예제”부터 시작하지 않는가.
어느 정도 실력이 쌓이고 카피가 지겨워질 즈음에 혹은 더 이상 카피가 흥미로워지지 않을 때 즈음 우리는 기타로 노래도 작곡해보고, 일러스트레이션으로 본인의 캐릭터들을 그리기 시작하고, 본인의 생각이 담긴 휴대폰 UI를 디자인 하기 시작하고, 본인이 테스트하고 싶은 프로토타입을 만들기 시작한다.
이게 내가 정의하는 무엇인가를 ‘잘’ 한다는 정의이다. Medium은 그렇게 중요치 않다. 본인의 생각을 어떤 특정의 매개체를 이용해서 표현할 수 있는가가 ‘잘’ 한다는 정의이다. 자, 이제 본인에게 한번 질문해볼 만하다. 과연 코딩을 본인의 생각을 담을 수 있는 실력까지 만들 수 있을 것인가? 그게 정규적인 교육 없이, 어느 정도의 압박과 스트레스 없이 이루어질 수 있을 것인가? 그 정도의 실력을 쌓기 위해서 시간과 에너지를 투자할 시간에 본인의 디자인 실력은 괜찮을까?
무엇보다 중요한 것은 각자가 내려야만 하는 ‘왜’ 필요한가 이다. 다른 모든 디자이너가 코딩을 쫒아간다 한들, 나의 실제적인 업무에 도움이 되지 않는다면 무슨 의미가 있겠는가. 그래서, 다음 챕터.
2002년, 나는 산업공학이라는 전공을 가지고 대학교에 입학한다. 사실 컴퓨터 공학을 전공하고 싶었다. 컴퓨터가 인간과 가장 가까운 thing이라 생각하였기 때문이다. 하지만, 그러진 못했으니 코딩에 대한 꾸준한 관심을 가지긴 했었다. 1500페이지짜리 C++/ C# 기본서를 교재로 하는 수업을 들으면서 머리를 아파하기도 하고, 자판기 프로그램을 짜는 데 성공했다며 기뻐하기도 했었다. 그때 무슨 내용을 들었는지 단 한 글자도 기억나진 않지만, 코딩에 대한 기본 콘셉트는 어느 정도 잡혔던 거 같다. 그래서 그랬는지 대학원 첫 학기에 Prototyping이라는 수업에 TA로 배정되기도 했다. 그리고 두 번째 학기에는 Processing을 가지고 노는 Computational art수업에 TA로 배정되었었다. 쥐뿔도 모르는데 아는 척하느라 혼났었다.
아무튼 이러다 보니 Java script/ HTML/ CSS에 대한 이해는 어느 정도 잡히게 되었다.
자, 실무 업무를 하면서 과연 이 코딩은 얼마나 사용되었는가. 사실 그다지….. LG에서는 거의 UI시나리오를 그리는 작업 혹은 콘셉트 작업을 주로 하였고, 지금 마이크로소프트에서는 그래픽 작업, 인포메이션 아키텍트, UI목업 등을 한다. 만약 프로토타입이 필요한 상황에서는 Principle 같은 툴로 제작하지, 직접 코딩을 하는 상황은 드물다. 그게 효율상, 시간상 훨씬 절약되는 방법이다. 단 하나 도움이 되는 부분이 있다면 개발자가 제작한 웹을 크롬 inspector를 이용해서 내가 CSS를 읽고 만져 볼 수 있다는 거다.
여기서 프로그래머와 디자이너의 다른 role and responsibility를 짚어보자. 프로그래머는 최종 결과물의 안전성, 효율성, 적합성, 스피드 등을 담당한다. 디자이너는 최종 결과물의 경험, 행복, 만족도, 사용성 등을 담당한다. 이 각자의 결과물은 어느것 하나 중요시 하지 않을 수 없고, 디자이너와 프로그래머가 신경 써야 할 부분은 엄연히 다르다. 프로그래머는 기술적인 부분을 담당하고 디자이너는 사용자를 담당한다. 이 두 사람의 업무와 책임에 겹쳐지는 부분은 생각보다 적다. 그런데 디자이너에게 코딩을 요구하는건 이런 안전성, 효율성, 적합성, 스피드를 왜 디자인 하면서 신경 쓰지 않냐는 말도 안되는 요구라 생각 한다.
적어도 지난 7년간 나에게는 이런 다른 role and responsibility 때문에 디자인 업무에서 코딩이 필요하지 않았었다. 나는 그저 디자이너로서 사용자의 최적의 경험을 제공하는데 신경써야 했을뿐, for loop를 써야 하는지, while loop를 써야 하는지는 내 고민의 범주가 아니였다.
디자이너는 사용자를 신경 쓰는 사람이지, 효율성이나 속도 같은 것을 신경 쓰는 사람이 아니기 때문이다.
꼭 그런 말은 아니다. 그냥 디자이너는 코딩의 세계에 발만 담가 두었으면 좋겠다. 발만 담구라는 말은 아주 기본만 알고 이게 어떻게 돌아가는지에 대해서만 이해를 할 수 있으면 되거라 생각한다. Backend 쪽은 이제 점점 더 복잡해져서 (AI, machine learning 등등) 디자이너가 이해하는 건 불가능할 것이며, Frontend 정도는 디자이너가 코드를 읽을 수 있으면 도움이 될 수 있을 것 같다.
예를 들면, 포스터를 디자인하는 상황을 가정해보자. 이때 디자이너는 파일을 어떻게 export 해야 하는지, 어떤 종이에 프린트를 하는지, 몇 개의 색깔을 사용할 수 있는지에 대해서 이해하고 디자인해야 한다. 직접 프린트를 하지는 않겠지만, 그 정도의 Specification은 이해해야만 제대로 된 결과물이 나올 수 있다.
모바일 휴대폰의 UI의 애니매이션을 디자인 한다고 가정해보자. "이렇게 처음에 슬쩍 느려지면서 애니매이션이 시작 하다가 나중에 끝날때 즈음에 느려지는 애니매이션 이예요" 라는 말은 개발자에게 아무런 의미도 지니지 않는다. 그런 애니매이션이 어떤 수치를 가지고 구현해야 하는지에 대해서 수치로 이야기 할 수 있어야 한다. 즉, 개발자에게 저렇게 설명해봤자 아무 도움도 안되고, 수치고 cubic-bezier(.17, .67, .83, .67) 이런 식으로 이야기 할 수 있어야 한다. 딱 거기까지다. 그걸 어떻게 구현해야 할지는 개발자의 담당이다.
본인이 뭘 디자인하고 있는지 이해할 만큼만
코딩의 세계에 발만 담가두었으면 좋겠다.
우리의 주요 업무는 디자인이다. 디자인 업계가 코딩 쪽으로 우르르 몰려 간다고 절대 디자인을 소홀히 해서는 안된다는 말이다. UX 디자이너의 특성상 우리는 그림을 그렇게 잘 그리지도, 그래픽에 대한 지식과 이해가 그렇게 뛰어나지도, 그렇다고 뛰어난 감각이 있지도 않다. UX 디자이너의 승부수는 프로세스에 있고, 그 안에서 사용되는 방법론과 생각의 줄기들에 큰 승부수가 있다. 그러나, 이런 업무적 특성의 맹점은 디자인 스킬이 좋다고 단박에 증명해낼 수가 없다.
내 생각에는 이런 UX 디자이너의 업무적 특성 때문에 코딩이 부각되었다고 생각한다. 다른 사람들과의 차별점이 어떻게든 필요할 테니, 코딩을 잘 한다고 하면 다른 디자이너들과 다르게 부각될 수 있기 때문이다.
결국 하고 싶은 이야기는, 코딩이 거품일 수도 있다. 오버하지 말자.
프로그래밍이 어떻게 돌아가는지 기본적 이해를 해야 하는가? 그렇다. 사실 모두가 그랬으면 좋겠다.
디자이너라서 그 이상을 해야 하는가? 하고 싶으면 해라. 하기 싫으면 하지 마라. 디자인이나 더 잘해라.
어디까지나 이 글은 나의 생각이다. 아마 이 글에 동의하지 못하는 사람도 많을 것이다. 이 글은 전적으로 내 경험에 의거해서 쓰여졌고, 내 경험은 대기업에서의 디자이너 역할밖에 없었다. 그 외의 다른 컨텍스트를 띈 디자이너의 의견은 다를 수 있다. 그들의 모든 의견도 respect. 각자의 경험은 다르기 때문에 각자의 의견도 존중되어야 한다. 그러나 가끔 코딩을 공부한다고 디자인으로 소홀히 하는 디자이너들을 보면 좀 말리고 싶은 생각이 들어서 이 글을 쓰게 되었다. 코딩이 업무에 필요함을 느껴서 배우는 건 절대적으로 찬성이지만, 모든 디자이너가 코딩을 시작했다고 해서 본인도 해야만 할 것 같은 압박을 느끼지 않았으면 좋겠다. 그냥 하던 거를 더 잘 하는, 디자인으로 승부를 보는 디자이너가 되었으면 좋겠다.
관련 아티클:
https://www.fastcodesign.com/3050675/designers-should-design-coders-should-code
https://medium.com/@MrAlanCooper/should-designers-code-417de265531c