꿈을 현실로 만드는 힘, 설계

문제를 해결해 내고야 마는 다섯 단계

by 백세주
그냥 시작하는 겁니다. 계산을 하고, 문제를 하나 해결하고, 그다음 문제를 해결합니다. 그렇게 충분히 많은 문제를 해결하다 보면 집으로 돌아오게 되는 거죠.
You solve one problem and you solve the next one, and then the next. And If you solve enough problems, you get to come home.
— 영화『마션』에서

공학에서의 설계의 역할

이전 글에서 설명했듯, 공학은 일상생활에서 발생하는 주관적인 문제들을 객관적으로 해결하는 학문입니다. 또한 그 과정에서 물리 법칙이나 수학 공식 등 다른 학문에서 발굴된 적합한 도구를 가져와 적재적소에 효율적으로 사용합니다. 이때 우리는 공학을 다음과 같은 두 가지 핵심 개념으로 나누어볼 수 있습니다. 첫 번째는 자연계에 흩어져 있는 물리 법칙, 화학적 성질, 수학적 공식을 관찰하고 문제 해결에 적합한 도구를 찾아내는 행위인 응용입니다. 두 번째는 선정된 도구들을 조합하여 적재적소에 배치하고 효율적으로 사용하는 행위인 설계입니다. 공학의 관점에서 보면, 수학과 과학이 세상을 탐구하며 얻어낸 온갖 신비로운 도구들은 그저 손에 쥐고만 있다고 해서 일상의 소소한 문제 하나 제대로 풀어주지 않습니다. 어떤 문제 해결 과정에서든 설계는 필수불가결합니다.

이해를 돕기 위해 예를 하나 들어보겠습니다. 과거 어느 시점, 인간은 최소한의 노력으로 단단한 손톱을 잘라낼 궁리를 하다 보니 '좁은 면적에 큰 힘을 집중시켜야 한다'는 문제에 봉착했습니다. 이때 인간은 지레의 원리를 응용하면 이 문제를 풀 수 있다는 사실을 깨달았지만, 단순히 그 물리 법칙을 아는 것만으로는 손톱을 깎을 수 없었습니다. 이 지점에서 바로 설계가 필요합니다. 지레라는 원리를 현실에 적용하기 위해서는 지점, 힘점, 작용점이라는 세 요소를 내 손의 크기와 손톱의 강도에 맞춰 정교하게 배치해야 했기 때문입니다. 설계자는 지레의 길이를 얼마나 늘릴지, 두 개의 지레를 어떤 각도로 중첩해 힘을 증폭시킬지, 그리고 이 복잡한 구조를 어떻게 한 손에 쥘 수 있는 크기로 압축할지를 고민했습니다. 그렇게 '손톱깎이'라는 훌륭한 도구가 탄생했습니다.

지레의 원리가 무기라면, 설계는 그 무기를 활용해 전장에서 승리할 수 있도록 배치하는 진법과 같습니다. 지레의 원리 자체는 효과적이지만 단순한 법칙입니다. 하지만 설계자는 이 단순한 법칙을 교묘하게 중첩하고 배치하여, 인간의 미약한 악력을 단단한 손톱을 끊어내는 강력한 물리력으로 증폭시켰습니다. 손에 쥔 도구라는 것이 비록 단순하고 보잘것없더라도, 그것들을 어떻게 엮어내느냐에 따라 결과물은 전혀 다른 차원의 효과를 낼 수 있습니다. 이것이 바로 설계가 가진 힘입니다.

놀랍고도 중요한 것은 이 과정이 단 한 번으로 끝나지 않는다는 점입니다. 설계의 결과로 발명된 새로운 도구는 다시 다음 단계의 공학자에게 전달되어, 더 큰 문제를 풀기 위한 강력한 도구로 응용됩니다. 즉, 응용과 설계를 거쳐 발명된 도구가 다시 다음 단계의 응용과 설계로 이어지는 연쇄적 확장이 발생합니다. 설계를 통해 인간의 목적이 실체화되어 새로운 도구가 탄생하는 순간, 그 도구는 단순한 물건이 아니라 인류가 다음 단계를 꿈꾸게 하는 전진 기지이자 새로운 동력이 됩니다. 나사가 발명되면 그것을 응용해 바퀴를 설계하고, 바퀴가 발명되면 다시 자동차라는 거대한 꿈을 꿀 수 있게 되는 식입니다. 이처럼 설계는 하위 단계의 결과물을 상위 단계의 새로운 발판으로 만들어 더 큰 가치를 추구하게 합니다. 오늘의 설계는 어제까지 내게 별 의미를 주지 못했던 세계의 법칙을, 내일의 당연한 일상으로 만들어주는 힘입니다.


