코더?

코더를 평가절하하는 것은 코드라는 용어가 갖는 의미때문인 것으로 생각됩니다. 코드라는 것이 기계어로 번역한다는 의미를 가지고 있으니 당연 코더도 단순작업을 하는 사람으로 여겨지겠지요. 개인적인 선호이겠지만, 저는 이런 의미를 은연중 반영하고 있는 코더라는 타이틀을 싫어합니다.

이 용어가 누구에 의해 현재 확산되어 사용되고 있는지는 모르지만 우리가 하는 일을 평가절하하고자 하는 사람들에 의한 것이 아닌가 의심해봅니다. 제 의심이 단순함과 무지의 극치이던, 그 말이 맞던 그르던 평가절하할 수 있는 타이틀은 버려야 한다고 생각합니다.

왜 스스로 코더라고 부릅니까? 이것은 우리 스스로 3D, 노가다라고 하는 것과 마찬가지로 우리를 부리려고 하는 다른 사람들의 눈에는 같은 것으로 여겨질 것입니다.

코더라는 타이틀에 어떠한 수식어와 의미를 붙여 아름답게 꾸며도 그러한 인식이 바뀌지 않는 한 우리는 평가절하될 수 있습니다. 우리의 환경이 어떻든간에, 스스로 다른 타이틀을 가지고 일하는 사람이 맘에 들지 않던간에, 프로그래머라는 업을 떠나면서 우리의 일을 그들이 어떻게 평가하든간에, 어떠한 이유에서든 우리는 이 일을 하고 있고, 그러므로 자존감을 가져야 합니다. 그들이 아키텍트, 분석설계자, 컨설턴트라고 불린다고 해서 내가 그렇게 불리지 않는다고 해서 코더를 선택할 필요는 없습니다.

왜냐하면 우리는 프로그래머이기 때문입니다.

제가 프로그램을 시작할 때도 우리는 프로그래머라고 불렸습니다. 창조자 또한 프로그래머입니다. 이 좋은 타이틀을 두고 다른 타이틀이 필요할까요? 저는 어디가나 저를 소개할 때 프로그래머라고 합니다. 우리가 프로그래밍할 때 한 작업으로 코딩이라는 것을 합니다. 코더는 이 일을 할 때의 우리의 한 역할일 수는 있습니다. 우리의 생각을 기계가 이해하도록 하기 위해서이지요. 다양한 또 다른 타이틀은 프로그램의 복잡성과 규모가 커짐에 따라 역할을 나눠야 할 필요가 있어서 등장한 것 뿐입니다. 규모가 큰 프로젝트를 함으로 그때 제가 하고 있는 일이 기계적으로 코딩하는 역할을 하고 있을지라도 저는 스스로 코더라고 부르지 않습니다. 이것은 단지 그 순간의 한 역할일 뿐이지요. 전체적으로 보면 우리는 협력해서 프로그래밍을 하고 있는 것입니다. 프로그래밍이란 문제를 해결할 수 있는 알고리즘을 생각해내는 것입니다. 코딩은 알고리즘을 이해해서 수행해야 할 대상이 이해할 수 있는 형태로 알고리즘을 변환하는 것입니다.

우리가 무엇을 가지고 놀던 우리는 생각을 합니다. 또 다른 세상에서 어떻게 우리의 생각이 펼쳐질 수 있도록 할 것인지 끊임없이 생각합니다. 우리가 가지고 노는 것이, 생각의 도구가 코드일 때 우리가 가장 잘 이해하고 좋아할 뿐입니다.

[수학자, 컴퓨터를 만들다]에는 다음과 같은 문장이 있습니다. 어떤 의도를 갖고 있는 사람이 코딩이라는 용어를 사용하고 어떤 의도를 갖고 있는 사람이 프로그래밍이라는 용어를 사용하는지를 보여줍니다.

폰 노이만은 컴퓨터 프로그래밍을 “코딩(coding)”이라고 불렀고 지적 능력이 거의 필요하지 않은 사무적인 일이라고 생각한다는 점을 분명히 했다.

튜링은 자신의 ACE 보고서에서, 컴퓨터 프로그래밍 과정은 “매우 매혹적일 것이다. 단조롭고 힘든 일을 하는 사람이 될 그 어떤 실질적인 위험도 필요 없다. 왜냐하면 다소 기계적인 공정은 모두 기계에게 맡겨질 것이기 때문이다”라고 말했다.

요즈음 프로그래머라는 타이틀 자체도 평가절하되는 경향도 있지만, 이 타이틀이 갖는 어원적 의미가 퇴색하지 않는 한 쉽지 않을 것으로 생각됩니다. 매트릭스에 등장하는 오라클의 타이틀이 바로 프로그래머입니다. 컴파일러가 등장하기 전, 코더라는 타이틀이 처음 사용되던 그때, 그 사람들은 회로선을 연결했을거고, 그 후에는 펀칭카드에 구멍을 뚫었을 겁니다. 물론 그때 그 일을 했던 사람들은 컴퓨터가 무지무지 귀하던 시절이니 대단한 사람들이었을 것입니다. 그러나 그 일이 이제는 컴파일러가 하는 일과 같은 것이 되었으니. 코더는 기계적으로, 뭔가를 시키는대로 한다는 의미로 평가절하된 것이 아닐까요? 그러다보니, 컴파일러가 프로그래밍 언어로 작성된 것을 기계어로 변환하듯이, 설계된 또는 명세된 내용에 따라 기계적으로, 시키는대로 프로그래밍 언어로 변환하는 역할을 코더가 대변하는 것 같습니다. 물론 코더라는 타이틀을 바로 잡아서 떳떳하게 사용할 수도 있을 것입니다. 하지만 굳이 그럴 필요가 없다는 거지요. 코더라는 타이틀 자체도 프로그래머라는 타이틀이 없을 때 사용되던 것이고, 이제는 프로그래머라는 타이틀이 버젓이 있는데 오해 많은 코더라는 타이틀을 사용할 필요가 없는 것 아닐까요? 코더라는 말을 지금도 사용하고 있는 것은 자신이 남과 다르다는 것을 내세우고자하는 사람들이 자신을 다른 사람과 구분하기 위해서 사용하고 있는 것 아닌가라는 생각이 듭니다.

 

– 코더라는 용어에 대해 온라인 상에서 격한 논쟁이 있을 때 조용히 한 켠에서 작성했던 글입니다.  2010년 3월 21일 김현남

About the Author
(주)뉴테크프라임 대표 김현남입니다. 저에 대해 좀 더 알기를 원하시는 분은 아래 링크를 참조하세요. http://www.umlcert.com/kimhn/

Leave a Reply

*