부러진 개발자 이야기 #5 - 컴공과 석사를 만나다. 2/3
앞서 말한 404에러 오해의 문제에 대하여 잠깐 생각을 해보고 넘어가는 것이 우리들의 거칠어진 마음을 부드럽게 다지고, 좀 더 깊이있고 높게 고양하는 데에 좋을 것 같다.
'석사출신인데 웹에서 404에러 발생하는 화면도 몰라?', '그 사람 석사 맞나요?'라고 생각할 사람들이 많다. 누구든 충분히 그렇게 생각할 수 있다.
그러나 우리는 고정관념을 깨고 발상을 전환해서 생각해보자.
그 석사님은 C언어를 이용하여 유닉스 환경에서 커맨드라인으로 실행되는 코어엔진 모듈을 개발하시던 분이신데,
그는 '컴파일은 모듈 단위로 파일들을 통합하여 한 번에 완료한다. 컴파일이 성공적이면 일단 개발한 모든 기능의 실행은 가능하다. 그리고 컴파일 된 모듈은 반드시 실행파일(*.sh, *.bat, *.exe, *.com 등)을 진입시점으로 고정한다.'는 규칙을 기본바탕으로 깔고 수십 년간 일해왔다.
2003년 당시 패키지S/W 특성상 컴파일은 통합컴파일로 진행되기에, Java나 웹처럼 개별 파일 단위로 컴파일이 진행된 후 해당 파일로 직접 진입하여 실행해서 결과를 보는 것은 드물었기 때문이다.
데스크탑용 패키지S/W나 유닉스 모듈S/W와 달리, 파일단위의 부분 컴파일과 실행이 일상인 웹의 차이점 때문에, 상당수의 CS개발자들이 생존을 위하여 2000년대 후반부터 웹으로의 이동 초입부터 상당히 애를 먹었다.
그 석사님은 Exception이나 Error 때문에 404에러가 출력되던 웹페이지가 문제 해소 후 즉시 반영되어 테스트 실행되는 것을 보고 매우 신기하게 바라보았다.
당연히 석사가 웹에 대하여 문외한이니 JSP개발자를 모집했을 것이다.
물론 데스크탑용 패키지S/W도 컴파일된 상태에서 파일 한 개만 손상시켜 교체하고 실행하면 대체로 실행되긴 하지만, 해당 파일이 관여하는 기능을 실행하려고 내부적으로 파일에 접근하고 실행하는 순간 에러를 뱉어내고 프로그램 자체가 죽어버리지, 웹처럼 이전 URL로 돌아가 정상화면이 보여지는 것은 아니다.

