이 시리즈는 개발과는 거리가 있을 수 있는, 개인적인 에세이를 적어보기 위한 용도입니다. 정보 전달의 목적이 아닌, 순전히 개인 생각이니 너무 진지하게 받아들이지는 마시길 바랍니다.
DT..Digital Transformation
4차 산업혁명을 언급하면서 빠지지 않고 나오는 단어입니다.
모든 것을 디지털화하자는 것이죠.
디지털과 대비대는 말로는 아날로그가 있습니다.
기술적인 용어이지만, 어느 순간 옛날을 대변하는 단어가 되어 감성적인 용어가 되어 버렸습니다. 말그대로 아날로그 감성이죠.
문득 이런 생각이 들었습니다.
무엇이 아날로그이고, 무엇이 디지털일까?
그리고 왜 세상은 디지털로 바꾸기를 원하고 있는가?
인문학적 소양과 감성을 중요시하는 요즘 시대에 왜 아날로그는 디지털로 대체되어야 하는가?
위키피디아에 따르면, 아날로그는 연속적으로 변하는 물리량이라고 합니다. 흔히 잘아는 전류가 대표적인 아날로그입니다. 디지털은 이 아날로그를 잘게 짜른 형태입니다. 바로 아래 이미지처럼 말이죠.
이 정도는 아마 누구나 다 아는 내용입니다. 아날로그와 디지털을 연속과 불연속으로 이해를 한다면, 불(아닐 불, 不)자가 들어가는 디지털은 왜인지 아날로그에 비해 안 좋아 보입니다. 그런데 왜 우리는 안 좋은 디지털로 가야 하는가? 그게 이 글을 적게 된 의문이였습니다.
점심시간 회사 주변을 산책하며, 제가 내린 결론은 '아날로그는 고유한 정보이며, 디지털은 공유되는 정보이다' 입니다.
아날로그는 따라 할 수 없습니다.
위에 보이는 sine파를 예로 들며, 이렇게 신호를 똑같이 만들어 낼 수 있지 않냐고 하시는 분도 있을 겁니다. 하지만 하드웨어를 개발하시는 분들이라면 알 겁니다. 100% 동일한 신호를 만들어내는 것은 물리적으로 불가능하다는 것을요. 물론 99.99999% 비슷하게 재현할 수 있어야 제대로 된 시스템이 만들어진다는 것을 저도 압니다. 하지만 100%는 안 됩니다. 너무나 많은 환경적인 요인들이 존재하기 때문이죠.
아날로그 감성으로 대변될 수 있는, 노래, 그림 등을 한번 보겠습니다.
아무리 뛰어난 가수라도 자기 노래를 100% 똑같이 여러 번 부를 수 없습니다. 아무리 뛰어난 화가도 100% 똑같은 그림을 그릴 수 없습니다.
아날로그는 복제될 수 없습니다. 고유합니다.
반대로 디지털을 보겠습니다.
디지털은 태생이 위의 그림처럼 아날로그를 복제하기 위해서 입니다.
수많은 외부 요인이 작용하는 연속적인 아날로그를
똑같은 크기의 단위(Unit)를 조합하여 최대한 따라한 것이 디지털입니다.
디지털이 왜 필요했을까요?
디지털은 모두가 약속된 단위를 사용합니다. 동일한 단위의 사진 픽셀, 디스크 용량... 이는 어디에서나 똑같습니다. 그래서 디지털은 널리 퍼질 수 있습니다. 즉 공유될 수 있습니다. 물론 동일한 디지털 사진도 모니터라는 아날로그 세상을 거쳐 조금씩 다르게 보일 수는 있지만, 디지털로 된 사진 정보 그 자체는 내 PC, 내 휴대폰에서든 똑같습니다.
그리고 디지털은 동일한 단위로 구성이 되어 있기 때문에, 단위를 변경해가며 자유로운 형태의 가공이 가능합니다. 물론 이렇게 가공된 정보도 똑같이 공유될 수 있습니다. 공유하기 위해 만들어졌다. 이 것이 저의 결론입니다.
자녀가 있다보니, 교육적인 부분에 있어 많은 이야기를 듣게 됩니다. 직업이 개발자이고 요즘 코딩교육이 핫하기에 저한테도 코딩교육을 시켜야 되느냐, 언제해야 되느냐 라는 질문을 많이 받습니다.
그럼 저는 반대로 물어봅니다. "왜 코딩교육을 시키려하세요"라구요. 그럼 십중팔구 답은 "논리적 사고를 키울려구요"라고 합니다. 이에 대한 저의 답은 이렇습니다.
논리적 사고는 굳이 코딩으로 배우지 않아도, 수학이나, 과학, 언어를 통해서 배울 수 있습니다. 다만 그 방법이 다를 뿐입니다. 피아노를 배워도, 바이올린을 배워도 다 음악을 배울 수 있습니다. 코딩도 똑같습니다.
이런 말을 하면, 다들 앞에서는 납득하시는 것처럼 보이지만, 여전히 포기하지 않으셔 합니다. 왜냐만 너무 핫하거든요. 뉴스에 개발자 대란이니 연봉이 2억이니 이런 말이 나오니 말입니다. 차라리 우리 애가 코딩교육을 받으면 나중에 돈을 많이 벌 수 있을까요라고 물어본 다면 좀 더 현실적인 조언이 가능하지 않을까라고 생각도 했었습니다.
그런데, 최근에 이 글의 주제인 아날로그와 디지털이라는 관점으로 고민을 한참 하다보니, 이 문제도 동일한 관점에서 바라볼 수 있었습니다.
제가 익숙한 수학의 방정식을 예로 들어보겠습니다.
인 를 찾아라는 수학문제가 있다고 보겠습니다.
이 문제를 수학으로 푼다면, 책에서 배운 근의 공식등을 이용해서, 종이에 열심히 적어가며 이 문제를 풀 것입니다. 머리로 생각한 것을 열심히 적어가며 답을 찾아내고 어딘 가에 답을 적어냅니다.
굉장히 논리적인 작업이며, 또 아날로그적인 작업입니다.
저의 같은 기성세대가 학교에서 배운 논리는 아날로그 논리입니다. 말 그대로 고유한 논리입니다. 물론 근의 공식은 똑같은거 아니냐라고 할 수 있습니다. 근의 공식이라는 개념을 아날로그라는 것이 아니라, 이를 사용하는 방식이 아날로그라는 것입니다. 선생님이 근의 공식을 설명해주셨지만, 배우는 사람은 조금씩 다르게 종이에 문제를 풀어나갑니다.
이를 언어로 확장해보겠습니다. 언어 논리..똑같은 주장을 하더라도 사람에 따라 다르게 느껴집니다. 제가 아무리 채식을 해야 건강해집니다 라고 주장해봐야 저는 이미 치킨을 먹고 고기를 먹어 살이 찐 사람이기에 제 말은 타인에게 들리지 않습니다.
반대로 코딩을 한번 살펴보겠습니다.
코딩을 하기 위해서는 수 많은 개발 언어들이 있습니다. 하지만 그 언어들의 교재의 첫 출발은 모두 화면에 Hello world
라고 프린팅하는 것으로 시작합니다.
선생님을 통해서건 독학을 해서건 처음 배우는 사람은 자기 모니터 화면에 Hello world
라고 칩니다. 초중고대학생, 직장인, 남여노소, 인종 할거없이 Hello world
라고 치면 Hello world
라고 나옵니다. 그게 코딩입니다. 코딩은 이런 관점에서 볼 때, 완벽한 디지털입니다.
미술강사가 아무리 열심히 사과를 보고 이렇게 그리세요라고 해도, 모든 수강생이 똑같이 그리지 못합니다. 아무리 훌륭한 실력자여도 말이죠. 하지만 SW강사는 Hello world
치세요 라고 가르쳐준다면, 모두 똑같이 할 수 있습니다.
우리가 생각하는 것은 아날로그입니다. 똑같은 문제를 보고도 모두 다르게 이해하고 풀이를 하려 합니다. 코딩도 여기까진 동일합니다. 개발자들 모두가 자기만의 스타일이 있고, 구현 방식에 있어서는 정답은 없습니다. 생각이 코딩으로 나오기 전까지, 생각이 우리 머리에 남아 있는 그 순간까지는 아날로그입니다. 앞서 디지털은 아날로그를 복제하기 위해 태어났다고 했습니다. 이제 코딩으로 우리의 생각을 복제해냅니다. 그리고 그 결과는 방식은 달라도 똑같습니다. 코딩은 완벽한 디지털입니다.
디지털의 장점은 정보가 동일한 형태로 공유 가능하고 복제, 가공이 쉽다고 했습니다. 교육의 관점에서 본다면, 가르쳐서 모두가 동일한 결과를 낼 수 있다면, 많은 이들이 수학이나 언어에서 논리를 배우는 것보다 좀 더 쉽게 배울 수 있지 않을까 라는 생각이 들었습니다. 아 오바마도 이런 생각에 코딩교육을 해야 된다고 했던 것일까요? 모르겠습니다.
아무튼 이제 저는 누군가 다시 저에게 코딩교육에 대해 물어온다면, 이 이야기를 해줄 것입니다. 수학과 코딩 모두 논리 교육입니다. 수학은 아날로그 논리입니다. 고유하기 때문게 그에 따른 가치가 있습니다. 코딩은 디지털 논리입니다. 정보가 모두 동일하게 공유되기 때문에 상대적으로 쉽게 배우고 얼마든지 확장이 가능합니다. 라구요 그러니 선택하세요 라구요.
사실 이 주제에 대해서 각 종 분야에서 더 많은 생각들을 했지만, 직업과 관련된 분야에서만 이야기해보고 마무리합니다. 모든 일에는 예외가 있기 때문에 제 말이 정답은 아니지만, (아날로그네요...) 아날로그는 구식이고 디지털은 신식이야로 무조건 치부하지 말고, 한번 쯤 생각해볼 주제가 아닌가 싶어 적어 보았습니다.