모래에서 인공지능까지

이 과정을 저에게 친숙한 반도체 공학의 예시로 풀어보겠습니다. 인간은 오래전부터 자신의 물리적 두뇌가 가진 명확한 한계를 넘어서고 싶어 했습니다. 더 빨리 계산하고, 더 많은 정보를 더 오래 기억하며, 결국 인간 사유의 과정 자체를 자동화하여 인간의 의지를 물리적 제약 너머로 확장하기를 바랐습니다. 이 원대한 목적을 달성하기 위한 가장 적합한 도구는 해변에 널린 평범한 모래 속에 있었습니다. 바로 규소입니다.

규소는 도체도 부도체도 아닌 반도체라는 기묘한 성질을 가졌습니다. 상황에 따라 전기를 흐르게 하거나 멈추게 할 수 있는 이 성질은 인간이 '0'과 '1'이라는 이진법 논리를 편리하게 구현하기에 더할 나위 없이 적합했습니다. 이러한 규소의 성질을 우리가 다루기 쉬운 형태로 만든 것이 바로 트랜지스터입니다. 전압에 따라 전류를 흐르게 하거나 차단하는 '전기적 스위치'가 발명된 것입니다. 전기로 작동하기에 이 스위치는 압도적으로 빠릅니다. 또한 기계와 달리 동작에 큰 물리적 힘이 필요하지 않아 원자 단위에 가깝게 작게 만들 수도 있습니다. 특히 전기로 입력을 받아 전기로 출력을 내기 때문에, 한 스위치의 동작 결과가 뒤에 연결된 스위치들의 동작으로 매끄럽게 이어지는 대규모 연쇄 연산이 가능해집니다.

한 발 더 나아가, 반도체 설계자들은 이 스위치들을 더 고차원적인 도구로 진화시켰습니다. 트랜지스터 여러 개를 조합해 입력 신호를 반대로 뒤집는 인버터(INV), 두 입력이 모두 1인지 판별하는 앤드(AND), 하나라도 1인지 판별하는 오어(OR) 등을 설계하여 논리의 가장 작은 단위인 논리 게이트를 만들어냈습니다. 드디어 모래라는 물리적 도구에 논리라는 인간의 목적을 부여한 것입니다. 이 연쇄는 여기서 멈추지 않습니다. 설계자는 이러한 논리 게이트들을 조합하여 숫자를 더하는 덧셈기와 데이터를 기억하는 플립플롭과 같은 복잡한 회로 블록을 만들어냅니다. 그리고 마침내 이 블록들을 명령어 처리 흐름이라는 거대한 지휘 아래 배치하고 엮어낼 때, 비로소 프로세서라는 지능이 창발 합니다. 트랜지스터 하나는 스스로 미적분을 풀 수 없지만, 설계자가 엮어낸 수십억 개의 게이트 조합은 우주의 기원을 계산해 내는 강력한 도구가 됩니다. 이 연쇄는 거대한 데이터 센터를 구축하고, 그 인프라 위에서 비로소 인류의 최첨단 무기인 초거대 인공지능을 탄생시킵니다.

여기서 우리는 다시 한번 공학의 또 다른 축, 바로 설계가 가진 힘에 주목하게 됩니다. 반도체 산업의 이토록 빛나는 발전은 한낱 모래알, 작은 트랜지스터, 단순한 논리 게이트를 활용하여 이루어졌습니다. 사용된 도구 하나하나만 놓고 보면 참으로 보잘것없습니다. 하지만 그 보잘것없는 도구들이 설계라는 진법을 통해 적재적소에서 활약하게 되면, 그 결과는 대단히 놀랍습니다. 우리 삶의 문제 역시 이와 다르지 않습니다. 현실은 압도적으로 거대하고 난해한 반면, 우리가 당장 손에 쥔 도구들은 한없이 초라해 보일 때가 많습니다. 포기하는 것이 오히려 합리적으로 보일 만큼 막막한 상황일지도 모릅니다. 하지만 다윗은 고작 돌팔매로 골리앗을 쓰러뜨렸습니다. 그리고 공학자들은 돌팔매보다 못한 모래알을 휘두르며 인류의 승리를 일궈왔습니다. 여러분도 각자의 막막한 현실을 하루하루 조금씩 이겨내고 싶지 않으신가요? 그렇다면, 그저 따분한 이론으로만 느껴졌을 이 설계 방법론을 함께 배워보고 나를 지키는 강력한 무기로 삼아보는 건 어떨까요?


