brunch

You can make anything
by writing

- C.S.Lewis -

by Diligitis Jan 16. 2019

함수형 인간

영감을 실행으로 옮기기 

제게 파이썬 프로그래밍은 보석을 연마하는 것과 같았습니다 © Lisay G.

운명을 바꾸는 세 가지 방법 


"사람의 운명을 바꾸는 방법에는 세 가지가 있다. 결심을 하는 것은 가장 무의미하니 시간을 쓰는 방식을 바꾸거나, 사는 곳을 옮기거나, 만나는 사람들을 바꾸는 것뿐이다." 일본의 교육학자 오마에 겐이치가 쓴 <난문쾌답 (難問快答)>에 나오는 구절입니다. 올해는 무엇을 결심하셨나요? 전에 만날 일이 없었던 결이 다른 사람들과 어울려보는 것도 새로워지는 한 가지 방법입니다. 그리고 시간 혹은 돈 쓰는 방식을 바꿔보는 것은 간단하면서 좋은 방법입니다. 기독교에서 말하는 '내가 죽고 주님이 사는' 것일 수 있고 '왼손이 하는 일을 오른손이 모르게 하라'는 뜻인지도 모릅니다. 달은 차면 기울고 물도 차면 넘치는 것이 자연의 섭리입니다. 9년마다 돌아오는 삼재도 그렇고, 인간은 대자연의 원칙을 거스를 수 없습니다. 



선언형 vs. 명령형 

참 이상하지요. 같은 말이라도 뉘앙스나 표현 방식에 따라 전혀 다른 의미가 될 수 있습니다. 프로그래밍을 배우면서 신기했던 것이 같은 언어라도 선언형은 직관적으로 머리에 쏙쏙 들어왔던 반면 for... if... 등이 들어간 구조적 프로그래밍은 copy를 하고 loop를 돌려도 이해가 되지 않습니다. 아이들도 하는데 저는 꼴찌라서 굴욕감이 주었던 Scratch나 Swift를 생각하면 지금도 우울해집니다. 그런데 제가 이상한 것이 아니었어요! "이렇게 다양하게 코딩을 하실 수 있어요."가 아니라 "여기서 철자가 틀렸으니 에러가 나죠!"라고 받아쓰기를 가르치니 재미없지요. 차라리 함수 합성이 쉬웠던 것은 시작과 끝이 여러 개가 될 수 있으면서도 오류를 최소화하기 때문이었습니다. 컴퓨터 언어도 사람이 만들다 보니 인간의 인식 과정을 반영합니다. 마치 변증법의 역사와도 비슷합니다. 복사해서 붙여 넣기로 프로그래밍을 가르치는 나라는 우리나라가 유일합니다. 일반적으로 배우는 명령형 프로그래밍은 '어떻게 하라'는 방법적 지시를 내립니다. 하지만 변수 상태가 바뀌거나 순서가 얽히면 버그가 발생합니다. 우리말은 주어가 중심이 되는 능동형인데 영어는 객체지향형 (object-oriented)으로 수동형(피동형)이 주류를 이룹니다. 한국어는 문법이 정확해서 누구나 배우려 하면 빠르게 배울 수 있습니다. 만일 한국어로 코딩하는 언어를 만든다면 오류가 줄어들 것도 같습니다.



게임의 룰을 만드는 자 