<아마 이런 류의 에러 안내창이 뜨면서 해당 패키지S/W가 완전히 종료되겠지.>
그러므로 PC용 CS 패키지 개발자들이나 유닉스 모듈 개발자들 관점에서는, 개별 파일 단위로 즉시 컴파일하고 교체까지 해가며 작업결과를 보는 웹은 매우 생소한 방식으로 생각될 것이다.
이 문제는 인터넷이 탄생하고부터 다른 환경, 다른 시스템, 다른 언어, 다른 직종에서 개발하던 개발자들이 서로 비난을 하며 목을 조르는 문제를 가져왔다.
개발자들의 관점 차이에 대하여 서로 관용을 가지고 존중하는 것이 좋지 않겠는가?
그러므로 개발에 관하여서는 서로 간 프로토콜의 문제가 있었을 뿐, 노승일이든 석사든 둘 다 잘못한 것이 전혀 없다고 할 수 있겠다.
이런 프로토콜 문제를 해결하기 위해서는, 처음부터 합의 하에 테스트 서버를 구축해 놓고, 작업 노트북에 테스트는 금지시키고, 테스트 서버에서 확인하라고 해놓고 주기적으로 완료 목록을 업데이트 시켜서 보여주면 될 것이다.
※ 이야기 전개상 존대는 사용하지 않으며, 법인명과 인물명은 전원 일부가명 처리하였습니다.
-----------------------------------------------------------------------------------------------------------------------------------------
우리는 당시에 환경적인 문제를 안고 있었다.
당시에 우리는 정동 경향신문 빌딩의 사무실에서 겨우 책상 두 칸의 자리를 빌려쓰는 중이었는데, 아마 무료로 구석을 빌려쓴 것 같다.
장비도 석사 소유 노트북과 내 개인 노트북 단 두 대에 불과했다.
사무실 안쪽 넓은 자리는 정동 스타식스 영화관 전산팀과 창업을 준비중인 다른 팀이 사용하고 있었고,
우리 자리는 사무실 입구 쪽인데, 벽에는 'Singing in the rain.'뮤지컬 포스터(비가 쏟아지는데 남성들이 우산을 들고 춤을 추는)가 붙어있는 어수선한 자리였다.
당시에 CGV가 인터넷 예매시스템을 만들어 컨텐츠 서비스와 각종 할인이벤트를 진행하며 관객들을 블랙홀처럼 빨아들이고 있었기에, 정동 스타식스 영화관 역시 광범위한 컨텐츠서비스와 할인이벤트는 어렵더라도 인터넷 예매시스템이라도 개발해서 경쟁사의 인터넷 영업확장에 대응을 해야 했는데, 고작 30대 후반 전산팀장과 20대 후반 웹디자이너 둘이서 일을 하고 있었다. 웹디자이너는 신입을 뽑아놓은 것으로 보인다.
그러던 어느 날, 원격지 다수 서버 모니터링 시스템 기본 기능을 끝낸 후 환기를 시키는 시간을 가지는데, 영화관 전산팀장이 내게 말을 걸어왔다.
서로 약간의 자기소개를 하고나서, 그 팀장은 내게 JSP와 PHP는 어떤 차이가 있느냐, 인건비의 차이는?, 유지보수 용이성은?, 다른 웹사이트는 어떤 언어로 만드느냐, 영화관 웹사이트 개발에는 어느 게 좋냐는 내용으로 약 15분 정도 대화를 진행하였다.
내가 좀 깊게 얘기를 하자, 얘기를 듣고 난 전산팀장이 영화관 웹사이트 규모를 크게 가져갈 생각은 없다는 말을 내게 하고는, 예약/결제만 일어나는 웹사이트는 개발기간이 얼마나 걸리는지 묻기에 웹사이트 개발을 하려는 사업자의 요구사항이 다르니 기능명세서가 나와봐야 알지 않겠냐고 답하였다.
노승일은 이미 잡한국과 PHP스쿨에서 PHP는 이제 돈이 안 된다는 것을 알고 있었기에, 대번에 깡통의 냄새를 맡았다.
노승일은 적응기간이 끝나면 슬슬 좀 규모있는 일을 하고 싶었기 때문에 리스트 출력 위주에 결제가 붙은 영화관 웹사이트 개발에 관여하려는 생각은 없었다.
웹디자이너를 신입으로 뽑아놓았다는 것은 영화관 웹사이트 개발을 할 수 있는 저렴한 개발자가 없나 고민을 하고 있는 것이다.
그래서 일반적인 웹사이트처럼 예약/결제만 구현하고 관리자 모드 최대한 적게 구현하면 디자인 포함해서 짧은 기간에도 오픈 가능하지 않겠냐, PHP개발자가 JSP개발자보다 구하기 더 쉽고 인건비도 더 저렴하다. PHP만 하는 개발자도 많이 존재하고 잘 한다고 말하자, 전산팀장은 '흐음..'이라고 말하며 고개를 끄덕였다.
그리고 몇 마디를 더 나누고는 자리로 돌아갔다.
이후 몇 개월 뒤 정동 스타식스 영화관 웹사이트는 리뉴얼 되었고, 예상대로 PHP기반에 날짜별 리스트 형식으로 구현을 해 놓고 달력과 시간표를 올려서 예약/결제를 붙여놓았다.
그런데 우리는 여기에서도 생각을 해봐야 한다.
전산 팀장 입장에서, 큰 규모의 웹사이트 개발이 싫었을 리는 없다. 영화관 임원 입장에서도 마찬가지일 것이다.
아이 뿐 아니라 어른도 누구나 뽐낼 수 있는 작품을 만들고 싶어한다.
들어온 사람들이 다른 영화관 웹사이트로 유출되지 않고 자기네 웹사이트를 계속 돌아다니도록 잡아두는 컨텐츠를 즐기는 큰 규모의 웹사이트 개발하고, 그걸 바탕으로 각종 이벤트를 마련하여 마케팅을 통하여 관객을 끌어야 하는데, 여기에 들어가는 자본이 적게는 몇 십억에서 많게는 몇 백억 단위로 투입된다.
정동 스타식스 영화관은 그만한 자본이 없기 때문일 것이다.
단순히 돈 아끼려고 작게 한다는 단편적 시각으로 볼 일이 아니다.
언제나 돈이 깡패다.
이런 경우가 또 있었다.
어느 날 전산팀 옆 사무실 40대 후반 남성 두 분이 창업을 논의하고 있는 소리가 들렸는데, 이 분들 대화 중 인상깊은 내용이 있다.
남성A: '그럼 집기는 OO상사에서 OOO만원에 사오면 되고, 인테리어는 OO데코에 OOOO만원에 맡기면 되겠네. 재료는 OO상사에서 조달하고. 그런데 지금 이걸로는 충분한 수익이 안 나오잖아?'
남성B: '나머지는 뭐... 인건비를 줄이면 되지 않아?'
남성A: '어떻게?'
남성B: '20대 초반 물정 모르는 애들 데려다 최저시급에서 조금 빼고 쓰면 되잖아? 한시간씩 더 시키고. 뭐 급여가 불만이라 그만두면 또 다른 애들 고용하면 되고.'
남성A: '아이구, 인건비는 함부로 건드리는 거 아니야. 인건비 덜 주면 그만큼 피곤해지고 골치아픈 일 생길 수 밖에 없어.', '인건비는 그냥 평균치는 지불해야 돼.', '다른 방안을 생각해야 돼.'
남성B: '그렇다면 수익 나올 부분이 없는데.'
남성A: '뭔가 수익이 나올 만한 부분을 생각해 보자고.'
이런 사례를 보면 보도방들에 왜 용산용팔이 같은 양아치들이 즐비한지 납득가지 않는가?
개발자들이 자기 권익을 침해당하지 않으려면 보도방에게든 대기업에게든 만만한 상대가 되지 않아야 한다.
'보도방 대참사'는 2005년도 즈음에 가서 또 설명을 하겠다.
그런데 우연히도, 며칠 뒤에 어떤 아주머니가 이 사무실로 찾아와서 난동을 부리기 시작했다.
아주머니: '사람을 움직이게 만들려면 돈을 내야지! 공짜로 부려먹어?', '아니! 애를 데려다 일을 시켜놓고 떼먹을 게 없어서 애들 돈을 떼먹어!', '도대체 왜 돈을 안 주는 거야!', '당신들은 그래도 월급 따박 따박 받고 살지?!!', '인건비도 지불 못하면서 사업한다고 그러고 있냐.', '별 꼴이네 정말~!!'
이거 말고도 많은데, 거의 5분 넘게 고성을 떠드니까 할 말은 다 하고 있었다.
알바생 엄마의 목소리가 쩌렁 쩌렁 사무실 전체에 울려퍼졌다.
알바생이 바로 엄마에게 일렀을 수도 있겠지만, 알바생이 유교문화로 인하여 상대적 나이약자이니 나이권력이 동등한 부모에게 도움을 요청했을 가능성이 더 높을 것이다.
만약 20대 초반의 알바생이 직접 가서 요구했다면 사업주는 대번에 '야야, 꺼져!~ 일도 개떡같이 해놓고 월급을 바래? 너 지금 와서 이러는 거 영업방해인 거 알아 몰라? 경찰서 가보고 싶어?'라고 말할 것이고 세상물정 모르는 20대 초반 알바생은 무서워서 가슴 졸이며 빈 손으로 돌아갈 것이다.
반면에, 30대 초반의 스포츠 머리에 구릿빛 피부의 단단한 체격의 남성이 '허어~ 사장님? 왜 돈 안 주세요. 정말 그러실 거예요?'라고 눈까리만 희번득거려도 사업주는 웬만해선 '야야, 줘버려, 주고 보내.'라고 말하고 돈을 지불할 것이다. 대한민국에 상대를 굴복시키지 않고 되는 일은 없다.
'기성세대는 언제나 활력있는 20대들의 뜨겁고 신선한 피에 굶주려 있다.'
어쨌든 창업자 남성A, 남성B가 언제 그 사무실에 들어왔는지 내가 알 수 없으니 임금체불이 그들의 문제인지, 아니면 그 전의 사무실 이용자와 관련이 있는지 알 수 없다. 어쨌든 남성A, 남성B는 인건비를 떼먹으려면 상당히 뻔뻔스러워야 한다는 것은 확실하게 알았을 것이다.
지금 생각해보면 남의 사업장에서 울면서 억울함을 호소하며 난동을 부려서 임금체불 사업주로 소문내, 그간 사업주가 쌓아온 선한 이미지를 걷어내는 것도 하나의 훌륭한 전술이다.
개발자들도 이 정도는 해야 한다.
'권리 위에 잠자는 자, 보호받지 못한다.'
권익에 침해를 받는 자는 당연히 상대가 공포를 느끼게끔 극렬하게 저항해야 한다.
다시 노승일과 석사와의 이야기로 넘어가자.
노승일: '그런데 석사님, 먼저 말하셨던 그 회사라는 게 어느 회사예요?'
정대은: '아, (주)YZIOTECH이 이 사업의 주체예요.'
노승일: '석사님이 직접 JT나 JT의 자회사에 납품하시는 게 아니구요?'
정대은: '제 위에 (주)YZIOTECH라는 회사에서 JT에 영업을 하고, 제가 기술을 대고 같이 하는 거예요. 제가 프로그램을 만들어서 주기로 했구요.'
노승일: '아 그렇군요.' (그럼 난??? 뭔가 이상하게 돌아가는데???)
여러분이라면 어떻게 생각할 것인가?
뭔가 개발자가 많이 불리하다고 생각지 않는가?
계약서도 없는데 노승일이 어떻게 될 지 누가 알겠는가? 노승일의 운명이 (주)YZIOTHECH와 석사의 손에 넘어가버리고 말았다.
그런데 그 다음 날인가, 일이 꼬여버렸다.
석사가 오전에 표정이 안 좋더니 (주)YZIOTECH 회사 상태가 너무 안 좋아서 사업이 어떻게 될 지 모르겠단다.
노승일: '네? (주)YZIOTECH이 안되면 이 사업이 안되나요?'
정대은: '네. 사업을 담당하기로 한 (주)YZIOTECH이 없어지면...'
노승일: '에구...', '근데 회사는 큰가요?'
정대은: '아뇨, 조그만해요. 만들어진 지 얼마 안 됐어요.'
노승일: '????(조그만 회사에 붙어서 먹으면 먹을 게 없을텐데?)'
정대은: '일단, 작업은 계속 하세요. 노승일씨 돈은 제가 꼭 받게 해 줄게요.'
그리고는 계속 나가서 전화통화를 하고 오는 것 같았다.
그 날 함께 퇴근을 하려는데, 일단 개발은 어느 정도 된 것을 봤으니 나오지 말고 집에 있으란다.
그래서 내가 조심스럽게 카드대금 때문에 걱정이라며 돈 120만원 중에 일부라도 좀 주실 수 있겠냐고 묻자 자기는 떼이더라도 내 돋은 받아서 반드시 받아서 주겠다고 여러 번 말하기에 믿고 기다리고 있었다.
노승일은 어차피 소스는 본인 노트북에 가지고 있으니 별 문제는 없을 것이라고 생각하였다.
어떻게 됐을까?
이건 다음에 설명하겠다. 2/2에서 끝내려고 했는데, 당시 기억을 더듬다보니 3까지 넘어가버렸네.
당시에는 뭐 사업이 망했으니 어쩔 수 없다. 나도 그런 부담을 알고 갔는데 내가 사업 가능성을 잘못 판단한 것이니 내가 감수해야지라고 생각했다.
법인사업이든 개인사업이든 사업가는 신체가 구속하되면서까지 책임을 지는 것은 아니다.
단지 법인이라면 자기 투자금의 증서(주식)이 휴지가 되는 것이고, 개인사업자라면 많은 부채들, 법원 지급명령서가 자기 앞으로 쏟아져 들어와 사업가 개인 재산을 거덜내려고 대기할 것이다.
사업이란 대박이 날 것을 기대하고 주주가 나눠서 위험부담을 지는 것이다.
통상 금액이 적어서 손실이 적은 경우, 천재지변 등 고의성이 없는 경우에는 구성원들이100% 손실을 보는 선에서, 채권자(돈을 받을 권리자)의 지위인 거래처들에 대하여는 보상책임인 민사에 그칠 뿐이다.
노승일은 이것을 5년 후인 2008년에 실전으로 간접 경험하게 된다.
아직 본 게임은 시작도 하지 않았다.
노승일이 직원이라면 사업이 망했어도 당연히 월급 달라고 법적인 수단까지 동원하는 것이 당연하지만, 노승일은 주주가 될 수 있다고 생각하였고, 사업이 잘 돼서 대박나면 배당도 있을 것이라 생각하여 100% 3주치의 시간 투자손실을 받아들이기로 생각하였다.
지금 생각해보면 우스운 꼴이다.
일의 성패 문제가 아니다.
주식양수도 계약서 한 장 쓰지도 않고서는, 창업멤머는 뭔 소리이고, 주주는 무슨 말도 안되는 소리인가.
이때까지도 노승일은 신뢰가 더 중요하다는 어리석은 생각을 하였기, 상호간 프로토콜의 증명인 계약서의 중요성에 대하여 중요하게 생각지 않았다.
계약서 문제는 이후에 엄청난 참사를 낳게 된다.
그런데 이제 이 석사와의 일은 이렇게 끝일까?
그러면 이 얘기를 꺼내지 않았을 것이다.
- 다음에 계속됩니다. -