설계의 다섯 단계

문제를 해결하기 위해, 설계자는 다음의 5단계의 과정을 거칩니다. 이 과정은 공학의 모든 영역에서 예외 없이 적용되는 철칙이며, 공학자가 난제를 해결할 때 사용되는 이정표입니다. 첫 번째는 문제 정의입니다. 무엇을 풀고자 하는지, 가용한 자원은 무엇인지 명확히 하는 단계입니다. 두 번째는 모델링으로, 다루려는 대상의 특성과 한계를 파악하여 이를 설명할 수 있는 이론적 가설을 세웁니다. 세 번째는 해결책 제안입니다. 여기서 문제 해결을 위한 구체적인 방안을 제시합니다. 네 번째는 검증으로 제안된 해결 방안을 실제로 적용해 보고 결과를 확인합니다. 이 과정에서 해결 방안이 실패할 수 있습니다. 그렇다면, 마지막 다섯 번째는 원인 분석입니다. 검증으로 얻은 실패 데이터를 기반으로 어디서 실패가 발생했는지 찾아냅니다. 문제가 틀렸을 수도, 모델링이 잘 못 되었을 수도, 해결책이 적합하지 않았을 수도 있습니다. 그렇다면 이전 단계로 돌아가 잘못된 부분을 수정하고 다시 한 단계씩 수행해야 합니다.

이 설명만으로는 이 방법론을 어떻게 적용해야 하는지 감이 오지 않을 것입니다. 그래서 우리 일상에 친숙하면서도 구체적인 예시를 준비해 보았습니다. 어느 날 문득 나는 다이어트를 결심했다고 생각해 봅시다. 해당 예시는 이해를 돕기 위한 것뿐, 더 체계적이고 엄밀한 방법론은 이후 글에서 좀 더 심도 있게 다루도록 하겠습니다.

문제 정의부터 해보겠습니다. 이때, 중요한 점은 내가 무엇을 가지고 무엇을 풀고자 하는지를 명확해야 한다는 것입니다. 단순히 "열심히 노력해서 멋져지고 싶다"라는 모호한 바람은 설계자의 언어가 아닙니다. 다이어트에 사용할 수 있는 도구는 다양합니다. 운동을 주요 도구로 사용할 수도 있고, 지방 흡입이나 다이어트 약 같은 의술의 힘을 빌릴 수도 있습니다. 여러 도구를 한꺼번에 사용하여 시너지를 낼 수도 있습니다. 또, 다이어트로 얻고자 하는 결과도 사람마다 제각기 다를 수 있습니다. 단순히 근육량만 높아진다면 충분히 만족할만한 사람도 있으며, 누군가에겐 거울에 비친 자신의 몸이 예뻐 보이는 게 가장 중요할 수 있습니다. 즉, "나의 식습관을 개선하여 체중을 감량한다"는 입출력 관계가 포함된 객관적인 목표가 수립되어야 비로소 문제는 완전히 정의됩니다. 무엇을 하고자 하는지 똑똑히 알고 현실의 벽을 수치로 환산하는 이 과정이 설계의 첫 단추입니다.

목표를 확실히 정했다면 다음은 모델링입니다. 내가 다루려는 대상의 특성을 설명할 수 있는 이론 모델을 수립해야 합니다. 이 문제에서 대상은 나의 식습관과 나의 체중입니다. 나의 신체를 관찰해 왔던 경험을 바탕으로 모델링을 진행해 봅시다. 나는 음식 섭취 후 4시간이 지나면 어김없이 허기가 발생합니다. 종종 붓기 때문에 하루 1~2kg씩 체중이 요동칩니다. 술을 마시고 집에 와서 폭식을 하는 경우가 잦습니다. 음식에 대해서는 까다롭지 않아 뭐든 잘 먹습니다. 그리고 한 가지 음식을 자주 먹는 것도 괜찮습니다. 이외에도 목적에 관련된 나의 특성들이 더 있다면 그것들도 포함하여 모델을 만들면 됩니다. 이때 중요한 것은 내가 나의 몸에 대해 모르는 게 너무 많다는 사실을 인정하는 공학적 불가지론입니다. 아직 데이터가 모자라 확실히 알기 어려운 블랙박스 영역은 일단은 과감히 무시합시다. 끼니를 걸러본 적이 없어 12시간 이상의 허기에 대한 데이터가 없는데도 간헐적 단식의 효과를 짐작해 보고 이를 모델의 반영하는 것은 위험합니다. 자칫 모델의 정확성을 낮춰 실패의 방향성으로 이끌 가능성이 높습니다. 이에 추가로 고려할 것은 대상에 영향을 줄 수 있는 외부 요인들입니다. 하루 식비, 식사 환경, 음주 환경 등 식습관을 개선할 때 함께 고려해야 하는 요소들을 나열해 보고 영향도를 계산하여 모델에 반영해야 합니다.

모델링이 끝났다면 이제 본격적으로 해결책제안합니다. 먼저 주된 문제로 보이는 음주 후 폭식을 개선해보려 합니다. 다만, 제약 조건들에 금주가 어렵다는게 포함되어 있다면, 음주 습관을 조정하는 것은 일단 해결책으로 고려해서는 안됩니다. 그렇기에, 술 먹고 집에 돌아올 시간인 10시 이후에는 배달 앱을 잠금 처리하는 기능을 구현하는 것으로 해결책을 제안했습니다. 또, 4시간마다 찾아오는 허기에 효율적으로 대처하기 위해 곤약 젤리와 같은 다이어트 용 간식을 집과 사무실에 배치했습니다. 또, 한 가지 음식을 자주 먹는 것에 거부감이 없다는 장점을 살려, 매일 점심을 샐러드로 대체해 보았습니다. 이 지점에서 도입된 잠금 기능, 곤약 젤리, 샐러드는 기존에 응용 과정을 통해 유용하게 사용될 수 있도록 미리 준비된 도구입니다. 이렇게 해결책을 선정하는 이 단계에서, 이미 발굴되어 있는 유용한 도구들을 적극적으로 도입해 봄으로써 용과 설계 단계가 연결되어 효율적인 해결책이 만들어질 수 있습니다.

이제 검증 절차를 밟아봅시다. 검증 절차 역시 기분에 의존하지 않고 명확한 데이터에 기반하여 확인해야 합니다. 그렇기에 매일 아침마다 체중계에 올라서기로 했습니다. 그리고 종종 붓기 때문에 체중이 변한다는 것을 고려하여 그날 느껴지는 몸통과 다리의 붓기 정도와 체중을 함께 평가합니다. 매일 측정된 데이터를 누적하되, 평가가 이루어지는 단위는 한 달로 정하여 변화가 발생할 수 있는 시간을 충분히 줍니다.

그렇게 한 달이 지나고 난 후, 체중이 줄긴 했는데 목표만큼 많이 줄지는 않았습니다. 물론 실패할 수 있습니다. 다만 그 원인분석봐야 합니다. 배달 어플을 잠금해 둔 것은 효과가 좋았습니다. 음주 후 피곤함에 번거로움이 더해지니 단 한 번도 폭식으로 이어지지 않는 쾌거를 이루었습니다. 샐러드도 꾸준히 먹는데 어려움이 없었습니다. 다만, 곤약 젤리가 맛이 없어 손이 잘 가지 않았습니다. 게다가 점심으로 샐러드를 먹다 보니, 허기가 더 금방 찾아와 자꾸 과자와 같은 더 자극적인 군것질거리에 손이 가곤 했습니다. 뭐든 잘 먹는다는 모델링에 오류가 있었고, 곤약 젤리라는 해결책도 적합하지 않았습니다. 그렇다면, 수정하고 다시 도전해 보면 됩니다. 설계 과정에서 실패란 결코 재앙이 아닙니다. 실패는 다음 설계 과정의 중요한 입력 데이터가 되어, 더 정교한 해결책으로 더 나은 결과를 가능하게 만드는 피드백 과정의 일부일 뿐입니다.


일상의 선택을 공학적 설계로 바꾸는 법

어쩌면 여기까지 읽으신 여러분은 이런 생각이 드실지도 모르겠습니다. "결국 우리가 살면서 내리는 수많은 선택과 공학적 설계가 크게 다르지 않은 것 아닌가?" 맞습니다. 사실 우리는 매 순간 선택하고, 계획하고, 나름의 실행을 하며 살아갑니다. 그 수많은 선택들도 문제 정의부터 원인 분석까지 다섯 단계의 체계를 거치는 일종의 일상 설계 과정이라고 볼 수 있습니다. 하지만 단순히 선택하는 것과 공학적으로 설계하는 것 사이에는 몇 가지 차이점이 존재합니다.

그 차이는 바로 현재의 상황을 왜곡 없이 있는 그대로 직시하는 정직함, 그리고 구체적인 데이터와 논리에 기반해 최적의 답을 도출하는 정교함에 있습니다. 많은 이들이 문제를 마주할 때 희망 섞인 추측이나 감정적인 회피를 섞곤 하지만, 설계자는 다릅니다. 설계자는 자신에게 주어진 제약 조건을 원망하는 대신 그 한계를 명확한 상수로 인정하고, 그 좁은 틈새 안에서 효과를 극대화할 수 있는 최선의 경로를 찾아냅니다. 보잘것없는 모래알로 인공지능을 빚어냈듯, 우리 앞에 놓인 초라한 자원들을 논리적으로 배치하여 기대 이상의 결과를 만들어내는 것, 그것이 바로 설계가 우리 삶에 가져다줄 진짜 힘입니다.

우리는 설계라는 무기가 어떻게 작동하는지 그 원리를 대략적으로 확인해 보았습니다. 그렇다면, 이제 본격적인 이야기를 시작하려 합니다. 다음 글부터는 앞서 설명한 설계의 5단계를 '어떻게 잘 살 것인가'라는 인류 최고의 난제에 하나씩 대입해 보려 합니다. 그 과정에서, 지금껏 간결하게 설명되었던 개념들을 좀 더 구체화하여 상세히 설명할 예정입니다. 동시에, 수많은 공학자들이 발굴해 낸 유용한 방법론들을 소개하며 문제 풀이 과정에 적용하는 예시를 보여드리겠습니다. 그리고, 철학과 심리학에서 마련해 놓은 도구들을 불러와 적재적소에 휘둘러보기도 할 겁니다. 물론, 우리의 실험 샘플 세주도 종종 등장할 예정입니다! 다시 한번, 유쾌히 춤추며 고된 여정을 함께 떠나봅시다.


[비하인드]

사실 여기서 고백할 것이 하나 있습니다. MBTI의 측면에서 보자면, 저는 정확하고 든든한 조언보다 벅차오르는 감정에 훨씬 민감하게 반응하는 극단적인 F 성향의 사람입니다. 영화 한 편에 펑펑 울기도 하고, 마음 깊이 응어리진 상처에 온종일 마음 아파하는 게 저의 본모습입니다. 그런 제가 왜 이토록 차갑고 딱딱해 보이는 T 같은 설계론을 이야기하고 있을까요? 답은 제 성향의 또 다른 축인 S 성향에 있습니다. 저는 극도의 현실주의자입니다. 사람의 마음을 위로하는 것은 F의 영역이지만, 그 소중한 마음들이 살아갈 현실을 지켜내는 것은 결국 S의 영역, 즉 데이터와 사실이기 때문입니다.

따뜻하고 여린 마음을 가진 사람은 세상의 차가운 벽에 부딪혔을 때 아픔을 몇 배로 더 크게 느낄 수밖에 없습니다. 그래서 제겐 제 마음을 지킬 대책이 필요했습니다. 딱딱해 보이는 설계 기법은 T들의 전유물이 아닌, 누구나 쓸 수 있는 좋은 도구입니다. 그렇기에 저는 제 여린 마음을 냉혹한 현실로부터 구해 내고 싶기에, 이를 호신술로 사용하게 되었습니다. 현실을 왜곡 없이 직시하고 정교하게 설계하는 이유는, 그래야만 우리가 꿈꾸는 행복과 안녕을 그저 운에만 맡기지 않고 내 손으로 직접 빚어낼 수 있기 때문입니다.


토요일 연재
이전 05화해결의 학문, 공학