누구나 게임에서 이기고 싶습니다. 그런데 내가 열심히 하는 것만큼 다른 사람들이 모두 노력을 한다면 이길 수 없습니다. 결국 무한경쟁으로 치닫게 되고 '타짜'까지 등장하게 됩니다. 그럼 합법적으로 이기려면 어떻게 해야 할까요? 게임의 룰을 내가 디자인하면 됩니다. 지금까지 '을'이었지만 룰이 바뀌면 내가 '갑'이 될 수 있습니다. 이더리움 플랫폼을 예로 들어봅시다. 이더를 보낼 수 있는 함수에는 send, delegatecall, call, transfer 등이 있습니다. send를 쓰면 전송 실패가 되어도 가스비가 반환되지 않습니다. 반면 call은 전송 실패 시 가스비를 반환해 줍니다. delegatecall은 가스비가 없는 대신 다른 계약서의 라이브러리를 사용하는데 데이터에 접근할 수 있는 위험이 있습니다. transfer는 전송이 취소되면 가스비를 환불해 주면서 무한 호출이 가능하기에 안전하지요. 함수를 모르면 눈뜨고 당합니다. 과거에는 노동력이나 자본이 승패를 좌우했다면, 미래에는 개발자가 킹 메이커 (king makers)로 부상하고 있습니다. 인터넷 쇼핑, 자율운행차, 스마트 팩토리, 빅 데이터 분석 등 모든 작업을 시스템을 통하지 않으면 할 수 없는데. 언제까지 과거의 편안함을 추억하며 살 수 있을까요? 변화의 파도 속에서 도태되지 않으려면 프로그래밍을 배우거나, 개발자 친구를 가까이하셔도 좋습니다. 이도 저도 어렵다면 정치, 종교, 사회, 문화적으로 인플루언서가 되어 플랫폼을 자유자재로 활용할 수 있어야 합니다. 


봉은사 템플 스테이에서 성경구절을 적어봅니다 © Lisay G. 

운전을 못합니다만

코딩을 배우다 보니 제가 왜 자율주행차를 손꼽아 기다리는지 알 것 같았습니다. 자전거 타기를 배우거나 운전을 배울 때면 '어떻게 (how)'하는지에 대한 방법론만 나옵니다. 추월을 할 때에는 어떻게 깜빡이를 켜고, 교통신호는 어떻게 봐야 하며, 주차는 어떻게 하는지 말입니다. 정작 핸들을 잡고 도로에 들어서면 무엇을 해야 할지 눈앞이 깜깜해집니다. '무엇을 (what)'해야 하는지 간단명료하게 알려주었더라면 쉽게 배웠을 텐데... 아직도 제 머릿속에는 '어떻게 (how)'하면 실수를 하지 않거나 잘못된 선택지들을 피해 가는 방법들이 아른거립니다. 계속 직진하다가 보면 멘붕이 오고 강남에 브런치를 먹으려 가려는데 어쩌다 부산까지 간 적도 있습니다. 운전을 즐겨하지 않는 분들은 공감하실지 모르겠습니다. 그래도 교양 있는 친구들은 운전도 못하는 저를 하대하지 않고, 평생 운전기사가 모시고 다닐 팔자라며 긍정적으로 봐주니 고마울 뿐입니다.   



2 W1 H 골든 서클 

과녁에 명중시키기

연초에 빈혈 퇴치를 위해 주치의를 찾았습니다. 예전 같았으면 "빈혈이 좀처럼 개선되지 않는데 어떻게 하면 좋을까요?"라고 물었겠지만 이제는 달라졌습니다. "페린젝트 (Ferinject)  처방해 주세요."라고 요청했습니다. 혈색소 수치가 7.7까지 떨어져 가끔 박동성 이명도 들리고, 기내에서 이유 없이 패닉이 오기도 했습니다. 빈혈약을 종류별로 먹어보았지만 효과가 미미하고 수혈은 위험하니, 최신 의학기술을 알아보고 AI 왓슨과 상의해서 내린 최선의 결론이었습니다. 스위스 제약사에서 만든 정맥주사인데 수술을 앞둔 환자나 임산부에게 주로 처방됩니다. 1회 가격이 처치료를 포함해 250불 정도이지만 기적 같은 효과에 놀랐습니다. 좌측 다이어그램은 사이먼 사이넥 (Simon Sinek, b.1973)의 유명한 이론 골든 서클 (Golden Circle)입니다. 영감은 '왜 (why)'에서 받지만, 실무에서는 '무엇 (what)'에서 출발합니다. 내용이 무엇인지 파악해야 '어떻게 (how)'로 실행할 수 있겠지요. '운명은 신이 던지는 질문이다. 답은 그대들이 찾아라.' 2019년 당신의 운명을 바꿀 준비가 되셨나요. © Lisay G. 






매거진의 이전글 웹, 어디까지 가봤니

매거진 선택

키워드 선택 0 / 3 0
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari