오늘 트윗을 통해 전파된 블로그글을 타다 보게 된 5throck 님의 한 글에 반발하여 글을 하나 쓰게 되었었 습니다.
글이 쓰여진 것이 2007년인지는 확인을 못한 상태에서 현실과 너무 동떨어지는 개발자에 대한 현실에 비판을 안 할 수 가 없었던 입장 이었습니다.
그럼에 5throck 님께서 먼저 반론의 글을 쓰고 알려 줄 수 있지 않았느냐 - 라는 댓글에 심히 부끄러움을 느끼게 되었네요.
그리고 트랙백으로 걸린 글을 읽어 보았습니다.
일단 이 글로 5throck 님에게 어떠한 동의도 없이 반론의 글을 쓰게 된 것 을 이 자릴 빌어 죄송함을 표하고 싶습니다.

5throck 님의 글을 보면, 당연히 저보다는 연세가 있으시고, 제가 밟았던 언어와 비슷한 배경을 가지고 계시더군요.
이전에도 제 블로그에 간혹 과거에 대한 단상을 쓴 적이 있습니다만, 이번에도 다시 과거를 돌이켜 볼 필요가 있어 보이는 군요.
5throck 님이 COBOL 로 시작한 언어에 저는 Apple IIe 에서 BASIC 으로 시작 하였습니다.
그당시 MSX 는 Color CRT 모니터에 16색이라는 놀라운 표현력은 물론, 내장 동시 4ch 이라는 소리를 낼 수 있는 기능 덕에 최고의 게임 머신으로 까지 등극해 있었습니다.
그당시 저는 지금의 초등학생, 그당시엔 국민학생 이었죠.
그 당시 기업에서 COBOL 을 배우셨다는 5throck 님과는 상이한 입장 이었습니다.
그러다가 compile 이라는 개념을 알게 되었습니다.
인터프리터어 인 BASIC 이 가지는 구조와는 다른 기계어로의 변환이 일어 나는 compile 과 link 의 개념은 어린나이에 깨닫게 된 이유가 바로 Quick BASIC 에 이은 Borland 사의 Turbo Pascal 이었습니다.
아마 5throck 님이 만져 보셨다는 PL-1 의 후속이 바로 Pascal 이겠죠.
아마 저와는 접근의 방법이 이전부터 다르셨던 점이 보입니다.
저는 은행권에서 일한 것이 아닌, 직접 기계어로의 접근을 위한 도구로 Pascal 을 배우고, C 언어를 접근하게 되었습니다.
그당시 인터넷이란건 있지도 않았을 뿐더러, MODEM 을 통한 통신으로 엄청난 전화비를 지불 해야 하는 고통이 따르는 수단 외엔 서점에 파는 책가지가 제가 얻을 수 있는 지식의 전부 였습니다.

5throck 님이 pascal 의 function 과 procedure 를 알아 가실때, 저는 inline assembler 를 알아 가던 때 같습니다.
아마 이런 점이 겉으로는 개발이라는 공통된 특징을 가지지만 내부로서는 서로 다른 지표를 가진 서로 다른 개발 방향을 가지고 있었다는 차이가 되겠습니다.
프로그래밍에 완전 빠졌을 때에 저 역시 언제나 키보드를 손에 잡을 수 는 없었습니다. 컴퓨터 성능은 우수하지 못하였고, 제가 가진 PC 의 저장장치 성능 또한 우수하지 못하였을 때 이기 때문이죠 (대학 전 까지 제 PC 는 아버지가 몫돈 들여 사 주셨던 삼성 SPC-2500C 라는 i80286 12MHz 에 메모리 640KB , 플로피 디스크 2개 달린 컴퓨터 였습니다)
물론 그런 이유로 제 코딩은 공책에 쓰이는 손으로 만드는 코드 였습니다.
그때 배운게 순서도 입니다.
하지만 그 순서도는 그저 전체적인 흐름만을 만들 수 있었을 뿐, 세부 코딩은 역시 손으로든 키보드로든 직접 만드는 방법 외엔 없었죠. 비슷해 보이는 부분도 없지 않아 있을 것 으로 보입니다.

포인터는 pascal 에서 부터 이해 하고 있었던 지라, C 언어와 C++ 의 포인터는 좀 더 유연하고 쓰기 더 편한 좀 더 편한 언어 정도 였습니다. 물론 compile 에 이은 link 가 가지는 놀라운 느린 속도는 저에게 C/C++ 보다는 pascal 을 지금까지 쓰게 만든 원동력이 되었습니다만 ...
그당시 DOS에는 Install shield 같은 패키징 솔루션이 업었습니다.
사실 제가 패키징이란 걸 처음 사용한것은 Windows 3.1 이전에 DOS 에서 였겠네요.
그당시 게임들은 모두 Text 모드에 ASCII 문자들로 표시되는 progress bar 와 글자들이 전부 였을 겁니다.
그걸 저는 음악+MCGA mode 라 불리던 13h 레지스터를 이용한 그래픽, LZH 압축 알고리즘을 이용한 설치 패키지 프로그램을 만들었었습니다.
분리된 여러 LZH 압축 파일들을 설치되는 위치(보통 하드디스크)에 풀어 주고, 이 과정을 간단한 그래픽과 지루하지 않은 음악으로 표현 했었고, 당시 컴퓨터 잡지에도 실려 소개 되기도 했었습니다.

이렇게 시작된 프로그래밍에 관련된 제 생활은 지금까지 이어지고 있습니다.
단지 달라진 것은 그당시에 사용되는 컴파일러는 지금에 쓰이지 않고 있지만 여전히 GCC/MinGW 를 쓰고 있고, Object-pascal 로 이어진 Delphi 는 Free Pascal Compiler  를 통해 ARM base WindowsCE 이나 Android 등의 타 플랫폼으로 까지 사용이 가능한 상태 입니다.

그럼에도 저는 아직 5throck 님의 입장에 반대적인 점은 변함이 없다는 점.
이유는 많습니다만, 제가 격었던 System Engineer 는 금융권이 아닌 일본 대기업의 VLSI 에 들어가는 드라이버 및 시스템 프로그래밍 관련 분야 였고, 이는 서로 다른 성향의 SE 였는데다, 그 이후 지금까지 그 경험은 아깝지 않은 저의 재산이라는 점 입니다.
게다가 제가 지금은 하지 않게 된 IT 를 그만두게 된 이유가 이런 일로 인한 어려움이 아니라, 바로 몇년간 지속되는 야근과 시간에 쫒기는 개발일정, 그리고 낮은 연봉, 잦은 주말 출근, 보상받지 못하는 노동 이었기 때문 입니다.

5throck 님은 제가 격은 SE 와는 전혀 다른 SE, (제가 알기론 SI 에 속하는 듯 합니다만) 를 격고 나서 택하신 일이 컨설팅이라 하셨죠. 만약 개발자로서 저와 같은 어려움을 격고, 그 어려움을 이해 했었다면 이전의 그 글 처럼 개발자 부족에 대한 이해가 그러하진 않았을 것이라 믿어 의심치 않습니다.

1년중 집에 일찍 가는날이면, 마치 죄책감을 가져야 하고, 다음날이면 왜 이리 일찍 가느냐? 일이 없느냐? 라는 이야길 들어가면서 일을 해 보셨다면 과연 그런 글을 쓰실 수 있었을까? 하는 생각을 해 봅니다.
정말 어렵게 IT 개발자로서의 일을 해 보셨다면, 지금 하시는 컨설팅에서 과연 어떤 의미에서의 "프로페셔널리즘" 인지 모르는, 그 이유로 개발자가 야근과 주말 출근에 까칠한 반응을 보이는지 이해 못하지 않았을 것 이란 점 입니다.
5throck 님께선 지금도 컨설팅을 하고 계신지 모르겠습니다만, 컨설팅이 주업 이시라면 그 달라진 차이를 먼저 이해 해 주셨으면 하는 바램 입니다.

전 여전히 키보드로 프로그래밍을 하는 일을 지금도 하고 있습니다.
하지만 대한민국에서 IT 라 불리는 그런 을,병,정에 이어지는 재봉틀 대신의 키보드를 쥐는 막노동성 일을 전혀 하고 있지 않기에 과감히 IT 라 하지 않습니다. (회사는 의료기를 생산 합니다)

그러기에 IT 에서 격어던 온갖 서러운 일과, 지금도 그곳에서 내 생활을 회사에 반납해 가며 제대로 된 대우를 받지 못하는 여러 동료와 후배들을 알고 있습니다.
그들을 생각하면 5throck 님의 몇년전 이야기는 그당시나 지금이나 모두 형용될 수 없는 글이란 것을 다시금 알아 주셨으면 하는 바램입니다. 몇년이 지났지만 IT 에서 달라지는 것은 전혀 없었습니다.

