Computational Design
설명 비디오 - link
오디도 북 - link
Part A
4차 산업의 파도는, 거의 모든 영역에 걸쳐 영향을 주고 있다. 그 파도는, 새로운 산업을 만들거나, 기존 영역 발전을 가속화시키거나, 혹은 사라지게 하기도 한다. 생각해 보자. 이 파도는 쓰나미처럼 나를 덮치는 재해로 볼 것인가? 아니면 그 파도를 타고 앞으로 나갈 기회로 활용할 것인가? 이러한 영향 때문에, 창업, 국책 사업, 워크숍, 포럼, 학교의 수업 프로그램 등등에서 4차 산업의 키워드 파도타기가 주요 트렌드로서 활발히 논의되고 있다. AEC(Architecture, Engineering, Construction) 산업도 예외는 아니다. 단편적으로, 건설 건축 관련 스타트업을 보면, 사업 내용이 인공지능과 관련이 없음에도 불구하고, 그 키워드로 포장하는 사례도 쉽게 찾아볼 수 있다. 하지만, 이러한 현상이 긍정적인지 부정적인지 지금 판단하는 것은 시기상조로 보인다. 그러나 보수적인 건축산업에, 과거와는 다른 유의미한 충격을 주는 것만은 명확하다. 사실 돌이켜 보면 이러한 변화는 어느 시대에서나 항상 존재하던 것들인데, 과연 어떤 무엇이 4차 산업혁명의 영향이, 다양한 산업 전반에 영향을 미치며, 기저를 흔들며, 그 보수적인 건축산업에서도 많은 사람들에게 회자되는 것일까? 또 디자이너들은 무엇을 어떻게, 왜 준비해야 할까?
1. 속도, 얼마나 빠를까?
4차 산업 혁명의 기본 도구는 컴퓨터이다. 즉, 계산을 하는 도구에 불과하다. 그런데 그 계산의 속도가 상상할 수 없는 속도로 빠르다. 손에 들고 다니는 스마트 폰의 속도도 1초당 11조 번 연산을 가능하게 한다는 것이다. 빠르게 판단을 내려야 하는, 실시간 전략 비디오 게임의 경우, 프로게이머들도, 평균 1 분당 300여 회의 명령을 이행시키는 것에 반 해, 컴퓨터는 분당 66 조회 연산한다는 것이다. 물론 이렇게 단순 비교하기는 무리가 있을 수 있으나, 컴퓨터의 최대 장점인 속도, 그리고 인간처럼 지루해하지 않고, 시간이 흘러감에 따라서 정확도가 떨어 지지도 않는다. 또한, VR과 AR의 경우에도, 장시간 착용해도 어지러움을 느끼지 않으려면, 기본적으로 프레임 레이트(Frame rate)가 확보가 되어야 한다. 초당 90장의 화면을 영사기로 연속 투영한다고 가정했을 때, 11ms 안에 모든 연산을 마무리하고 화면이 그리는 것까지 마무리가 되어야 한다. CPU와 GPU의 연산속도뿐 아니라, 네트워크의 통신 속도 또한 중요하다. 특별히, 자율주행의 경우, 5G 네트워크를 필수적으로 본다. 왜냐하면 '1000분의 1초'(1ms) 수준으로 낮아지는 '초저지연' 통신이 반드시 보장이 되어야 한다. 1ms의 경우, 100km/h의 속도로 달리는 차량의 이동 거리는 약 27.77cm를 이동한다고 한다. 만약 지연시간이 느려진다면, 2미터 혹은 10미터 이상 이동거리의 오차가 생겨, 심각한 사고로 이어질 수 있다. 사실 많은 알고리즘과 방법론들이 좋은 성능을 보여줌에도 불구하고, 실행 시간이 느려 상용화가 되지 못한 것들이, 이러한 컴퓨터의 계산 성능의 발달로 다시 산업에서 주목받는 경우도 많다. 병렬 컴퓨팅으로 다시 전성기를 맞은 딥러닝 기술이 그 예이다.
2. 어디서 일어나는 혁명인가?
소프트웨어의 이해는, 변화되는 산업의 파도를 타는 주요 단초이다. 산업의 특성에 따라, 로봇이나, 드론, 혹은 자율주행의 경우, 현실의 물리 환경을 고려해야 하는 것이 분명하다. 그러나, 결국 핵심 계산과 결과들은 소프트웨어 세상 안에서 일어난다. 그리고 그 결과를 이행(Implementation) 적용하는 단계에서는 산업에 특성에 따라 현실세계를 위한 하드웨어까지 확장될 수 있다는 이야기다. 그렇다면, 소프트웨어, 즉 디지털 환경이 왜 중요할까? 만약, 소프트웨어를 포토샵이나 스케치업 같은 디자인 툴, 혹은, 엑셀 같은 사무 자동화를 구현하는 도구로만 이해를 하고 있다면, 소프트웨어를 제대로 보고 있는 것이 아니다.
소프트웨어는, 베르나르 사르트르(1130년)의 말처럼, 거인의 어깨 위에서, 세상을 바라보게 해 주는데, 강조할 지점은, 과거의 그 어떤 방법들보다 효율적이고, 실제적인 방식을 제공해준다는 것이다. 21세기 양식으로, 더 효과적으로 거인의 어깨 위에 올라서는 것이다. 즉, 소프트웨어는, 인류문명을 통해서 쌓아 올린 지식(Knowledge)과 기술(Tech-Knowledge)그리고 인사이트(Insight)를 이행 가능한 형태로 패키지 한 것이라 정리할 수 있다. 간단한 3차원 모델링 소프트웨어도, 그 뒷단에는, 고대 그리스 시대부터 발전시켜온, 수학(계산 때), 기하학(3차원 그래픽 구현 때), 철학(소프트웨어 파이프라인 구축 때)등의 다양한 지식 체계들이 씨줄과 날줄로 엮어 있고, 효과적으로 실행 가능하며(executable), 편리하게 분배(Distributable)할 수 있는 이동 가능한(portable) 형태로 패키징 되어 있다는 것이다. 과거 요하네스 구텐베르크(Johannes Gutenberg) 인쇄술이 지식혁명을 촉발했듯이, 소프트웨어의 파워는 사실상 더 큰 영향을 우리의 삶과 산업에 미쳐오고 있다.
4차 산업의 핵심은 소프트웨어 단에서 일어나는 소프트웨어 혁명이라고 해도 과언이 아니다. 물리적 영향을 받지 않는 디지털 공간에서 과거와 비교할 수 없는 극단적인 효율로, 지식을 실행 가능한 서비스로의 적용이, 물질세계의 기반을 둔 그 어떤 것들과 비교할 수 없을 만큼 굉장히 빠르다. 가령, 꿈의 소재 그래핀의 경우 연구결과는 약 17년 전에 나온 물질이긴 하지만 우리의 일상생활 깊이까지는 현실적인 대중화가 이루어지지 않았다. 그러나 소프트웨어의 경우는 알고리즘들이 개발이 되고, 실제로 서비스가 가능한 레벨까지, 굉장히 빠른 속도로 발전이 가능하다. 또, 인터넷, 모바일, 컴퓨터 기기들을 통해, 세계 구석구석에 서비스할 때도, 비용과 시간적 측면이 비교할 수 없다. 이러한 속도와 경쟁력은 디지털 가상공간인, 소프트웨어 단에서 일어 나기에 가능하다.
결국 컴퓨터의 정확도와 계산력을 바탕으로 인류가 쌓아올 리 지식체계들을, 실행 가능한 형태로 만들어 적용할 수 있는 4차 산업의 환경이, 이전의 혁명과 구분될 수 있다고 볼 수 있다. 뒷부분에 더 자세히 설명하겠지만, 데이터와 함께, 소프트웨어 파워, 그 잠재력을 잘 살려, 그 속도, 규모를 앞세운 서비스로, 인터넷을 통해 국경을 해체시킨 기업들을 보면, 그 수익이, 국가의 GDP를 앞서는 기업들도 속속 나오고 있는 현실이다. 디지털 세상에서, 물리 세상의 병목현상 없이, 빠른 계산속도와, 그 계산을 정의할 소프트웨어 즉 알고리즘을 가지고 있다고 한다면, 무엇을 계산하겠는가? 바로 4차 산업혁명의 쌀인 데이터를 요리하는 일이다.
3. 데이터, 현상의 압축 정보의 향연
이전 산업에서 “철”이 산업의 쌀로 여겨진 것처럼, 4차 산업의 쌀은 데이터로 볼 수 있다. 인공지능, 머신러닝, 빅데이터, 클라우드, 에지 컴퓨팅, 사물인터넷, 초 연결, 5G, 자율주행, 드론, 병렬 컴퓨팅, 블록체인 등등의 키워드로 4차 산업을 표면적으로 이야기할 수 있지만, 공통분모의 기저에는 사실상 데이터가 있는 것이다. 데이터의 중요성은, 컴퓨터공학을 전공하지 않은 비 전공자도 잘 알고 있다. 2010년을 전후 즈음에 “빅데이터” 키워드의 대중화가 선도했고, 10년이 지난 지금, 초등학교 수업에도 인공지능을 이야기하며, 데이터와 코딩을 배우고 있는 실정이다. 왜 이처럼, 데이터를 중요하게 생각할까?
데이터(Data)는 현상의 표상(Representation)으로 볼 수 있다. 현상을 추상(Abstraction), 압축된 효과적인 디지털 정보문서로 볼 수 있다. 컴퓨팅 파워와 함께, 방대한 데이터를 확보하고, 계산하고 적용하고, 인사이트를 추출하는 것이, 과거의 수기와 비교할 수 없을 정도로, 정확하고 빠르고 용이하다는 것이죠. 세계 유수의 CEO들과 석학들 사이에서, 데이터는 앞으로의 슈퍼 파워이고, 새로운 오일이라는 말들은 여기저기서 회자되는 이유라고 생각한다. 작금의 시가총액 Top 10 기업 중 8개의 기업이 데이터를 수집하고 데이터를 분석하고 활용하는 비즈니스를 하고 있다.
가령, 인공지능의 구현은 여러 가지 방법이 있지만, 우리가 일상생활에서 사용하는 인공지능은, 많은 수가 머신러닝으로 구현되고 있다. 다른 형태의 AI 구현들도 비슷하지만, 특별히 머신러닝에서 기계가 학습할 때, 그 근본이 되는 소스는, 결국 데이터이기 때문이다. 예를 들면, 일반적인 프로그래밍은 함수를 만든다. 그 함수 안에는 여러 가지 조건들이 있고, 그에 따른 결괏값을 반환한다. 그러나, 머신러닝의 경우, 반대로 수많은 결과 값의 데이터가 이미 주어져있고, 그 결괏값을 바탕으로 함수를 역설계를 하는 것이다. 그 결괏값을 가장 잘 설명하는 함수를 최적화시키는 과정을 머신러닝으로 볼 수 있다. 그렇게 함으로써 데이터가 가지고 있는 수많은 조건들을 가장 잘 설명하는 결괏값을 반환하는 함수를 모델링할 수 있는 것이다. 만약 일일이 프로그래머가 그 경우의 수를 다 프로그래밍하고, 데이터들에서 온 인사이트(Insight)들의 상관관계를 이해하며 구현하는 것은 사실상 불가능하다. 이처럼 머신러닝은 데이터를 활용하는 프로그래밍의 관점으로 볼 수 있다. 다른 의미로, 수만수억의 개인들이 모여서 만든 인텔리전스를 프로그램화시킨 관점도 있다.
4. 재료 그리고 도구
인류는, 구석기, 신석기, 청동기, 철기를 거치며, 그 시대에 따른 재료와 그에 맞는 도구들을 발달시켜며, 여러 가지 필요한 것들을 만들고 디자인하며 문명을 발전시켜오고 있다. 재료가 진보될수록, 도구와 가공기술들은 정밀해지고, 디자인 프로세스와 결과물 또한 다양해지고, 정밀해지고 있다. 특별히 건축, 혹은 프로덕트 디자인의 경우, 재료의 따른 설계의 변화는 더욱 명백하다. 가령, 기원전 15세기 이집트에서부터 인류는 유리재료를 발견, 활용하기 시작했고, 유리를 가공하기 위한 도구와 프로세스들이 개발되고 있으며, 현재까지 산업에서는 아주 중요한 재료로 사용되고 있다. 천연수지부터 시작하여, 석유산업에서부터 파생된 합성 플라스틱의 재료는 인류에 삶에 많은 변화 가져왔다. 플라스틱은, 다양한 특성을 지닌 플라스틱으로 발전되고 그에 따른 도구와 프로세스들이 함께 발달되었다. 콘크리트 재료는 건축, 건설 산업에 굉장히 중요한 이정표로 볼 수 있다. 작금의 건설산업은 콘크리트를 다루기 위해 여러 가지 도구들과 프로세스들을 발전시켜 왔다고 볼 수 있다. 4차 산업의 새로운 재료는 데이터이다. 디자이너에게 데이터라는 재료가 앞에 놓여있다. 이 데이터를 가공하기 위해 코드(Code)는 도구가 있고, 그 도구로 알고리즘이라는 디자인 프로세스를 개발, 적용할 수 있는 것이다.
중간 요약을 해보면, 디자이너가, (1) 컴퓨팅 파워를 적극 활용한, (2) 물리적 제약을 받지 않는 디지털 세상에서, 인류가 축적한 기술과 지식을 실행 가능한 소프트웨어 파워를 사용하여, (3) 데이터와 인사이트라는 재료들을, (4) 좀 더 창의적이고 효율적인 디자인 위해 도구와 함께, 디자이너의 손에 들려질 수 있다. 이것이 디자이너들이 4차 산업의 파도를 타야 하는 이유다. 그렇다면, 디자이너는 무엇을 준비해야 하는가? 코딩, 즉 프로그래밍이라는 도구로, 디지털 공간의 재료인 데이터를 계산할 디자인 알고리즘들을 구현하는 능력이 그것이다.
Part B
디자이너가 코딩이라는 도구를 사용할 때, 챙겨가질 수 있는 장점을 (1) 생산력, (2) 창의력, (3) 사고력 , 그리고 (4) 경쟁력의 관점으로 간단히 나누어보자.
생산력 : 자동화, 균일한 품질을 유지시켜준다.
컴퓨터 하면, 능률성을 먼저 떠올 수 있다. 사람과 비교 시, 극단적인 생산력을 보여준다. 코딩을 한다는 것은, 결국 컴퓨터에게 이행 지침서를 만들어 주는 것과 같다. 다른 의미로 명령어 아이콘들을 일일이 클릭을 하는 것을, 코드로 작성해서 컴퓨터에게 입력시키면, 전기가 들어오는 한, 지치지도 지루해하지도 않고, 초당 수조 번의 연산을 한다. 즉 자동화(Automation)에 최적화되어 있다고 볼 수 있다. 품질 또한 직관과 감정에 의존한 인간과 다르게 높은 수준으로 유지될 수 있다. 디자인을 정량화시켜 디자인하고, 평가하고, 어떤 부분을 어떻게 디자인 엔지니어링을 해야 품질이 나아질 수 있다는 것을 프로그래밍하여, 수치적으로 평가할 수 있다. 코딩을 하게 되면, 디자인 프로세스 중에서 최적화시킬 수 있는 부분은 자동화를 시키고, 좀 더 창조적인 활동에 더 시간을 쏟을 수 있다.
생산력: 나를 대신해서 일 할 수 있는 일꾼을 만든다.
결국 컴퓨터에게 이행지침서를 코드로 준다는 것은, 알고리즘을 짜는 것이고, 알고리즘을 구현한다 는 것은, 컴퓨테이셔널 사고(Computational Thinking)로 지금 풀고자 하는 디자인 이슈를 작은 단위로 나누어 문제를 푸는 루틴을 짜는 것이다. 따라서, 나를 대신해서 일 할 수 있는 일꾼들을 여러 단위와 난이도로, 복잡도로 나누어 관리를 할 수 있다. 즉 코드를 모듈화 시키고, 라이브러리화 시킬 수 있다는 것이다. 사실 디자이너들에게 요구되는 알고리즘의 난이도와 복잡도는 그리 높은 것이 아니기 때문에, 생각보다 쉽게 코드 라이브러리를 구축할 수 있고, 구축된 후부터는, 비슷한 문제들의 경우 탄력적으로 변형해 적용할 수 있게 되는 것이다. 마치 자본주의 시대에서 생산수단을 확보한 것처럼, 전기만 공급되면 쉬지 않고 일하는 노동력을 모듈로 라이브러리로 가지고 있는 것이다. 즉, 소프트웨어와 컴퓨팅 파워를 좀 더 적극적으로 활용할 수 있게 되는 시점이다.
창의력: 실험적 작업 가능
모든 알고리즘은 논리의 분기를 가질 수 있다. 이 변화들을 통해서 다양한 디자인 실험이 가능하다. 디자인에서 반복(Iteration)을 매우 중요한 요소로 볼 수 있다. 전통적으로 인간의 노동력으로 해왔고, 혼자서 할 때, 몇 년이 걸리는 문제도 많을 수 있다. 반복적인 실험을 통해, 인간의 추상과 직관을 벗어나는 다양한 실험들을 할 수 있을 뿐 아니라, 인간의 직관과 경험을 수치적으로 모델링해서, 디자인 실험을 할 수 있을 환경, 혹은 디자인 시스템을 쉽게 수체계의 힘을 빌려 구현할 수 있다.
창의력, 사고력: 문제로서의 프로세스로서의 디자인 (최적화)
디자인 이슈를, 어떤 환경을 만족시키는 조건을 찾아내는 과정으로 볼 수 있다. 즉 그 조건들 혹은 상황들을 디자인 문제로 인식을 하고, 과정적 프로세스 측면으로 어떤 조건과 환경들이 만족하는 수준에 도달시키는 과정들을 디자인으로 보는 것이다. 예를 들면, 디자이너들이 디자인 프로세스를 암묵적으로 해왔다고 한다면, 그 프로세스들을 체계적이고 명시적으로 프로세스를 나누고 그 각각의 프로세스 자체를 유지 관리 보수하는 개념으로도 볼 수 있다. 그러면, 비로소 각 모듈, 단계마다의 프로세스가 명확하게 어떤 문제들을 다루고 있는지 인식이 가능하다.
직관에 의존하는 디자이너들도, 각자의 디자인 방법론(Metholdogy) 혹은 언어(Language)가 존재한다는 것을 관찰할 수 있다. 다시 말해, 직관과 경험이라는 데이터를 바탕으로 디자인 순서를 조합해 나가면서 디자인을 한다. 그 단계들이 명시적으로 체계화가 가능하다는 것이다. 그 과정을 훈련하면, 어떻게 인식하고, 접근하고, 수정하며, 어떻게 디자인 이슈를 해결할 것인가? 또 기존의 솔루션들과 어떻게 협업할 것인가,? 기존의 디자인 문제와, 지금의 디자인 문제는 무엇이 다른가? 어떻게 접근하고, 엔지니어링을 해야 할 것인가? 이런 부분들을 포착하고 고민할 수 있다는 것이다. 즉, 암묵적(implicit) 프로세스에서 명시적(Explicit) 프로세스로의 이동이다. 코딩을 통하면, 디자인 문제들을 좀 더 시스템적으로 유기적 통합적, 전체적(Holistic)으로 접근 관리가 가능하다는 관점을 주는 것이다. 즉 컴퓨테이셔널 디자인 사고를 하자는 것이다.
사고력: 솔루션으로서의 디자인 (결정론적 / 확률론적)
디자인의 목적이 명확한 경우에는, 그 문제를 풀기 위한 솔루션 자체가 디자인이다 라고 볼 수 있다. 어느 쪽으로 솔루션을 접근시킬지(Converge) 알 수 있다는 것이죠. 다시 말해, 내가 어디서 시작해서 어디까지 가야 이 디자인 문제가 끝낼 수 있을지를 알 수 있다는 것이죠. 이 지점에서 하나의 궁극의 해답이 존재하는 방법론이 있다면, 결정론적(Deterministic) 프로세스로 최적화(Optimization)를 구현하는 것이 디자인일 수 있다. 반대로, 평가항목을 만족시키는 여러 개의 최선들이 존재한다면, 확률론적(Stochastic) 프로세스를 구현할 수 있다.
가령, 디자인 이슈가 주어지고, 그 이슈를 여러 작은 단계로 나누어서 분해시킬 수 있죠. 각각의 단계에서 인풋과 아웃풋이 명확하게 정의를 해야 하는 것이죠. 사실 굉장히 모호하게 평가될 수 있는 디자인을 명백하게 인풋과 아웃풋으로 정의를 하다 보면, 그 솔루션 들이 명확하게 드러나게 되죠. 예를 들면, 주어진 공간에서 자동차 파킹 공간을, 최대한 극대화시킨다 던 가, 혹은 건축물의 자연통풍을 최대한 활용해서 건물의 유지 보수비용을 줄인다던가? 공간들을 모듈화 시켜서 시공 비를 절약 혹은 공간 효율을 극대화시킨다던가, 쇼핑몰의 동선을 최적화시킨다던가, 등등의 이런 디자인 문제들을 명시(Explicit)적으로 디자인 단계들을 나누고, 솔루션 으로서 접근하는 것이죠.
결과적으로 디자인 문제를 찾아내는 훈련을 할 수 있을 뿐 아니라, 작은 단위의 솔루션 들을 조합해서 새로운 문제에 적용할 수 있는 능력도 생기게 되겠죠. 큰 다자인 문제에서, 작은 디자인 이슈를 나누고, 각각의 이슈들은 어디서 시작해서 어느 지점으로의 솔루션을 만들어야 할지 코딩을 통해서 할 수 있는 것이죠.
사고력: 데이터로의 디자인
우리가 정량화(Quantification), 정성화(Qualification) 할 수 있는 모든 것은 데이터가 될 수 있다. 즉, 데이터는 어떤 현상을 , 디지털 환경에서, 계산 가능한 형태로 표상(Representation)해 놓은 가장 근본적인 소스라 볼 수 있다. 형이상학적 내용도 정량화를 통해 데이터로 추상화시킬 수 있다. 앞서, 데이터를 4차 산업의 쌀로 볼 수 있다 이야기했다. 그런 의미로, 다양한 4차 산업의 형태들이 있지만, 결국, 어떻게 데이터를 (1) 모을 것인가? (2) 프로 세스 할 것인가? (3) 연결할 것인가? (4) 데이터에서 나온 인사이트를 이행할 것인가? 의 관점으로 볼 수 있다.
디자인에도 많은 데이터가 존재한다. 1차원적으로는 형태 정보를 담고 있는 지오메트리 데이터가 있을 수 있고, 재료 정보인 색, 혹은 움직임, 인터랙션에 관한 정보도 있을 수 있다. BIM와 같이, 건물을 구성하는 데이터들과 그 관계성을 표상하는 데이터도 있고. 건물을 디자인하고 짓고 관리하는 과정에서도 많은 데이터들이 필연적으로 생성이 된다. 더 나아가, GIS, 혹은 환경 안에도 굉장히 다양한 데이터가 존재한다. 도시디자인, 계획 혹은 정책을 결정할 때, 이러한 데이터들은 중요한 요소일 수 있으며, 이러한 데이터들이 디자이너의 손에 붙들리면 창의적인 판단을 할 수 있는 좋은 재료가 된다. 빌딩 에너지 데이터, 패브리케이션 데이터, 조경 데이터, 재료 데이터, 경제 데이터, 인문학적 데이터 등등, 다양한 영역과 스케일의 데이터들이 매 순간에도 쏟아져 나오고 있다. 사실, 우리가 인식을 못할 뿐이지, 컴퓨터 소프트웨어를 사용한다는 것은, 사실 뒷 단에서는 데이터들이 생성되고 수정되고 저장된다. 즉, 코딩은 데이터를 직접적으로 다루는 가장 직관적인 도구고, 디자이너들에게 슈퍼파워 연료인 데이터로부터 시작돼서, 데이터로 마무리할 수 있는 적극적인 환경을 제공해 준다.
경쟁력: 다양한 커리어 패스를 만들 수 있다
커리어의 관점에서, 4차 산업의 기존의 전통적인 업무들이 통폐합시키기도 한다. 과거에는 있지 않던 직업군들이 생겨나는데, 예를 들면, 디자인 엔지니어링 같은 직업을 들 수 있다. UI UX 디자이너들도, 공간을 디자인한다는 건축적인 개념들도, 가상현실, 메타버스 등으로 확장되고, 건축에서의 사용자 경험들을 프로덕트 레벨 혹은 전기 자동차의 공간의 UI UX경험들로 확장하려는 시도도 많아지고 있다., 특별히 증강, 가상, 혼합현실의 키워드로 건축 디자이너들의 경험과 지식이 발휘할 수 있는 영역들이 생기고 있다. 건축 교육과 사고를 바탕으로 다양한 커리어 패스를 만들어 갈 수 있고, 특별히 IT와 융합되는 지점에서 디자인, 코딩 그리고 프로그래밍을 할 수 있는 인력은, 미국 실리콘밸리에서도 굉장히 우대되는 현실이다.
경쟁력: 진입 장벽을 높여준다
시장의 요구는 많은데, 공급이 없다면, 너무나 당연하게 그 몸값이 올라가는 것이다. 디자이너가 알고리즘을 만들 수 있는 능력까지 있다는 것은, 시너지 효과를 기대해 본다면, 사실 이 두 분야의 사람을 각각 뽑아 일을 시키는 것보다 현실적인 이득이 크다. 반대급부로, 공부하기에 더 많은 에너지가 필요한 것은 사실이나, 극복 후 에는 엄청난 장점으로 작용한다, 두 개의 다른 지점에서 나오는 독창적인 경쟁력은, 다시 말해, 디자인과 코딩을 동시에 하는 사람은, 디자이너 혹은 소프트웨어 엔지니어가 각각의 위치에서 봤을 때, 상대적 난이도가 존재하고, 쉽게 교체가 어렵다. 그만큼 많은 기회들을 잡을 수 있다.
경쟁력: 보다 빨리 기회를 잡을 수 있다.
건축디자인의 경우, 과거의 것들을 잘 이해하고, 그에 따른 경험을 쌓다 보면, 실력이 발휘되는 시점은, 젊은 시기이기가 쉽지 않다. 그러나, 코딩의 영역은 과거의 것보다, 미래의 기술들이 중요해지는 영역이고, 디자인처럼 해석의 여지가 있는 것보다, 실제 구현되는 부분들에서 그 허와 실이, 명료하게 드러나기 때문에, 지금까지의 통상적인, 학벌이나, 인맥, 경력과 같은 포장지의 형식이 중요시됐던 과거보다는, 내용적 측면인 실력을 중요시 볼 수밖에 없는 산업이다. 그래서 국내외에서, 20-30대의 젊은 인력들에게 많이 선호되는 직업군이고, 또 그만큼 많은 처우와 기회가 있다.
Part C
요즘 많은 디자이너가 코딩 공부를 어떻게 하는 것이 좋을지 여러 채널을 통해 물어온다. 형식이야 다양하겠지만 결국, 코딩은 언어이기 때문에, 익숙해질 때까지, 포기하지 않고 시간의 분량을 채우는 것이 중요하다. 우리는 어린 시절부터, 국제사회의 공통어인 영어를 공부하는데 꾀나 많은 시간을 투자한다. 요즘 느끼는 생각이지만, 사실상, 영어로 외국 사람들과 대화하며 일하는 것보다, 컴퓨터 언어를 배워 컴퓨터에게 일을 시키는 것을 아는 게, 현실적으로 더 중요하다는 것을 느낀다. 지치지 않고 투정도 부리지 않고, 잘 만들어진 알고리듬만 있다면, 잘 세팅된 회사의 직원들 수십수백 명보다는 더 효율적이고 창의적 여질 수 있기 때문인 것이다.
가장 익숙한 도구에서부터 시작하자
언어를 공부하다는 것은 훈련이고, 훈련은 특정 시간 이상의 반복으로 익숙해지고 전문적 여질 수 있다고 생각한다. 따라서 그 시간을 채울 수 있다면, 형식적 측면은 그리 중요하지 않다는 것이 나의 생각이다. 하지만, 추천되는 방법은 있다고 생각한다. 그것은, 가장 익숙한 도구부터 시작을 하는 것이다. 디자이너라면, 가장 많이 활용하는 소프트웨어가 한두 개는 있을 것이다. 대부분의 디자인 소프트웨어는 스크립트 환경이 지원이 된다. 그 소프트웨어에서 제공되는 코딩 환경에서부터 공부하기를 권하는데, 그 이유는 다음과 같다.
API를 학습하자
디자인을 위한 코딩을 한다는 것은, 대부분 화면에 무언가를 그리고 수정하는 것으로 볼 수 있다. 즉 지오메트리 부분이 많은 부분을 차지한다. 이러한 복잡한 명령어들은 우리가 사용하는 2D 혹은 3D 소프트웨어에서 패키지 형태로 제공이 된다. 즉 API(Application Programing Interface)를 활용하는 것이다. 원래 아이콘을 클릭하여 디자인해 나가 듯, API의 명령어들을 나열하고 반복하면 된다. 동시에, API를 특별히 공부할 필요가 없다는 장점이 있다. 왜냐하면, 우리는 이미 그 소프트웨어에 익숙해졌기 때문이다. 어떤 명령어 아이콘이 무엇을 하고, 다른 명령어들과 어떻게 사용될지 이미 사용을 많이 해 봤기 때문에 좀 더 빠르게 적응을 할 수 있다는 것이다.
컴퓨테이셔널 사고
이미 익숙한 툴로, API를 활용해서 디자인 단계들을 수행할 행동 지침서를 코드로 만들어 입력한다고 봤을 때, 디자이너들이 많이 힘들어하는 부분들은 그 지침서 즉 그 과정을 만드는 일이다. 다시 말해 알고리즘 을 작성하는 부분들이다. 알고리즘은, 문제를 해결하기 위한 절차도라고 보면 간단하다. 즉 내가 다루고 있는, 디자인 이슈를 작은 단위로 쪼개서 나누고, 순서대로 기술하며, 때로는 반복과 조건을 체크하면서, 주어진 이슈를 해결하는 것이다. 다른 말로는 컴퓨테이셔널 사고를 훈련해야 한다는 것이다.
사실 이와 같은 훈련은, 코딩을 공부하면서 자연스럽게 해결되는 문제이다. 현실적인 이슈는, 내가 스스로의 디자인 방법론을 가지고 있느냐의 문제다. 왜냐하면, 그 방법론을 그대로 코드로 옮겨 적으면 되는 문제이기 때문이다. 우리가 기억할 것은 코딩은, 우리의 디자인을 돕는 도구다, 스스로의 디자인 언어가 있다면, 이것들을 컴퓨터가 쓰는 언어의 문법과 논리로 기술하면 된다. 가령 파이썬(Python) 자바(Java), 혹은 C#, C++와 같은 언어의 문법을 학습해야 하고, 디자인의 경우 지오메트리(Geometry)에 대한 수학도 알아두면 좋다.
마치며
역사적으로, 건축가들 당대 최고의 기술과 지식을 활용하며 활동을 해 왔다. 최신의 재료와 그에 따른 도구를 이해하고, 탐구하고, 당대 검증된 최고의 기술들을 활용하며 건축활동을 해왔고, 그렇게 산업의 기술은 발전을 거듭해왔다. 근대를 거치며, 건축 산업이 표준(Standard)화 되며, 학위와 자격증으로 대체되며, 분업화가 이루어졌다. 그 때문일까? 작금의 많은 건축 디자이너들은 테크노 포비아(Technophobia)를 가지고 있고, 다른 산업에 비해 상당히 보수적인 산업임은 틀림이 없다. 농업보다도 테크놀로지의 적용이 활발하지 않다는 것은, 익히 알려진 통계다. 우리는 새로운 시대의 거대한 흐름을 마주하고 있다. 과거의 20년의 발전이 경의로왔지만. 앞으로 5년 10년은 더욱 찬란할 것이다. 4차 산업이라는 파도와, 새로운 재료, 즉 데이터의 출현과 그리고 그 재료의 도구인 프로그래밍이, 건축 디자이너들을 덮치는 재앙적 쓰나미가 아닌, 산업의 저변을 넓히기 위한 에너지로 타고 넘어가길 바라본다.