저는 둘다 하고싶어요.
누구나 살다 보면 번아웃 증후군이 이따금 오기도 한다. 그 계기가 어떤 것이 되었든 갑자기 찾아올 수도 있고, 생각과 고뇌의 굴레로 점점 빠져들었을 때 오기도 하는 것 같다. 몇 년째 자유로운 영혼으로 일을 해왔고 그 자유에 따른 고민과 걱정을 하며 몇 년을 보내온 것 같다. 물론 사회적 나이로 보았을 때 많은 나이는 아니지만.
최근 들어서는 "내가 무얼 하는 사람인가?"에 대한 고민을 많이 한다. 디자인에, 엔지니어링을 곁들인 작업을 하는데 항상 직관적으로 드는 고민은 '디자인 역량'과 '개발 역량'의 균형 그리고 내가 구사할 수 있는 기술의 레벨이 낮지 않은가? 하는 것이다.
디자이너라면 디자인에 대한 공부와 탐구를 하면 깔끔한 정리가 되겠지만 그것을 실제 구현하기 위해 개발을 곁들인다는 것은 또 다른 차원의 문제 이기 때문이다. 물론 내가 개발만 하는 개발자만큼의 수준이라고 생각하지도 않는다.
당장 디자인만 하더라도 최신 트렌드에 민감하고 1년~2년만 지나면 금방 구식 디자인이 되고 만다. 물론 요즘에는 디자인 가이드라인이나 그 논리가 어느 정도 평준화, 보편화되었다고는 생각한다. 새로운 디자인 언어, 트렌드가 나오더라도 그 디자인의 세대적 간극이 옛날만큼 크지는 않다는 것이다.
순수한 '디자이너'는 그 약간씩의 간극을 인식하고 본인의 스타일을 공부한다면 트렌드 따라잡기는 생각보단 어렵지 않다는 게 개인적인 의견이다. 당연히 거기에 사용자 경험을 곁들이는 프로다운 문제 해결 능력이 동반되어야 정말 쓸모 있는 디자인을 할 수 있긴 하겠지만.
이제 우리 같은 사람은 거기에 한술 더 떠야 한다. 디자인뿐만 아니라 기술적인 트렌드도 익혀야 한다. 아마 산업디자이너라면 그 부분에 조금 더 민감하고 예리하게 대응하는데 실제 그것을 공부하고 디자인과 결합하여 결과물을 도출하는 것은 하겠다면 꽤 많은 노력이 필요하다.
(참고로 여기서 언급되는 기술 또는 개발에 대한 내용은 XR, 그래픽스 또는 웹의 프런트엔드 정도에 해당하는 내용이다. 필자는 백엔드나 기타 하드웨어 부분에 대해서는 개발 경력이 거의 없다.)
이런 부분이 디자인 엔지니어들에게 일태기를 선사하는 부분이 아닐까 한다. 아 물론 항상 정답은 정해져 있다. "둘 다 열심히" 공부한다면 너무나도 뛰어난 능력을 갖출 수 있게 되겠지. 그럼에도 우리는 어떻게 방향을 잡고 나아가야 하는지에 대해 이야기하고 싶은 마음에 글을 끄적인다. (아직 답을 찾지 못해 생각을 정리하고픈 마음도 한 스푼 첨가 해 본다.)
지금부터의 이야기는 논리 정연하지 않을 수도, 그다지 생산적이지 않을 수도 있다. 또, 팀으로 일하거나 파트를 나눠 일하는 분들은 공감이 되지 않을 수 있다.
이 글을 읽는 분들은 '디자인'이 뭐라고 생각하시는지 궁금하다. 가장 직관적으로 답을 하자면 "무언가 만들어 내는 것, 창조해 내는 것, 설계해 내는 것" 정도가 되겠다. 딱 명확하게 디자인은 무엇이다. 하는 것이 어렵다면 동감이다. 너무나도 다양한 의미로 디자인이라는 단어가 쓰이고 있고 디자인이라는 단어를 인터넷에 검색해 보아도 정말 각양각색의 단어에 대한 설명이 나온다.
디자인이 어려운 이유가 단어에 그대로 드러난다. 우리가 통상적으로 말하는 무언가 '디자인' 하는 것에는 수많은 방법론이 있고, 그것을 뒷받침하는 '근거' 들이 있다. 기본적으로 상업적 디자인에 통하는 것인데, 상업 디자인이 아닌 '아트적인 디자인' 또한 그것을 크게 벗어나지는 않는 것 같다.
말하고자 하는 것은, 우리같이 개인이 원맨쇼(?) 하는 디자인 엔지니어들이 그 모든 방법론과 논리를 통해 결과물을 만들어 내는데, 두 가지 모두 100% 만족스럽게 개발해 내냐는 것이다. 아닌 분도 있겠지만 대부분 스스로 적당한 균형, 합의점을 찾을 것이다. 이유는 당연히도 구현하는 데 있어서의 기술적 미흡함, 그에 따른 디자인 또는 사용자 경험(UX)을 반영할 수 있는지에 대한 여부 등이 되겠다.
좀 더 들어가면 훨씬 복잡해진다. UX에 대해 언급하였는데, 특정 기능을 구현했다고 치자. 하지만 그 인터렉션 방식, 인터렉션이 동작하는 느낌이 톤 앤 매너에 맞는지, 최종 단계에서는 최적화 문제까지. 아직까지 나는 이 모든 조건을 100% 만족한 프로젝트는 단 하나도 없었다.
논리적으로, 해당 조건이 모두 만족되려면 몇 가지 조건이 있다.
1. UX 리서치 과정을 모두 거쳐 디자인 프로토타입을 만들고 사용성 테스트를 거치고 최종 개발 단계까지 갈 수 있는 충분한 시간.
2. 그리고 그것을 받쳐줄 수 있는 '프로젝트 예산'
3. 가장 중요한 충분한 인력
일단 1번은 거의 충족이 안될 것이고, 2번도 마찬가지고, 3번은 가능할 수도 있겠다. 근데 저 조건들이 충족되는 한 가지 경우가 있을 것으로 생각되는데 (잘은 모르지만) 대기업 프로젝트에서는 가능 성이 있어 보인다.
근데 대기업 프로젝트라면 디자인엔지니어보다는 각 분야의 전문인력이 프로젝트를 협업하지 굳이 우리같이 원맨쇼 하는 사람들을 들여서 진행하지는 않을 것이다. 굳이 찾자면 게임 개발사의 TA(Technical Artist) 들이 있겠지만 흔한 포지션은 아니다.
그럼 어디서 쇼를 펼치겠나? 일반적으로 중. 소 형 프로젝트이거나, 오랫동안 지속하지 않는 프로젝트를 하는데 안타깝게도 그런 것들은 위 조건을 모두 충족시키지 못한다. 이것들을 반복하다 보면 내가 하고 있는 고민에 직면하게 된다. 우리는 어떤 부분에 능력 스택을 쌓아야 하는가? 하면서 말이다.
다른 분들은 어떤 결론을 내리셨는지 모르겠지만, 먼저 나만의 테마를 만들어 보자는 생각이 들었다. 그 테마는 비전이 있어 보이면서, 발전이 계속되는 분야이고, 그만큼 상용으로 활용이 되고 있느냐는 것이 기준이었다.
테마를 정했다고 모든 고민이 끝나는 것은 아니었다. 먼저 테마를 만든 것이지 어디에 더 가중치를 두고 나를 발전시켜 나갈 것인가는 또 다른 문제이다. 원래 사람은 문제를 제기하고 해결하고 다시 제기하고 해결하면서 조금씩 나아가는 동물이 아닌가? 그래서 난 항상 문제와 의심을 가진다.
"그렇게 고민이면 한 가지만 깊게 하면 되지 않겠는가?" 하는 의문을 가질 수도 있겠지만, 이미 그런 문제에 대해서 고민하고 나온 결론이 "원맨쇼가 가능한 사람이 되자."였다. 디자인은 물론 개발까지 이미 AI가 단시간에 깊숙이, 체감 가능 할 만큼 쓰이기 시작했다. GPT한테 적절한 설명과 함께 코드를 짜달라고 하면 코드를 짜주고, 피그마 AI 한테 UI를 디자인해 달라고 하면 프레임을 짜주고, 일러스트레이터에서 생성형 벡터 이미지 프롬프트를 입력하면 뚝딱 일러스트가 만들어진다.
우리가 방대한 양의 정보를 학습하고 숙련시킬 시간에 AI 프롬프트 공부하는 게 훨씬 이득일 수 있다. 단, 어느 정도 디자인, 개발 언어에 대해 기초적 지식, 읽기 능력이 있다는 전제 하에 말이다. 그래야 AI가 생성한 결과물을 가공할 수 있으니까.
AI 발전의 큰 수혜자 중 하나는 디자이너가 아닐까 생각도 한다. 디자인이라는 것은 방법론도 중요하겠지만, 방법론에 따라 학습된 '감각'이 큰 무기이다. 또, 상황에 따라 적합한 사용성을 만들어 내는 것에 능숙하다면 금상첨화이고 적절한 기술에 대한 이해를 통해 AI로 기능을 구현한다면 의도하고자 하는 바를 확실하게 구현할 수 있다. 굳이 누구 손을 타지 않아도 말이다.
내가 본 대부분의 개발자들은 디자인 '감각'이 없다. 죄송하지만 대부분 그렇다. 깔끔하고 모던한 느낌은 만들 수 있어도 세련되고 트렌디한 디자인 언어로 사용자들과 소통하는 것은 디자이너들에게도 꽤 어려운 일 이기 때문에 그것을 스스로 익혀 사용할 수 있는 개발자는 많지 않을 것이다.
정리하자면 이런 상황에서 AI를 통해 개발을 좀 더 쉽게 접할 수 있는 상황이 된 디자이너들은 축복받았다고도 할 수 있다는 것이다. 개발뿐만 아니라 일러스트조차 AI한테 시키고 입맛에 맞게 빠르게 수정하며 생산성도 올릴 수 있다. 이 얼마나 좋은 세상인가?
반대의 경우도 충분히 있을 수 있다. 개발자가 훌륭한 디자인 AI의 도움을 받아 작업을 하는 경우를 생각해 보자면 어쩌면, 디자이너보다 엔지니어링적인 측면에서 꽤 우수하도록 하면서 디자인도 조금은 챙겨가는 그런 결과물을 도출해 낼 수 있을 것이라고 추측해 본다.
산업디자인학과를 졸업한 사람으로서 어찌 되었건 근본적인 속성은 디자이너인 것 같다. 어찌 되었던 미적인 부분을 추구하고, 어느 정도 감성적인 영역을 충족시켜 주어야 훌륭한 제품(소프트웨어이건 하드웨어이건)이라고 생각하기 때문이다. 아마 개발자들은 좋은 최적화, 훌륭한 기능을 우선으로 생각할 것이다.
그래도 프런트엔드 공부를 대학교 2학년 시절부터 시작했으니, 짧게 공부한 편은 아니다. 그래서 디자인과 개발공부의 차이점을 잘 알고 있다. 이 부분은 디자인도 하면서 개발도 하려는 분들에게 경험에 대한 공유를 한다고 생각하겠다. 또는 그 반대의 분들에게도.
디자인과 개발공부는 서로 비슷한 부분도 있지만 근본적으로 그 공부의 방식과 추구하는 방향이 반대이다. 디자인 공부도 개발만큼 다양한 분야가 있고 학습량도 적지 않다. 여기서의 학습은 이론을 곁들인 감각에 대한 학습량이다.
디자인에는 정답이 없다. 개발도 정답이 없지만 디자인은 더욱더 없다. 개발은 동작이 안되거나 스무스하지 않거나 하는 '명확한' 어떤 판단 기준이 있지만 디자인은 주관적인 판단 영역이 꽤 크다. 이론적으로도 설득력이 있고 내 눈에 예뻐 보여도 다른 사람 눈에는 그렇지 않을 수 있다는 것이다.
그 '주관적인 부분이 작용한다.'라는 것이 개발과 디자인의 공부 방법을 다르게 하는데 차이점을 가르는 것 중 하나이다. 디자인을 할 때, 사용 환경에서의 가장 최적의, 보편적인 사용성, 심미성을 찾기 위한 과정과 방법론들이 있다. 목적에 대한 조사 및 분석 - 사용자 조사 - 경쟁사 분석 - 그에 따른 가설 설정 - 가설에 따른 저니맵 등 수치화, 객관화되지 않은 것들에 대해서 결과를 도출해야 한다. 개발에서는 어떤 언어, 시스템 구조, 타깃 플랫폼 등을 설정하는 과정이라고 볼 수 있겠다.
경험상 타깃 플랫폼이나 어떤 프레임웍, 언어, 라이브러리를 사용할 것인지 판단하는 것은 요구사항에서 명확히 드러나고, 개발자 또는 업체별로 통상 사용하는 것들이 있으니 어느 정도 객관화 되어있는 것들이라는 부분이 디자인과 다른 부분이다.
개발을 공부할 땐 명확하게 부족한 부분이 보였고 어떤 것을 공부해야 할지 검색하면 어렵지 않게 찾을 수 있었다. 예를 들어 문법이 이해가 안 된다면 외우거나 쓰다 보면 익혀지고, 어떤 기능을 넣고 싶을 때는 검색을 통해 깃허브에서 가져오거나 GPT한테 말하면 훌륭하게 동작하는 코드가 나오고 내가 그 코드를 리뷰하면서 공부할 수 있었다.
이렇게 보자면 개발이 공부하기 더 쉬운 것처럼 보이지만, 전혀 그렇지 않다. '명확' 하다는 것이 '쉽다'라는 것은 아니다. 디자인은 조금 이상해도 바꾸면 되지 고장이 나지는 않는다. 하지만 코드는 이상하면 그냥 동작을 하지 않는다. 논리적으로 맞아야 하고 마치 톱니바퀴 같은 것들이라 하나라도 논리에 맞지 않는다면 그 기능은 움직이지 않는다. 여기서 디자인과 다른 점이 또 보이는 것이다.
그리고 공부를 하면 할수록 더 어려워진다. 아마 공부를 해보신 분들이라면 이해를 하시겠지만 대충 동작하게 만드는 것과 또 다른 문제로 좀 더 효율적이고 코드의 재사용성이 좋도록 하면서 최적화가 좋게 하려면 그것도 상당한 숙련도가 필요하고 라이브러리를 사용하는 경우에 또 그 라이브러리에 대한 개별적 학습을 해야 한다.
디자인은 어느 정도 이론에 대한 학습이 되고 감각 또는 감을 잡게 되면 이상한 부분도 금방 캐치가 가능하고 빠르게 디자인 시안을 뽑아내는 능력이 생긴다. 한마디로 '러닝커브(Learning Curves)'가 다른 것 같다.
(좌 - 디자인 러닝커브)
(우 - 코딩 러닝커브)
야매로 대강 그린 지극히 주관적인 러닝커브이니 다양한 의견은 댓글로 써주시면 좋겠다. 다시 한번 말하지만 난 컴퓨터프로그래밍 하는 전공은 아니고 따라서 '개발' 단일 종목에 대한 전문가는 아니다.
여하튼, 디자인은 초반에 이론과 다수의 프로젝트, 경험으로 경험을 쌓는다면 '감각'으로 인해 디자인을 생산하는 난이도 자체는 꽤 많이 쉬워진다. 프로젝트마다 다르겠지만 단순 '디자인 생산' 능력에 대한 이야기이다.
코딩의 경우 'Hello World'를 출력시키고, 글씨 출력할 때는 매우 쉬워 보이나 난이도가 점차 상승한다. 거의 대부분 하나하나 공부를 하게 되니 비교적 선형적으로 난이도가 오르는 듯한 느낌이지만, 쉬워지지는 않는다. 항상 요구사항이 동일한 프로젝트를 하면 모를까....(단순 웹사이트 같은) 우리 같은 원맨쇼 하는 사람들은 다양한 환경에서 전천후로 구르는 경우가 많기 때문에 요구사항도 다양하고 당연히 후반의 러닝커브는 상승할 수밖에 없다.
글을 쓰다 보니 디자이너 시각에 더 가깝게 글을 쓴 것 같다. 당연한 것 이기도 하다. 어찌 되었던 디자인 전공을 했고 거기에 코딩 공부를 곁들여한 것이니 말이다. 디자이너 입장에서 코딩을 공부하자면 여러 가지 방법이 있겠다. 클래스 101 같은 온라인 강의를 활용할 수 도 있겠고 유튜브에서 강의를 볼 수도 있고, 책을 사서 공부할 수도 있다.
내가 공부하면서 느낀 것은 '정석적인' 커리큘럼만 따라간다면 실력이 늘지 않는다. 사람은 망각의 동물이기 때문에 오는 본 문법이 내일은 생각이 안날것이고, 그래서 같은 것만 반복할 수는 없다. 정신적으로도 지칠 것이고 재미도 없을 거다.
그래서 초반에는 생활코딩이나 Sololearn 같은 곳에서 기본 개념을 빠르게 훑고 지나간 후에 책을 사서 궁금하거나 부족한 부분을 다시 보고, 곧바로 클론 코딩을 해보거나 간단한 프로젝트를 진행해 보는 것이 효율적인 공부 방법이 아닐까 한다. 각자 맞는 공부법이 있겠지만 시간적 측면, 효율성 측면에서 나쁘지 않다. 간단한 프로젝트를 만들어보거나 클론 코딩 하는 것이 꽤 큰 도움이 된다. 개념만 공부하게 되면 큰 그림을 못 보게 되고 이게 어떻게 어디서 왜 이렇게 동작하는지 알기 어렵다.
직접 프로젝트를 만들어본다면, 디자이너 입장에서는 개발의 전체적인 과정을 익히게 되고, 어디서 어떤 기술을 사용하는지 어떻게 동작하는지 이해하기 쉬워지기 때문에 나중에 다시 이론공부를 복습할 때도 "이게 이렇게 사용되었었지" 하면서 좀 더 빠르게 개념을 흡수할 수가 있다. 물론 금방 다시 까먹겠지만 반복한다면 다시 찾아보더라도 이해하는 시간이 짧아지기 때문에 의미가 크다.
코딩도 분야가 너무나도.. 많기 때문에 다시 한번 상기시켜 드리자면 프런트엔드에 대한 이야기이다.
만약 개발자가 디자인을 공부하고 싶다면, 일단 많이 보는 것을 추천한다. 대표적으로 노트폴리오, 비핸스 같은 포트폴리오 사이트가 있다. 가서 최신 글 (2년 내)를 보면서 본인이 좋아하는 스타일의 디자인을 찜해놓거나 스크랩해 보는 것이 좋다. 디자이너들도 각각 추구하는 디자인 방향이 있고 스타일이 있다. 그것을 찾으면 디자인이 좀 더 즐거워질 수도 있다.
그리고 디자인 유튜브를 보는 것이 좋다. 누구라고는 콕 집어 말하기는 어렵지만, 디자인 유튜버를 보게 되면 다양한 디자인 사례들도 보면서 디자인을 수정해 주는 콘텐츠도 볼 수 있다. 그걸 보면서 좀 더 보편적으로 나은 디자인이 어떤 것인지 배우는 것이 가능하다.
이론부터 정석적으로 배우는 것은 쉽지 않다. 클래스 101 같은 유료 강의를 듣는 것도 좋다. 하지만 근본적으로 디자인은 많이 보고 머릿속에 레퍼런스들이 쌓이고 그것을 다시 조합하는 과정을 하는 것이기 때문에 안목을 키우는 것이 가장 좋은 성장 방법이다.
구체적으로 서술하지 못한 내용이 많다. 사실 가볍게 이야기하고자 한 주제였다. 나도 아직 내 색을 찾지 못한 것 같다. 시간이 지날수록 무언가 프로젝트를 할 때 예전만큼의 두근거림이 없는 것도 사실이다. 그래서 요즘은 디자인 엔지니어로써의 방향에 대해 계속 고민하고 내 색을 보여줄 수 있는 프로젝트를 어떻게 기획해 볼까 하고 있다.
지금 주력 스택은 WebXR 작업이다. 사람들이 접근하는 것이 쉽고 배포가 상당히 용이하기 때문에 웹에 뛰어난 시각적 3D요소를 담아내는 것은 꽤 멋진 일이라고 생각한다. 웹에서 동작하려면 저사양에 최적화시키는 것이 필요하기에 거의 대부분 누구나 제약 없이 콘텐츠를 사용할 수 있다는 큰 장점도 있다. 프런트엔드, 3D그래픽스 등 복합적으로 이해해야 하는 것들이 많지만 그래서 매력적인 분야이다.
너무 내가 할 수 있는 것에만 집중해서 나를 표현하려고 하는 것이 디자이너로써 큰 고민이 될 때도 있었다. 하지만 내가 할 수 있는 것을 이용해 나를 표현하는 것이 큰 능력이고 기술이라는 생각이 든다.
이 글을 읽으시는 디자이너 분들도, 개발자 분들도 각자의 분야를 공부하여 내가 표현하고자 하는 것을 뚝딱 만들어 내는 멋진 올라운더가 될 수 있길 바란다.