만약 지금도 그 "프로페셔널리즘" 이 그때와 다르지 않은 이해로 5throck 님에게 사용되고 있다면 ...
다시금 그 "프로페셔널리즘" 이 어떤 것인지 재정의 해 보심은 어떨지 권유해 보고 싶습니다.
개발자 들이 공감하지 못하는 그 "프로페셔널리즘"은 과연 어떤 것인지 말이죠.

물론 3년전의 이야기를 제가 들고 일어 선 것이니 지금의 5throck 님의 생각과는 분명 다를 것이라 생각 됩니다.
또한 제가 이렇게 글을 쓰는 것 역시, 세대의 차이는 있었겠지만 - 저 역시 오랜 기간 개발이란 것을 통해 생업을 하고 있고 지금 역시 그 개발이란 것에 제 인생을 걸고 있기 때문에 쓰는 것임을 넓은 아량으로 이해 해 주셨으면 좋겠습니다.

컨설팅이란 분야가, 실제 개발자들을 포용적으로 이해 하고 하실 수 있다면 정말 최고의 컨설터가 될수 있지 않을까 하는 생각도 해 봅니다.

감사합니다.
Posted by 견족자K rageworx
  • Favicon of https://mbastory.tistory.com BlogIcon 5throck
    2010.11.08 21:45 신고

    간만에 개발과 관련된 글을 읽으니 불연듯 옛날 생각이 나는 것 같습니다. 어쩌면 그 때가 가장 행복했던 시절일지도 모르겠다는 생각이 드네요. ^^

    저도 개발에서 벗어나 다른 일을 하고 있으니 해당 분야에서 일을 하고 계신 분들만큼은 알지 못하지만, 마지막으로 프로젝트를 했던 사이트의 경우 프로젝트 중반까지 개발자 분들이 7시 이전에 퇴근을 했었습니다. 저도 놀라서 다른 분들에게 여쭈어 봤더니 다 그런 것은 아니더구요. 하지만, 이 일을 계기로 IT 분야도 서서히 변화하고 있다는 생각을 들었습니다.

    게다가 제가 알고 있는 벤처의 경우에도 밤늦게까지 일을 하는 곳이 있는가 하면 7시 정도면 퇴근하는 곳이 있는 것으로 알고 있습니다. 몇 가지 사실을 가지고 일반화하는 것 같아 논리의 모순은 있는 것 같지만, 제가 드리고 싶은 말은 시대가 변화하고 있고 각기 자신의 처해있는 상황에 따라 개발을 바라보는 시각이 다르지 않을까 하는 생각입니다.

    논지가 조금 흐트러진 것 같은데, 제가 처음에 언급하신 글을 통해서 드리고 싶었던 말은 "이 프로젝트에서 잔업을 하느냐"라는 말보다는 그 일을 통해 내가 무엇을 얻어갈 수 있고, - 그것은 돈이 될 수도 있고 성취감이 될 수도 있습니다. - 이 일을 주는 회사가 어떤 결과를 낼 수 있느냐라는 부분에 대한 질문이 선행되어야 하지 않았을까 하는 생각에서 쓴 글입니다. (제가 이러한 생각을 제대로 표현하지 못한 것은 저의 불찰이라고 생각합니다.)

    저도 개발자 출신인만큼 전체를 호도하지 않기를 바라는 마음이 간절하지만, 간혹 보다보면 왜 해당 프로젝트에 오려고 하는지 그리고 그 안에서 어떤 것을 이루어 내려고 하는지를 알 수 없는 분들을 보게되면 참 마음에 들지 않는 것 같습니다.

    아무튼 어떻게 하다보니 긴 이야기가 되었는데 블로그로 대화를 하는 것은 참 어려운 것 같습니다. 나중에라도 언제고 시간되실 때 같이 만나서 이런저런 이야기를 하실 수 있으면 좋을 것 같으니 시간 나실 때 연락을 한번 주시면 좋을 것 같습니다.

    그럼 부족한 글을 끝까지 읽어 주신 것에 감사드리며, 늘 행복하시고 건강한 하루 되시길 바라겠습니다.

    • Favicon of https://rageworx.pe.kr BlogIcon 견족자K rageworx
      2010.11.22 18:03 신고

      제가 너무 늦게 댓글을 달게 되었네요.
      답장을 쓰기에 앞서, 아무래도 5throck 님 이 개발자에 대한 생각과 제가 그간 격어온 개발자로서의 경험이 너무 상이한듯 합니다.
      그래서 서로 이해하고 바라 보는 영역도 다른 듯 하네요.
      앞으로 많은 발전 있으시길 바랍니다.
      좋은 나날 되세요.