적폐의 응용: The Application of 積弊
지난 정부에는 대한민국 소식을 일부러 듣지 않으려고 노력했다.[1] 누군가가 'CSS가 문제'라는 개발자만 이해할 수 있는 농담을 했을 때도 촛불집회 결과로 이런 변화가 있으리란 생각은 미처 못했다. 그 가운데 썩어빠진 언론속에서 새싹처럼 JTBC가 탄생하더니, 상상도 못할 방법으로 정권이 바뀌고, 상식적인 대통령이 나타났다. 그리고, 그가 주도하는 적폐(積弊) 청산이 미래에 대한 희망을 품게 한다.
적폐는 특정 세력만의 문제인가?
요즘은 JTBC 보도를 통해 다양한 적폐 청산 뉴스를 접한다. 적폐란 가깝게는 지난 두 정부 비행의 결과이지만, 정경유착이나 조중동式 언론, 갑질 관행 등은 그보다 뿌리가 훨씬 깊다. 요즘 몇몇 기업 회장이나 장군이 운전기사나 사병에게 가한 행위는 과거에는 아무렇지도 않게 자행되었던 일이었기에 가해 당사자 입장에서는 (바뀐 세상탓에) 억울하다 생각할 수도 있다.
아무튼 나는 매일 저녁 잠깐씩 JTBC 보도를 사이다처럼 보고 즐겼는데, 이제는 그 이상을 해야 한다고 생각했다.[2] 그러던 차에 나에게 쌓여 있는 적폐를 정리하자는 뜬금없는 생각이 들었다. 그래서 일단 적폐가 무슨 뜻인지 네이버사전에서 찾아봤다.
적폐: 오랫동안 쌓이고 쌓인 폐단 폐단弊端: 어떤 일이나 행동에서 나타나는 옳지 못한 경향이나 해로운 현상
하기 싫은 일을 몇 달째 미루는 나
나는 하기 싫은 일이라면 아주 간단한 일조차 안하고 버티다가 모아서 곤란한 일로 만드는 경향이 있다. 아내는 내가 하기 싫은 일을 잘 알고 있기에 대신 해주기도 하는데, 반드시 내가 해야 하는 경우, 아내가 귀뜸을 해주지만 그럼에도 불구하고 번번히 수월하게 해내지 못한다. 허나 이런 일이 한두번 각오로 쉽게 해결되면 굳이 '적폐'라고 할 수는 없다. 나는 이 글을 쓰면서 두드러진 나의 적폐 항목 몇 가지를 트렐로(trello.com)에 기록했다. 인내를 가지고 이들을 풀어내면서 나 자신을 관찰하고 더 나은 방향으로 삶을 끌고 가려는 각오다. 그리고, 기회가 되면 또 이를 공유할 수도 있겠다.
여기선 이보다는 조금 가벼운 적폐를 다루기로 하자.
객체지향과 리팩터링
요즘 중국 우리집에서 함께 지내는 임춘봉 훈장님께 객체지향의 참 의미를 배웠다. 그 분이 약 3년간 엑셀과 VBA로 짜여진 매출 대장 프로그램을 만드시는 모습을 가끔 옆에서 볼 때는 나이드신 분[3]이 참 대단하다 정도로만 생각했다. 그러던 어느날 함께 맥주를 마시며 대화를 나눴다. 11시정도가 되어 헤어지는데, 대화하다 얻은 영감을 오늘 반영하지 않으면 잊는다며 사무실로 향하셨다. 저렇게까지 해야 하나 싶었다. 돈받고 하는 일도 아니고, 아무도 알아주지 않는 프로그램인데...
며칠 후에 나는 깨달았다. 내가 제대로 객체지향 프로그래밍을 못하는 이유 말이다. 나는 과연 임훈장님 수준으로 리팩터링을 해본 일이 있는가? 마음에 들 때까지 내 프로그램을 고치고 또 고쳐본 일이 있는가? 내 스스로에 대한 점수는 매우 한심한 수준이었다.
그 정도 한심한 태도와 노력(그저 한차례 결과만 만들어내는 수준)으로 자연에 존재하는 사물(Object)에 범접할 수 있는 프로그램 모양을 만들어낼 수 있을까? 나는 리팩터링을 하지 않으면서 객체지향을 한다고 말하는 일은 거짓이라고 결론을 내렸다.
요즘 내 옆에서 동료들이 만드는 거의 모든 코드를 리뷰하는 김이사님을 보면서 일상에서 개발자가 가장 쉽게 할 수 있는 적폐청산은 리팩터링임을 확신한다. 적폐의 일종인 기술 부채는 읽기 어렵거나 오류가 포함된 코드를 오랫동안 쌓아둔 것이기 때문이다. 여러분이 개발자라면 이렇게 권하고 싶다.
적폐세력 욕 한번 하시면, 리팩터링 이슈를 하나 올리시라. :)
그리고 의지가 없어 리팩터링을 못하는 것이 아니라 방법을 모르신다면, 그 일도 도움을 드릴 수 있다.
아기 발걸음과 적폐청산
전에 AC2 과정 경험을 소개한 일이 있는데, 그때 들은 표현 중에 '안전한 공동체'란 말이 있다. 그 말은 학습과정에서 노출된 일들에 대해 부작용이 없다는 의미로 해석할 수 있다. 단순히 지식을 습득하는 배움[4]이 아니라 힘써 익혀야 하는 공부(工夫)로 들어가면 '위험한 노출'을 발견한다. 내가 몰랐던 내면의 불편함과 직시한다. 그리고, 생각보다 더 허술한 내 실력을 발견하기도 한다. 함께 공부하는 동료들이 이런 점들을 받아들여줘야 하고, 이를 공격하거나 외부에 누설하지 않아야 안전하다 할 수 있다.
개인 스스로 안전한 학습 방법을 만드는 일은 아기 발걸음 원칙이 도울 수 있다. 크게 무리를 하지 않는 선에서 딱 한발만 더 갈 수 있게 공부를 설계하는 것이다. 적폐 청산과 같이 어려운 일을 해결하려면 어쩌면 용기를 줄 수 있는 아기 발걸음 같은 장치가 필수인지도 모른다.
그러나, 아기 발걸음만으로는 부족하다. 수많은 아기 발걸음을 걸어가야 목표에 도달할 수 있다. 의지력과 인내심이 수반되어야 한다. 갑자기 없던 인내심이 생기지는 않으니 문제다. 다행히도 나는 살면서 현재까지 여섯 명 정도로 헤아릴 수 있는 멘토를 만났다. 먼저 수많은 발걸음을 걸어간 사람들, 그들을 보면서 용기를 다진다. 그리고 내 안의 적폐 청산을 다짐하는 지금은 그 멘토들 외에도 옆에서 맨날 코드 리뷰하는 존경스런 동료가 있다. 그들의 노력을 볼 때마다 또, TV 뉴스에서 대한민국 적폐 청산의 한 걸음을 들을 때마다 나는 스스로의 나태함을 돌아볼 수 있다.
주석
[1] 나는 현재 중국에서 일하고 있다.
[2] 촛불집회 참여도 안한 주제에 그저 남들이 만들어준 희망을 눈과 귀로만 즐기면서 인생을 허비할 수는 없으니까.
[3] 우리 어머니와 태어난 해가 같은 50년생이시고 40여년 전에 프로그래밍을 시작했으나 당시에 워드 프로세서를 써본 일이 없어, 2009년 즈음에 처음 엑셀을 써본 후에 매출대장을 개선하기 위해 매크로와 VBA를 배우셨다.
[4] 나는 학교에서 성적을 위해 이유도 모르고 외우는 행위를 공부라고 잘못 배웠다. 최근에 이르러서야 공부가 힘쓸 공(工)자과 지아비 부(夫)로 이루어졌다는 지인의 말씀을 듣고서야 성적 위주의 현대 교육이 왜 삶에 큰 도움이 되지 않는가 분명하게 깨닫고 있다.