D+1
"그래 손주는 무슨 일을 하니?"
어느 날 외할아버지께서는 이렇게 물어보셨다. 온갖 미사여구로 내가 하는 일을 포장하고 싶었지만 설명하기 쉽지 않았다. 설계를 하는가. 설계쟁이라 하기엔 디자인을 하지 않는다. 프로그래밍을 하는가. 그러기엔 실제 프로그래머에 비하면 한창 멀었다. 정체성을 찾기란 쉽지 않다. 결국 그 끝에는 흔하디 흔하게 큰 이름을 빌려 나를 설명하는 수밖에 없다. "xx 다니고, xx 계열이에요". 하지만 나. 이렇게 남의 이름만 빌어먹고 살 수 없지. 자고로 하는 일은 동사로 표현하라 했으니 말을 해본다
건축설계 소프트웨어를 만드는 사람
가장 정확한 정의는 이 정의가 맞다고 본다. 건축설계 소프트웨어는 사골에 구멍 뚫릴 때까지 유사한 엔진을 쓰는 AutoCad, IFC 파일을 만드는 사실상 표준 Revit, 파라메트릭 모델링의 절대강자 Rhino + grasshopper, DDP로 이름을 크게 날린 CATIA 등이 있다. 내가 여기저기 굴러본 바로는 이런 소프트웨어를 만드는 사람은 한국에 없다. 왜냐하면 이들의 본사 또는 지사는 한국에 없다. 아니 있긴 하지만 영업소 수준이라 핵심 기술을 만드는 곳은 아니다. 따라서 AEC Software Engineer는 해당 정의가 맞으나 한국에 있을 리 없다.
건축설계 소프트웨어에 애드온을 만드는 사람
아이폰 또는 안드로이드에 들어갈 앱을 만드는 사람을 앱 개발자라고 한다. 그렇다면 앞서 말한 AutoCad, Revit, Rhino+Grasshopper 등에 앱을 만드는 사람도 있지 않을까? 존재한다. 꽤나 많다. 최근 BIM 의무 도입 등과 관련해 특히 Revit 기반 개발을 하는 시장이 은근히 있다. 여기에 할 말은 많지만 일단은 넘어가도록 하자. 근데 애드온만 만든다고 AEC Software Engineer인가? 그렇다고 하기엔 뭔가 소금을 안친 사골국을 먹는 느낌이다.
건축 및 건설 워크플로우에 대한 이해를 기반으로 소프트웨어의 컴퓨테이션 파워를 최대로 이끌 수 있는 사람
오늘도 나의 포장은 시작된다. 굳이 굳이 AEC 소프트웨어 엔지니어라는 말을 사용했다. 그렇다는 것은 건축 또는 건설에 대한 키워드가 있어야 하고, 소프트웨어 엔지니어에 대한 이야기도 필요하다. 그러다 보니 위처럼 길게 설명을 해보았다. 일반 소프트웨어 엔지니어 또는 프로그래머가 감당하기엔 건축 및 건설시장은 어마어마하다. 서로 협약된 데이터 구조를 하고 진행하는 웹서비스 등과 다르게, 건축은 중구난방이다. 누구는 AutoCad, 누구는 Revit, 누구는 Rhino로 작업한다. 물론 각자에게 맞는 툴을 쓰는 건 문제가 아니다. 하지만 이들을 통합하고 확인해야 하는 과정은 항상 문제가 된다. 이때 손으로 한 땀 한 땀 하기 시작하면, 소프트웨어는 버려지기 십상이다. 이를 방지하기 위해 컴퓨테이션 파워를 최대로 이끌 수 있어야 한다.
컴퓨테이션 파워를 최대로 이끄는 프로그래밍
은사님께서는 "잡일은 컴퓨터가 하고 사람은 창의적인 일에 몰두해야 해"라고 거듭 얘기하셨다. 나에게 그 한마디는 업계에서 해결해야 할 미션으로 다가왔다. 잡일을 컴퓨터가 하게 만들려면 컴퓨터의 언어를 이해해 일을 시켜야 한다. 그렇기 때문에 프로그래밍이 필요하다. 주로 언어는 python이나 c#이 쓰인다. python은 워낙 대세라 그렇다 치지만 갑자기 c#? Rhino나 Revit API를 사용해 애드온을 개발하려면 C#을 써야 한다. 별 큰 이유는 없고 그게 다다. 나의 C#에 대한 철학도 그게 다다.
자 그래서 내가 하는 일은
그럼 내가 하는 일을 한마디로 해보자 "건축 및 건설 워크플로우에 대한 이해하고 컴퓨테이션 파워로 이를 해결하는 사람. 그리고 이를 위해 어떤 소프트웨어도 가리지 않는 사람". 나는 이런 사람이다. 흔히 개발업계에서 이런 사람을 잡부라 하던데. 그렇다 나는 AEC 소프트웨어 잡부다.