2016. 3. 9. 07:50ㆍUI 가벼운 이야기
by
디지털 서비스 디자이너는 반드시 코딩을 배워야 한다.
코딩을 잘 한다고 훌륭한 디자이너가 되지는 않지만, 훌륭한 디자이너가 되려면 코딩을 반드시 배워야 한다. 대학의 디자인 학과에서도 코딩을 반드시 가르쳐야 한다. 단순 HTML/CSS를 넘어 적어도 자바스크립트, 가능하면 자바,C 같은 제대로된 언어를 배워야 한다.
그것은 마치 목공예 디자이너가 대패질을 할 줄 알아야 하는 것과 같고, 패션 디자이너가 바느질을 할 줄 알아야 하는 것과 같다. 바느질을 잘 한다고 좋은 패션 디자이너가 되는 것도 아니고, 바느질을 몰라도 패션 디자이너는 될 수 있지만, 좋은 패션 디자이너가 되려면 혼자서 (다른 사람 도움 없이) 대략의 (프로토타입 정도의) 옷은 만들 수 있어야 한다.
인쇄 디자이너라면, 과거에는 디자인 학교에서 그랬듯이 조판을 직접 해 봐야했을 것이고, 지금의 인쇄 디자이너라면, 적어도 인쇄소를 문지방이 닳도록 다니면서 실제 인쇄는 어떻게 이루어지고 잉크와 종이는 어떤 성격을 갖는지 배워야한다. 물론 인쇄소 근처에도 가지 않고도 훌륭한 출판 디자이너가 될 수 있지만.
디자인 사고(Design Thinking)는 디자이너처럼 생각하기이고, 그 중 가장 중요한 것은 자기 스스로 만들고 부시고, 다시 만들고 부시고의 과정을 통해 혁신을 이루어 내는 것인데, 과거의 스크린 디자인은 자기 혼자서 만들어 볼 수 있는 것이 실제 제품의 90%까지 접근했다면, 요즘의 인터랙션이 있는 플랫 디자인은 자기 혼자서 포토샵으로 만들어 볼 수 있는 것은 최종적으로 만들어진 제품의 경험에 비해 50%도 제공하지 않기 때문에, 프로토타입 툴이 되었든 뭐가 되었든 직접 만들어 볼 수 있는 방법이 필요하다.
그런데 그런 다양한 프로토타입 방법 중에 가장 컴퓨터의 원리를 배우고 이해할 수 있는 것은, 프로그래밍을 배우는 것이다. 잘라진 나무를 모아 이케아(IKEA) 가구처럼 조립을 한다면 프로토타입 툴을 이용하는 것처럼 분명히 한 단계 전진하는 것이니까 좋다. 하지만 좀 더 깊이 이해하고 싶으면 직접 나무를 고르고 대패질과 톱질을 해야 하듯이, 컴퓨터를 좀 더 이해하고 싶다면 프로토타입 툴을 넘어서 컴퓨터 언어를 배울 필요가 있다.
1998년 경 카네기멜론 디자인과를 다닐 때, 당시 교수님들 가운데서도 이런 생각을 강하게 하는 분들이 많았다. 특히 나의 지도 교수님이었던 Suguru Ishizaki는 일본에서 디자인을 공부하고 석사/박사를 MIT에서 컴퓨터 사이언스를 한 분이었는데, 이 분이 '자바 프로그래밍' 수업을 직접 디자인 석사 과정 학생들에게 가르치고 내가 조교를 하게 되었다. 그런데 조교를 하면서 학생들이 너무 어려워 하는 것 같아서 내가 교수님에게, 자바 말고, 링고 같이 좀 쉬운 스크립트를 가르치는 것이 어떠냐라고 질문했을 때, 교수님은 매우 단호하게, 어려워도 정식 프로그래밍 언어를 배워야 컴퓨터를 제대로 이해할 수 있게 된다라고 대답했다. 이 수업의 목적은 디자인 석사 과정 학생들을 프로그래머로 양성하는 것이 아니라, '컴퓨터를 이해'하게 만드는 것이기 때문에.
사실 컴퓨터가 무엇을 할 수 있고 무엇을 할 수 없고에 대한 기초적인 이해도 없으면서 디지털 디자인을 하는 분들이 많다. 마치 나무의 옹이가 왜 생기는지 모른채, 무늬의 일부로만 생각하는 목공예 디자이너와 같다.
그래서 인터랙션 디자이너는(디지털 서비스 디자이너는, 혹은 UX, UI, GUI 디자이너는) 코딩을 배워야 한다고 생각한다.
1. 그런데 프로그래머는 디자인을 배워야할까?라는 질문은 왜 아무도 안 하는 걸까?
2. 이 글은 Andrei Herasimchuk의 글, 디자이너는 코딩을 배워야 할까? (http://ppss.kr/archives/58161)를 읽고 그의 생각에 동의를 하며 썼다.
[참고##진로교육##]
절대 동감하지 않음. 25년된 프로그래머 이구 웹 전무가임. 디자이너는 창조적으로 화면을 디자인 하면 됩니다. 그렇지 못한 풍토를 조정하는건 웹의 한계를 우리자신이 선긋기 하는 겁니다. 전 디자이너의 작품을 예술로 존중해줘야 한다고 봅니다. 즉 창의적이고 고객의 니즈에 잘 어울리도록 해야 하겠죠. 거기에 웹이 이런게 되겠어 라는 마음을 가지면 안됩니다. 이렇게 여태까지 해왔고 앞으로도 그럴겁니다.
디자이너를 존중하여 주셔서 감사합니다!
저도 상준님 의견에 동의합니다.
디자이너가 코딩을 알면 좋겠지만 그렇게 된다면 웹서비스의 기존 틀에 빠져 창의적인 아이디어가 프레임에 갇히게 될 것 같습니다.
디자인에서 어찌 보면 쌩뚱 맞을 수 있는 아이디어가 나와서 그걸 구현해 내는게 신규 서비스가 아닐지요
그 반대 경우일 수도 있지요. 칼을 잘 다루느냐 마느냐의 문제이지 실질적으로 코딩을 배우면서 새로운 가능성을 발견하는 경우도 무시 못합니다. 아니 어쩌면 훨씬 많을 수 있습니다. 코딩이 자신을 limit시킬 거라는건 새로운 걸 습득하기 두려워하여 거부하는 핑계로 들리기도 합니다. 코딩은 코딩대로, 창의는 자신이 나름대로 키워나가는 역량이라고 생각합니다. 디자인은 예술이라고 하셨는데 디자인과 아트는 엄연히 구분되어져야 한다고 생각합니다. 특히나 UI/UX디자인은 고객중심에서 문제를 해결하는 것에 중점을 두기에 이상준님께서 말씀하신 예술과는 더 거리감이 있다고 볼 수 있습니다. 흔히 착각하기 쉬운 개념인 "창의성"은 단순히 남들이 안한것, 새로운 것을 넘어서 얼마나 문제의 근본에 잘 접근하고 표현하였는지를 말하는것입니다. 코딩은 흔히 "언어"라고 표현합니다. 제 시점에선 영어를 배우면 한국어를 까먹을까봐 안 배우겠다고 하는것 같습니다. 이것도 물론 사고방식의 차이겠지요.
기획자의 요구에 의해 디자이너가 토성가는 우주 버스를 디자인해도 실제로는 써먹을 수 없는 것은 기술의 한계 때문이지요.
그렇게 되면 결과물은 그냥 작품이 되고 맙니다.
디자인은 기술에 대한 조정이 필수가 될 수 밖에 없습니다.