모바일 오유 바로가기
http://m.todayhumor.co.kr
분류 게시판
베스트
  • 베스트오브베스트
  • 베스트
  • 오늘의베스트
  • 유머
  • 유머자료
  • 유머글
  • 이야기
  • 자유
  • 고민
  • 연애
  • 결혼생활
  • 좋은글
  • 자랑
  • 공포
  • 멘붕
  • 사이다
  • 군대
  • 밀리터리
  • 미스터리
  • 술한잔
  • 오늘있잖아요
  • 투표인증
  • 새해
  • 이슈
  • 시사
  • 시사아카이브
  • 사회면
  • 사건사고
  • 생활
  • 패션
  • 패션착샷
  • 아동패션착샷
  • 뷰티
  • 인테리어
  • DIY
  • 요리
  • 커피&차
  • 육아
  • 법률
  • 동물
  • 지식
  • 취업정보
  • 식물
  • 다이어트
  • 의료
  • 영어
  • 맛집
  • 추천사이트
  • 해외직구
  • 취미
  • 사진
  • 사진강좌
  • 카메라
  • 만화
  • 애니메이션
  • 포니
  • 자전거
  • 자동차
  • 여행
  • 바이크
  • 민물낚시
  • 바다낚시
  • 장난감
  • 그림판
  • 학술
  • 경제
  • 역사
  • 예술
  • 과학
  • 철학
  • 심리학
  • 방송연예
  • 연예
  • 음악
  • 음악찾기
  • 악기
  • 음향기기
  • 영화
  • 다큐멘터리
  • 국내드라마
  • 해외드라마
  • 예능
  • 팟케스트
  • 방송프로그램
  • 무한도전
  • 더지니어스
  • 개그콘서트
  • 런닝맨
  • 나가수
  • 디지털
  • 컴퓨터
  • 프로그래머
  • IT
  • 안티바이러스
  • 애플
  • 안드로이드
  • 스마트폰
  • 윈도우폰
  • 심비안
  • 스포츠
  • 스포츠
  • 축구
  • 야구
  • 농구
  • 바둑
  • 야구팀
  • 삼성
  • 두산
  • NC
  • 넥센
  • 한화
  • SK
  • 기아
  • 롯데
  • LG
  • KT
  • 메이저리그
  • 일본프로야구리그
  • 게임1
  • 플래시게임
  • 게임토론방
  • 엑스박스
  • 플레이스테이션
  • 닌텐도
  • 모바일게임
  • 게임2
  • 던전앤파이터
  • 마비노기
  • 마비노기영웅전
  • 하스스톤
  • 히어로즈오브더스톰
  • gta5
  • 디아블로
  • 디아블로2
  • 피파온라인2
  • 피파온라인3
  • 워크래프트
  • 월드오브워크래프트
  • 밀리언아서
  • 월드오브탱크
  • 블레이드앤소울
  • 검은사막
  • 스타크래프트
  • 스타크래프트2
  • 베틀필드3
  • 마인크래프트
  • 데이즈
  • 문명
  • 서든어택
  • 테라
  • 아이온
  • 심시티5
  • 프리스타일풋볼
  • 스페셜포스
  • 사이퍼즈
  • 도타2
  • 메이플스토리1
  • 메이플스토리2
  • 오버워치
  • 오버워치그룹모집
  • 포켓몬고
  • 파이널판타지14
  • 배틀그라운드
  • 기타
  • 종교
  • 단어장
  • 자료창고
  • 운영
  • 공지사항
  • 오유운영
  • 게시판신청
  • 보류
  • 임시게시판
  • 메르스
  • 세월호
  • 원전사고
  • 2016리오올림픽
  • 2018평창올림픽
  • 코로나19
  • 2020도쿄올림픽
  • 게시판찾기
  • 게시물ID : soda_6831
    작성자 : 인마핱
    추천 : 66
    조회수 : 7630
    IP : 116.36.***.7
    댓글 : 35개
    등록시간 : 2023/10/17 10:14:02
    http://todayhumor.com/?soda_6831 모바일
    8년전 일하며 겪은 에피소드#40
    옵션
    • 창작글
    • 외부펌금지

    안녕하세요. 오유 독자님들. 이번 에피소드는 쓰다보니 제 고3시절의...그리고 저희 가족 인생에서 가장 고통스러웠던 

    시간을 잠깐 회상하게 되네요. 

     

    삼재라는 말 들어들 보셨죠? 아마 그 시절이 저희집 줄 삼재였던걸로 기억합니다.

    아버지 끝나면 어머니, 어머니 끝나면 아들들...

     

    진짜 드럽게 안풀리던 시절이었죠....ㅎㅎ 끔찍한 시절 입니다...ㅋㅋ

     

    ------------------------------------------------------------

    새벽3시. 회의실에서 열띤 강의를 듣고, 티리엘과장님과 같이 사무실을 나섰음.


    나: 요즘은 어디에 다니세요?


    티리엘과장: O양에 OO연구소라고 AI하는 곳이야. 요즘 Yolo를 이용해서 딥러닝을 만들고있지.


    나: 아...과장님도 딥러닝...


    티리엘과장: 언제 기회되면 연락해. 내가 작업하고 있는거 보여줄테니까. ㅎㅎ


    나: 네. 꼭 연락할께요. 그리고 오늘 감사했습니다.


    티리엘과장: 힘내라고~ 나랑은 다르게 OO씨는 다 부수고 장악해 ㅎㅎㅎ 이직하고 싶으면 언제든 말하고^^


    나: 넵^^


    감히 티리엘 과장님의 의발(衣鉢)을 잇는다는 생각에 책임감이 막중해졌음..유품으로 그 다각 거리는 키보드라도 주고 가시지...ㅋㅋㅋ

    (산자를 고인으로 만들어버린...뭐 우리 회사에선 죽은 사람이니까...ㅋㅋㅋ 퇴사 = 죽음)


    그렇게 다음날. 다시 티리엘 과장님의 코드를 열어보았음. 그리고 곧 이 코드로 스며들 수 있는 실마리를 발견하였음. 

    입구 같은건 존재하지 않았음. 그러니 찾을 수 없었지..


    [오로지 객체만이 존재할 뿐.]


    아...알기전엔 보이지 않던 것들이 이제는 훤히 들여다 보였음. 뭐랄까..하루만에 비약적인 성장을 한 기분이 들었음. 애초에 지금까지 해오던 프로그램을 모두 잊어버린듯한

    새로운 세계. 


    지금까지 머릿속에만 가지고 있던 클래스나 상속, 추상클래스, 가상함수 같은 개념들이 

    이제서야 정리가 되며 코드로 녹여낼 수 있게 되었달까?

    가르친 사람이 물론 뛰어났지만, 평소에 무던히 봐두지 않았다면 듣더라도 이해가 안갔을 거임. 

    다행히 시기나 타이밍이 맞아 떨어진 기연(奇緣)!

     

    무협지를 열심히 봐와서 그런지 당시의 기분은 의천도룡기 장무기가 적에게 쫓기다 동굴로 떨어지고, 

    거기서 원숭이를 치료하며 얻게된 구양진경(九陽眞經)...을 읽은 기분이었음.


    일단 보이기 시작한 이상 망설일게 없었음. 재빠르게 TCP/IP 구조를 만들고, 아직은 결정된게 없는 패킷 데이터 파싱부는 형태만 만들었음.

    그리고 컨트롤해야 할 조명 컨트롤 파트를 구성하고, 레시피 관리 코드 및 기존 클라이언트 검사프로그램과의 UDP통신도 만들었음. 

    그래..애초에 객체는 자신과 관련된 일만 하는거니까.. 예전처럼 하나의 코드에 조명이니 통신이니...레시피니 서로 엮일 이유가 없었음. 

    그리고 이는 코드를 짜면서 발생 가능한 버그의 가능성도 현저히 줄여주었음.


    그리고 티리엘과장님이 강조하신 또 한가지. 메모리의 초기화. 

    당연할지 몰라도 항상 변수나 포인터를 선언하면 명확하게 초기화 코드를 함께 넣었음.

     

    초기화를 하지 않더라도, 변수가 만들어질 때 알아서 0값이 들어가는 경우가 많았기 때문에 

    우리 회사코드에는 배열을 만들때도, 구조체, 포인터를 만들때도 초기화가 등한시 되었음.

     

    그런데 간혹가다 프로그램이 이상 동작을 할때는 이 변수에 0 값이 아니라 -858993XXX 같은  쓰레기 값이 들어가 있을때가 있음. 

    그런 경우만 초기화 코드를 넣어왔음.


    티리엘 과장님은 초기화같은 기본중에 상 기본을 꾸준히 지키면 나중에 문제 해결에 엄청난 덕을 볼 수 있다고 하셨음. 

    초기화를 안하는건 프로그램이 커지면 커질수록 버그 가능성을 쌓아가는 거라고..

    최소한 버그 발생 시, 메모리쪽을 의심하는 케이스 한 가지라도 줄여진다면 프로그래머에게는 엄청난 도움이 됨.


    그리고 메모리 얼라인먼트 개념. 우리 회사에서 주로 사용하는 패킷들이 있는데 주로 구조체로 구성되어 있었음. 

    간혹가다 구조체 안에 char image_dir[100] 혹은 char image_dir[120]

    이런식으로 코드가 짜여있는 경우가 있었는데. 예전에 오우거 과장에게 물어본적이 있었음. 

     

    익숙한 32, 64, 128이 아닌 왜 100인가, 왜 120인가. 돌아온 대답은 써보면 알게된다 였음.

    팀장도 그랬고, 퇴사했던 B과장도 그런건 묻지말고 알아서 하라였음. 그리고 그대로 써도 아무런 문제가 없었음. 그래서 잊고 지냈는데...


    근데 메모리 얼라인먼트 개념을 알고보니, 해당 구조체 구성을 봤을 때, 저 뜬금없는 100이나 120 같은건 

    메모리 개념이 없는 사람들이 그냥 의미없이 임의로 때려박아놓은  길이 값이었음. 

     

    즉, 이 회사 사람들은 메모리 얼라인먼트 개념이 없다는 것. 모르는거 물어보니 짜증이나 냈겠지... 

    저런 독이 심어져 있다는걸 아무도 모른다고 할까.

    만약 저걸로 인해 에러가 발생한다면 과연 그걸 찾아 고칠 수 있을까? 벌써부터 회사코드의 불안 요소들이 보이기 시작했음.


    [그리고 이 개념은 향후 수많은 미스테리한 회사 장비 문제들을 해결해 나가는데 본인을 독보적인 존재로 만들어 주었음.]


    여기서 미스테리한 문제라는건, 기존에는 잘 돌아가던 장비가 이상하게 코드 몇 줄만(문제없는 코드) 추가하면 

    이상한 값이 들어오며 뻗어버리는 현상을 말함.

    이런 문제로 해결하지 못하고 포기한 기존의 장비들이 상당히 많이 있었음.


    그렇게 서버 프로그램의 대략적인 표시 화면과, 통신모듈 구성, 레시피 관리모듈 구성이 금방 만들어졌고 

    몇일 안되어 대부분의 코드를 채워나갈 수 있었음.

    그리고 담당자에게 이쪽에서 구성한 시스템을 통보 형식으로 전달을 하고, 

    수동적인 담당자 답게, 통보를 하니 그럼 그렇게 가시죠. 하는 답장뿐. 


    나: 저 근데..저번에 패킷 형식이랑 프로토콜 보내주시기로 한건 어떻게 되었나요?


    담당자: 그거 메일 보냈는데요?


    나: 지금도 제가 메일함 열어보고 있는데, 저한테 안왔는데요?


    담당자: 아...그럼 이전에 대리님께 보냈나보다..그분 한테 토스 해달라고 하세요.


    나: ....저..벌써 그분 퇴근 하셨는데요...? (그냥 니가 다시 보내면 안되겠니?)


    담당자: 저도 퇴근 준비 중이라. 좀 그러네요.


    나: ........(와...진짜 일하기 싫은 사람들이 왜이렇게 많은지...꾸역꾸역 하기싫은 일 하며 살아가는 너도 참 불쌍하다ㅡㅡ;)


    그렇게 회사에 남아 앙드레 대리에게 전화를 걸었음. 그리고 통화가 끊기며 문자가 날아왔음. "운전 중입니다."

    하는수 없이 회사 계약 식당 중, 분식집이 있어서 김밥 2줄을 싸들고 다시 사무실로 왔음. 시간은 7시 반.. 이쯤이면 집에 도착 했을까?

    다시 전화를 걸었음.


    앙드레 대리: 여보세요?


    나: 아. 퇴근 후에 죄송합니다. 대리님. OO회사 담당자가 패킷 데이터구조랑 프로토콜 문서를 저한테 안보내고 대리님께 실수로 보냈데요;;


    앙드레 대리: 그럼 다시 달라고 하세요.


    나: 아 근데 그 분이 자기 퇴근한다고 대리님께 받으라고 해버리네요; 아무래도 고객사한테 퇴근하지 말고 지금 달라고 할수가 없는 상황이라..


    앙드레 대리: 그럼 OO씨. 나한테는 달라고 해도 되고요?


    나: 네?


    앙드레 대리: 나도 퇴근한 상황 아니냐구요.


    나: ........(어쭈. 이 새퀴봐라?)


    앙드레 대리: 일과 시간 외에 회사일을 저한테 얘기하심 안되죠.


    나: 이봐요 앙드레 대리님.


    앙드레 대리: 네.


    나: 지금까지 메가통 팀장하고 1달 넘게 이거 진행하면서, 차일피일 시간이나 떼우다가 2주 남겨놓고 빈 껍데기만 넘겨서 제가 지금 이 일을 하고 있는거거든요? 


    앙드레 대리: 그건 담당자가 대응을 안해준 탓인거죠.


    나: 그럼 당신들 두명이서 1달을 요청해도 안오던 자료가, 왜 내가 이거 담당 하자마자 메일로 온걸까요? 이건 그럼 누구 탓입니까? 제 탓이 되겠네요? ㅋㅋ


    앙드레 대리: .......


    나: 메가통이야 원래 ㅄ 이니까 그렇다 쳐도. 대리님은 ㅄ이 아닌데 왜 결과가 이 모양이냐고요. 일하기 싫어요? 

    이딴식으로 해놓고!! 나한테 떠넘기고 도망갔다고 한번 공식적으로 사장님, 연구소장님 호출해서 칼춤 한번 쳐줘요?


    앙드레 대리: .......


    나: 팀장은 그렇다 쳐도. 대리님은 지금 본인이 뭐라도 되는 줄 알아요? 한참 일하면서 경험 쌓아야 될 시기에. 팀장이랑 노닥거릴 시간은 있고. 남은 몇일 만에 얻어내는 자료도 1달 동안 고객사 탓만 하면서 못받아내고 있는 분이. 그거 다 감당하고 야근하고 있는 동료가 퇴근 후에 전화 한번 했다고 짜증낼 자격이 있냐고요.


    앙드레 대리: ...나는 그쪽 때문에 베트남 출장 나가야 해요. 


    나: 그거 원래 대리님꺼 아녔어요? 최초에 수석님이 지목한 인원은 대리님 이셨잖아요? 솔직히 대리님 잘못이 아닌건 알지만. 수석님 눈에 능력이 미치지 못했고!! 그 덕분에 무쌍이한테 불똥이 튀었고!!! 그래요. 무쌍이가 답지않게 현장 PTSD가 있어서!!! 이건 무쌍이가 못난 탓이니까!! 이것도 대리님 잘못은 아니죠! 

     

    앙드레 대리: ........

     

    나: 궁지에 몰린 동료 어떻게든 챙겨보겠다고 제가 나서게 되었고!! 그것 때문에 불이 저한테 옮겨 붙었죠! 이것도 제가 등O인거지 대리님 잘못은 아니네요!! 근데 막상 지키려던 동료는 그것 때문에 결국 퇴사를 했고!!!!!! 거기에 빡이친 제가 팀장 때려 엎었고!!! 저 때문에 다시 대리님이 출장 나가게 되셨네요!!


    앙드레 대리: .............


    나: 다 우리 탓이네요!? 대리님은 아무런 잘못이 없죠 그쵸? 참 선량하게 사십니다!? 형. 회사 동료로써가 아니고 인간적으로 물어볼께요. 형! 저한테 이렇게 하실만큼 떳떳해요??


    앙드레 대리: 미안해요.. 메일 전달 드릴께요.


    그리고 앙드레 대리는 이후로 본인을 완전히 쌩깠으며, 퇴사 전까지 몇마디 말을 섞지 않았음.. 

    이런 태도에 열이 뻗치긴 했지만, 이런 사람들은 관계 회복이 쉽지않음.

    공격해봤자 돌아올 대답은 미안하다 뿐. 개선되는건 하나도 없음. 

     

    정이 많거나 사람간의 불편한 관계를 싫어해서 어떻게든 관계 회복을 하려고 하는 사람. 

    혹은 지배욕이 강한 사람들은 이런 케이스의 사람을 만나면 환장을 함. 답답하니까. 

    본인의 본성은 정도 많고, 사람관계를 신경쓰며 지배욕 까지 가지고 있음.


    고등학교 3학년때 학기 초 가장 절친했던 친구가 이런 케이스였음. (물론 대학교때도 비슷한 유형의 절친한 친구를 만났지만..) 

    우연히 하교길에 동전 노래방에서 만났는데, 본인의 노래를 듣고 옆칸에서 찾아온 것이었음. 

    소심한 친구 였지만 노래라는 주제가 그 친구에게 용기를 주었달까?

     

    노래 너무 잘한다고. 근데 그 친구도 노래가 장난아니었음. 그러다보니 둘이서 붙어다니며 다른 고등학교 축제 같은데서 같이 듀엣곡을 부르는 등. 노래라는 무기로 여기저기 매력 어필을 하고 다녔음. 

     

    그랬던 친구와 사소한 일로 기 싸움을 한번 했었는데 별것도 아닌일에 본인을 쌩까기 시작했음.

    어떻게든 다시 관계를 회복해 보고자 노력해 보기도 했고, 화를 내 보기도 했음. 그럴때면 으레 돌아오는 대답은


    [알아. 무슨말인지..내가 미안해.]


    아니..본인 실수인걸 알았고 사과를 했으면 다시 관계가 회복이 되어야 하지 않나!? 본인의 상식으로는 그랬음. 

    그러나 갈수록 남남이 되어버렸음.

     

    당시는 미성숙한 시절이라.. 이 친구의 잘못은 없지만 본인은 이 답답한 관계 때문에 제대로 공부나 학교 생활에 집중을 하지 못했음. 

    잘못된 집착이었음. 차라리 큰 트러블이 있어서 끝나는 관계면 이쪽도 받아들일 수 있는데..이건 뭐 너무 별것아닌 일이라 억울함이 컷음.

    나는 잘못한 것이 없는데 멀어져야만 하는 관계라니!? 나로인해 많은 혜택을 봐놓고!? 그건 허락할 수 없어! 너는 사과를하고 예전처럼 나랑 지내야해!!

     

    잘못된 집착은 정상적인 생활을 빼앗고(생활을 해야할 뇌용량까지 그 사람으로 채워짐)...

    그 빼앗긴 생활에 대한 분노는 그 집착의 대상에게 향하게 됨.


    나중에는 수업중인데도 칠판보다 그 친구의 뒷통수만 30분 넘게 바라보고있는 자신을 발견할 수 있었음.


    '조용히 반에 있는지 없는지도 모르는 그런 생활을 했어야 할 니가...반에서 만담꾼으로 인기 많은 나랑 다니면서...

    학교에서 그래도 제법 잘나간다는(인기있는) 친구들하고 교류를 하게 되었고....그 덕분에 다른학교 축제 무대에도 나랑 올라가 보면서 여고생들한테 추파도 받아보며 즐거웠었잖아..!

    이제는 나 없이도 그 친구들이랑 쉽게 어울리고 있는데....이 은혜도 모르는 놈...!'


    승질 같아서는 예전 중학교 시절처럼 불러내서 박살을 내줄까 싶기도 했지만, 

    한편으로는 그 친구가 나한테 아무것도 한 일이 없다는 사실도 알고 있기에

    하루에도 몇번씩 천사와 악마가 머리속에서 싸움을 했음. 아마 이런 잘못된 생각이 과해지면 범죄가 벌어지지 않나 생각함.

    당시 본인의 생각이 이 친구가 내 모든 장점을 카피하고, 나의 관계 범위에 끼어들어와 단물만 빨아먹는다 생각했으니까..


    결국 원래 뛰어나게 공부를 잘한건 아니었지만 그래도 반에서 3~5등정도는 했었는데...

    수능 시험도 제 실력의 절반도 발휘하지 못해..대학에 떨어지고 인생 19년만에 첫 실패를 경험하게 되었음.

     



    졸업식날 다들 원하는 대학에 들어갔다고 머리 노랗게 빨갛게 염색하고와서 신나게 소리지르고 웃던 친구들....대부분 본인보다 성적이 안좋았던 친구들이었음.

    거기서 실패한 창피함 속에... 공장일 하시다 어렵게 어렵게 시간내서 오신 어머니와 구석에서 혹시나 남들이 말이라도 걸까봐, 사진이라도 찍자고 할까봐 눈치보며 숨어있었음.


    덕분에 본인의 졸업식 사진은 어머니와 둘이 찍은 1장 밖에 없음..지나고나서 가장 후회되는 일 중 하나였음.

    담임 선생님께도 부끄러워 마지막 인사도 드리지 않았음. 이 역시 후회 되는 일. 


    형이 서울대에 간발의 차이로 떨어졌을 때, 주무시다가도 목놓아 우시던 어머니... 둘째 아들 졸업식은 더 최악이었음..

    아버지와의 이혼에... 가장 의지하던 큰 아들의 입대..망나니 같은 작은 아들의 이후 알 수 없는 인생.. 

    무거운 짐을 하나라도 덜어드렸다면(대학 합격) 어머니도 잠시나마 웃을 수 있으셨을텐데..


    소수의 사람들을 제외한 인생에서 가장 신나고 기뻐야할 고3 졸업식은 내 입장에서는 모든게 산산히 부서진 날이었음. 



    웃고 소리치며 사진찍으러 다니는 친구 무리들 중에는 그 친구도 속해 있었음.

    당시의 나와 너무나 비교가 되는 행복한 얼굴..


    [내가 도대체 뭘 한건가.....] 


    뒤늦게 내 어리석음을 뼈저리게 후회했음. 나에게 닥친 실패는 모두 스스로 자초한것. 

    저 친구는 1도 관계가 없는 이젠 볼일 없는 남일 뿐인건데..

    집에와 자책하며 밥도 안먹고 방에 틀어박혀 울었음. 

    아마 이날의 아픔 때문에 보통 보다 강력한 항마력을 가질 수 있지 않았나...

     

    지배욕이라는 욕심을 타인이 아닌 자신에 대한 지배(통제)로 전환시켜준 큰 계기였음.

    남을 신경쓸 틈에 내 밥그릇부터 좀 챙기자...


    그래도 인생사 세옹지마라고, 재수를 하며 만난 친구들(실패를 경험한 인간들)과 1년의 시간은 

    본인이 불우한 가정의 불쌍한 피해자라는 컴플렉스를 극복하게 해 주었고.

    정상적인 인간 관계를 적립해 주었으며 지금의 본인 인격에 밑 바탕이 되어준 시간이었음. 


    각설하고..쓰다보니 주제가 좀 엇나간 것 같음. 하고싶던 말은 어떤 이유가 있던 없던 간에 상성이 안 맞는 인연이 있다는 거임.

    고3때 친구가 그런 케이스 인거임. 관계를 회복하려고 아무리 발버둥쳐도 도저히 상성이 안맞는 사람.


    아마 이때 이걸 배우지 못했다면...

    정이 많고, 답답한걸 싫어하는 본성을 가진 본인이 앙드레 대리 같은 인간 유형을 만났을때 얼마나 정신적인 손해를 보았을까..싶기도 함.

    다행히 수많은 풍파와 실패로 단련 된 흑염룡이 든든히 지켜주어 이런 타입의 사람을 상대할때 

    감정적인 손해 1도 보지 않을 수 있었음. 


    어쨌든!!!! 그렇게 받은 고객사 자료. ㅋㅋㅋ


    typedef struct XXXX

    {

       int command;

       int machineNo;

       int result;

       char XXXX

       XXXXX

       ......

    }XXXX;


    뭐 이런식으로.. 5~6가지 정도의 패킷 구조체 형식이 있었음. 기왕이면 같은 길이 패킷들로 만들고, 커맨드로 구분해서 동작들을 하게 만들면 되는데...굳이 5~6가지 다른 형식의 패킷을 만들었지...? 뭐 케바케니까...어쨌든 저 형식대로 본인도 구조체로 패킷을 구현했음.

     

    그렇게 일주일도 안되어, 메가통팀장과 앙드레 대리가 1달 넘게 진행 못한걸 완료 했음. 메가통 팀장과 싸우고 엄청난 손해를 봤다고 생각했었는데, 덕분에 기연을 얻어 평소라면 절대로 얻지 못 할 기회를 얻은 느낌이었음. 진짜 인생 세옹지마다..


    그리고 재밌는건, 될놈될 안될놈 안됨인지.. 

    미륵 수석과 메가통 팀장이 사무실이 떠나가도록 큰소리로 싸우는 일이 발생했음. 거의 미륵수석이 메가통 멱살이라도 잡을 기세로..

    알고보니 셋이서 베트남을 돌아가면서 출장가기로 했던 약속을 깨고, 메가통 팀장이 빠지겠다고 선언한 것이었음. (와 징하다....)

     

    그래서 미륵 수석은 그 자리를 아몬드 대리로 채우기로 했고, 앙드레 대리를 국내에 남아 메가통 팀장과 일하도록 하길 원했음. 

    기쁨조가 있는건 물론 좋은 일이지만, 당장에 메가통 팀장에게는  자기 똥을 치워줄 실력자가 필요하여, 아몬드 대리를 안 붙여 주고 앙드레를 주겠다고 한거임.


    아마도..이 폭풍속에 휩쓸리던 앙드레 대리가 이후 프로그래밍에 완전히 자신감을 잃어버리는 계기가 된 것 같음.


    미륵수석: 보자보자하니까. 이건 생각보다 더 정신나간 양반 아냐!?


    메가통팀장: 뭐..뭐요? 지금 말 다했어요?


    미륵수석: 이 양반아. 나이를 먹었으면 그 값을 좀 해라! 프로그램도 못해. 통솔력도 없어. 그저 집중하는거라곤 본인 편한거에만 집중하고 말이야!


    메가통팀장: 내가 팀장이야!


    연구소장님: ..............;;;;


    미륵수석: 소장님. 지금까지는 잘 몰랐는데. 왜 이전 대리들이 그렇게 난리쳤는지 이제는 알 것 같습니다! 이 사람이 문제가 맞아요! 팀을 좀 먹는 사람이에요! 기생충 같은!!


    메가통팀장: 소장님...제가 팀ㅈ....


    연구소장님: 그만.


    사람들: ...............


    연구소장님: 오우거 과장, 무쌍대리, OO대리, 미륵수석...메가통 팀장. 아무리 팀장이라고 해도..이 정도면 나도 기회는 많이 준것 같애..근데 당신은 자숙하는게 하나도 없어..


    나: .......(불구경 재밌네 )


    연구소장님: 이제부터 소프트웨어 O팀 팀장은 미륵 수석이 하세요. 그게 O팀에 더 나은거 같습니다.


    (아아...나의 선견지명...)


    메가통팀장: 소장님...;;


    그렇게 조금은 늦었지만, 메가통 팀장은 팀장 자리가 박탈되었고, 

    사무실 귀퉁이에 작은 책상 하나를 할당 받게 되었음. 어떤 팀도 이 사람의 합류를 반기지 않아. 

    프로그램 팀에도 소속되지 못하고 붕 뜬채로 혼자 회사를 다니게 되었음. 

     

    뭐 말그대로 쪽팔리면 알아서 나가라는 상황. 그런데도 이분은 회사에 끝까지 남았고...

    미륵 수석보다 회사를 오래다녔음. 대신 회사 내에서 숨소리 한번 크게 못내고 남들 바빠서 던져둔 일 짬처리 현장 샌드백 담당으로 일했음.

    그렇다고 대단한 고생을 한건 아님. 그냥 필요할때 가서 욕좀 먹고 오면 되는 일...ㅎㅎ


    결국 회사는 오래 남는 놈이 승리자인건가.. 

    자존심 같은거 다 버리면 연봉 7천 받아가면서 편하게 오랜시간 루팡 짓을 할 수 있음. 대단한 사람이긴 했음.

    이것도 슈퍼맨의 무게감 때문이냐!? 부끄러운줄 알아야지..


    아아...오우거형님...오래 걸렸습니다...제가 직접 보내버리지 못한건 좀 아쉽지만...

    저 인간하나 잡자고 무쌍대리를 잃고 저도 팀 이동까지 했네요...

    막타는 미륵수석이 쳤지만, 아마 사전에 대리 2명의 희생이 없었다면 지금과 같은 일은 벌어지지 않았을 것이므로... 


    6Kill........(전장의 지배자!!)


    드디어 내 살생부(데스노트)가 깨끗해졌구나..


    ----------------------------------------------------------------------------------------------------------

    이 일이 있기전 미륵수석이 본인을 회의실에 불러 차를 한잔 하며 말씀하셨음.


    미륵수석: OO씨. 지금까지는 당신을 참 괜찮게 봐왔어..직설적인 성격이긴 했지만 말이야..


    나: ..?


    미륵수석: 그런데 연구소장님 앞에서 메가통 팀장 대하는걸 보고, 아 이 사람은 내가 감당할 수 없는 사람이라는걸 느꼈어.

    그리고 과해. 선을 넘어.


    나: ....뭐...언젠가는 이해하실 날이 올지도요. 그렇다 하더라도 수석님께는 죄송합니다. 곤란하셨을테죠..?


    미륵수석: ............


    그리고 발생한 오늘의 사건 후, 미륵 수석은 다시 본인을 찾아왔음.


    미륵수석: 내가 미안해 OO씨.


    나: ㅎㅎㅎㅎ 생각보다 저를 빨리 이해하게 되셨네요!? ㅋㅋ


    미륵수석: 나도 사회 생활이라면 OO씨보다 훨씬 많이했고 온갖일 다 겪으며 지냈지만.. 내 오만이었던거 같아.


    나: 뭐. 인생 다 케바케니까요 ㅎ


    미륵수석: 그래서 말인데...다시 우리 팀으로 올 수 있어?


    나: 음...그러기엔 이미 활시위는 당겨지고, 화살은 이미 쏘아진 상태같네요... 아쉽지만..그건 어렵겠습니다..


    미륵수석: ......그래...


    분명 미륵수석 사람 자체는 괜찮았음. 그러나 이 짧은 기간 동안 이 분이 오판(誤判)한 상황이 너무 많았음. 

    건즈앤 로지스 웰컴투더 정글 같은 중소기업 업계. 

     

    다양한 인간들과 부딪히며 극복해온 인간 고수의 느낌보다는 딱 업무에 있어서만 많은 경험을 한듯한 느낌이었음. 

    또한 밉기는 하지만, 미륵수석으로 인해 소리없이 죽어가는 한 사람도 있었음. 앙드레 대리..

     

    누군가에 대해 말을 할때는, 그 대상이 되는 사람의 체면과 마음을 살펴가며 말을 아낄 줄도 알아야 팀장임. 

    감내할게 많은 것도 팀장임. 적어도 본인에겐 그랬음.

    시니어이긴 했으나, 매니저의 자질은 없었음. 


    주니어 프로그래머가 실무를 열심히 익히며 인터미디어트로 올라오고, 

    더 많은 경험과 기술적인 노하우가 쌓였을때 시니어(혼자서도 잘 하는)가 되는거임. 

     

    그럼 여기서 프로그래머의 길에 두 가지 선택지. 즉, 전직 이벤트가 생긴다고 생각함. 

    관리자(Manager)의 길을 갈 것인가. 기술적 전문직(Individual Contributor)으로 갈 것인가. 

    물론 관리자 테크도, 관리자-시니어 관리자-디렉터 라는 최종단계가 있고

    기술전문직도 나름의 단계들이 있음.


    사람이 자아 성찰을 꾸준히 해야하는 이유는 이런 전직 이벤트가 발생했을때 스스로에게 맞는길(내가 일하며 만족하고 행복한 길)을 선택하는데 필요하기 때문임.

    단순히 팀장이나 파트장 직책을 달면 멋있고, 있어보이니까 올라가야 하는게 아니란거임. 


    본인이 볼때는 기술적 전문직(Individual Contributor)으로 가야 할 사람들이 

    자꾸 팀장이 되어 팀의 방향을 잘못 끌어가고 있달까? (LOL의 페이커가 팀장은 아니니까..)

    기술적으로 뛰어난 실리콘벨리에서의 체계나...본인이 봐 왔던 일본 엔지니어들에게서는 

    기술적 전문직(Individual Contributor)들이 많이 보였음. 백발 호호 할아버지이지만

    관리자가 아닌 시니어 엔지니어로 남아있던 사람들. 

    우리나라도 기술 강국이 되려면 관리자라는 체계를 다시 다지고 사람들에게 그 개념을 인지시켜야 함.


    관리자와 기술전문직 테크의 대우가 동일해야 개발자들이 잘못된 선택을 할 일이 없어진다는 개인적인 생각임. 

    그렇기에 관리자의 부가적인 특혜(?)를 없애야함.

     

    3무과장 같은 사람이 절대로 팀장이 되어서는 안되는 이유임. 특혜를 바라고 관리자가 되어서는 안된다는 거임.

    분명 어느 방향으로 전직을 하더라도 인정을 받으며 살아갈 수 있는데, 

    이상하게도 우리나라는 대부분은 관리자(Manager)의 길을 가려고 함. (부가적인 특혜 때문)

    미륵수석은 본인에겐 Individual Contributor일 뿐이었음.


    [이 사람은 나를 품을 그릇이 못된다. 반드시 깨지는 날이 온다.]


    주니어 한명 빠져서 팀에 큰 타격은 없겠지만, 인원이 모자랐음. 

    미륵, 앙드레, 아몬드... 그랬기에 기존 티리엘 팀에 있다가 팔려간 2명의 주임들이 미륵 수석 밑으로

    재배정 되었음.

    --------------------------------------------------------------------------------------------------------------------------------



    남은 일주일 가량을 통신 테스트 위주로 진행하고, 검사 관련으로는 생각보다 간단하여 크게 어려울것이 없었음. 

    필름 위에 격자 무늬로 그림자를 지게 만들면 정상적인 제품의 경우

    그림자의 간격이 일정한데 반해, 찍히거나 눌린자국이 있는 부분은 그 무늬가 망가져 두드러지게 보이는 광학 구성이었으므로, 

    간격의 일정함만 체크하면 쉽게 검사가 가능한 컨셉이었음.

     

    검사파트를 신경쓸 필요가 없으니, 좀더 티리엘 과장님의 코드를 음미할 수 있었음. 

    결국 이 프로젝트 최고의 관건은 고객사 제어 프로그램과의 원활한 통신.

    경험상 이랬다 저랬다 하는 고객사들이 많았기 때문에, 어떤 요청을 받더라도 대응할 수 있도록 만전을 기했음.


    그리고 드디어 고객사로 가는날. 수O의 한 제조 회사였음. 거기서 같이 업무를 진행할 비전팀 PM을 만났는데 중학교 선배였음.


    나: 엇! 행님~~ 과장 진급하셨던데!? 축하드립니다!!


    선배: 어? 니가 왜 여길...?


    나: 이번에 프로그램 담당 바꼈잖아요~ 그래서 제가 왔죠.


    선배: 니도 대리 달았더만. 축하한다 ㅎㅎ 어쩐지...갑자기 안나가던 진도가 쭉쭉 나가더라니...니가 했었구만~ ㅎㅎ 


    나: 어떻게...이번에도 같이 한번 잘 해 보시죠? 예전의 제가 아닙니다 이젠. ㅎㅎㅎ


    선배: 니 잘한다는 소문은 들었다. 그런건 걱정없는데..여기 회사에 좀 또O이 들이 많다;;


    나: 어딜가나 있죠. O라이 보존의 법칙...ㅋㅋ 없을 수 가 없어요. ㅎㅎ


    선배: 여기 제어 프로그램 맡은 외주 부장하나 있는데. 이O끼 겁나 4가지 없어. 말끝마다 그 비웃는 듯한 표정;; 혈압오른다.


    나: 제어 프로그램이 외주에요?


    선배: 야. ㅋㅋ 이 회사 별거 없드라. 실제로 프로그래머는 하나도 없고, 대부분이 기구조립 아니면 비전세팅 뿐이야. 돈만 많아서 외주들 돌려쓰는거지.


    나: 아...그래서 우리 담당자가.....


    선배: 어휴;; 그 담당자도 상태 완전 않좋아. 뭘 제대로 아는게 없어;; 그리고 여기 회사는 제어팀이 실세인갑드라. 제어팀 과장하나 있는데 그놈도 완전 O라이야.


    나: 왜요? 우리한테 시비 걸어요?


    선배: 말해 뭐하노. 그 외주 부장 옆에끼고 우리한테 이래라 저래라 하는데. 우리 담당자도 그 과장한테 찍소리도 못하고 긴다. 그리고 여기 왕은 외주 부장이야. 그 회사 아니면 제어가 안돌아가니까 완전 왕 대접한다 아이가.


    나: 그 외주 부장부터 어떻게 해야겠네요. ㅋㅋㅋ


    선배: 행여나 말섞지도 마라. 그 얼굴보면 혈압오른다;;


    나: 말을 안섞을수가 없는 관곈데요 뭐. 통신 할라면 서로 맞춰야 되니까;;


    그렇게 공장안으로 들어가니 우리 담당자가 있었음. 동글동글하니 인상은 좋았고 본인보다 나이가 3살 가량 많았음. 

    그리고 눈빛이 마치 무언가에 쫓기는 강아지마냥 불안불안 해 보였음. 아는게 없어서 여기저기 치이는모양..

    라면 끓이면 이 친구고 저 친구고 한 입만 먹자고 젓가락 들이대는 모양세로, 여기저기 뜯기는 모습을 봐서 냄비 대리라고 부르겠음.


    나: 안녕하세요. OO회사 프로그램 담당 OOO대리입니다. 얼굴은 처음 뵙네요.


    냄비대리(담당자): 아...네. 안녕하세요. OO회사 냄비 대리입니다. 


    나: 네. 오늘 프로그램 넣고, 환경 구성하고 가능하면 통신 테스트도 진행해 볼까 합니다.


    냄비: 네. 그러시면 제어팀 업무에 방해 안되게 진행해주세요...


    우리 장비로 가서 프로그램을 설치하고 디버깅 환경도 만들어둔 뒤에, 우리 서버 프로그램과 클라이언트 프로그램 연동을 확인해 보았음. 딱히 문제가 없어 대기하고 있는데 한 사람이 다가왔음. 


    선배: 왔다. 점마다. 재수없는 부장.


    나: 아...


    입꼬리를 봤는데, 하도 비웃음을 머금어서 그런지 한쪽으로만 주름이 져있는 특이한 주름...ㅋㅋ 비웃는게 아니고 뭐 구완와사 걸린 얼굴같았음. 이 부장은 구완와사라고 불러야지..


    구완와사(부장): 안녕하세요. 그쪽이? 검사기 프로그램 담당자에요?


    나: 네. 안녕하세요. OO회사 OOO대리입니다. 부장님이라고 들었으니 저도 편하게 부장님이라 부를께요?


    구완와사: 네. 우리가 보내준 패킷 구성이랑 프로토콜 봤죠?


    나: 네.


    구완와사: 그럼 바로 테스트 해봅시다.


    나: 넵.


    그렇게 프로그램을 각자 부팅하는데, 제어 프로그램이 커서 그런지 거의 부팅만 4분 5분이 걸렸음. 

    이것 저것 커넥션 체크같은거 들어가면서..UI도 깔끔하고 우리 회사와는 다른 

    무언가 거대한 느낌이었음.

    와..제어 프로그램도 장난 아니겠구나...하면서 기다렸음.


    구완와사: 자. 연결 됬어요?


    그런데 에러창이 땡~~~~~~


    나: 엇? 


    (recv 코드에 걸려있어야 할 코드가 왜 바로 진행이 되버린거지!?)


    나: 부장님. 우리 동기 모드로 진행하는거 아니었어요?


    구완와사: 아. 그러면 안될거 같아서 비동기 모드로 바꿨어요.


    나: 아니..그런걸 지금 말씀하시면 어떡합니까;;


    구완와사: 피식.....예외처리 안하셨어요? 통신 처음해봐요?


    나: 아니....물론 만약을 대비 안한건 제 잘못이 맞는데;; 그 중요한걸 지금 말씀하시면 안되죠;; 저도 코드 수정을 해야하는데..;;


    (이때 선배가 얘기한게 뭔지 이해가 갔음. 그 일그러진 웃음.....)


    구완와사: 피식...왜요? 어려워요? 


    나: 아니 그런 문제가 아니라, 기존에 협의된 내용하고 다르다는 거죠.


    냄비: 저기요. OO대리님. 고객이 하자는대로 하셔야 되는거 아니에요?


    나: 저분은 고객이 아닌데요? 그리고 지금 어렵고 하고 못하고가 아니라 내용이 달라져서 물어보고 있는겁니다만?


    냄비: 제어팀에서 하자고 하면 그냥 하세요.


    나: ...(이 X끼들 봐라...?)


    선배: 그럼 프로그램 수정해야 되나?


    나: 네;; 좀 시간 걸릴거 같아요.


    ??: 아. 거 진짜 말 많네.


    나: ??


    ??: 아니 입으로 일해요? 프로그래머가 뭔 잔말이 그리 많아?


    나: 누구십니까?


    제어팀 과장: 나 제어팀 OOO과장입니다. 


    나: 아. 그러시구나. 안녕하세요. OO회사 프로그램담당 OOO대리입니다.


    제어팀 과장: 대리급이나 되가지고 바로바로 대응이 안되요?


    나: ......;; 알겠습니다. 그럼 다른 변경사항은 없는거 같으니 다시 수정하겠습니다.


    제어팀 과장: 오늘안에 통신 테스트 끝내도록 하세요. 지금 그쪽들 이것저것 봐줄 시간 없으니까. 부장님~ 잠깐 시간 괜찮으신거죠~~?


    구완와사: 피식... 뭐 일단은요. 진짜 잠깐. ㅎㅎ


    공장에 책상이고 의자 그런게 하나도 준비가 안되있고, 장비 PC에서 코드를 수정하려니 사람들이 모두 모니터를 보고있었음.


    나: 저 죄송한데, 아무래도 저희 회사 코든데 다들 이렇게 같이 보시면 안될 것 같습니다만..?


    사람들: ㅎㅎㅎ 뭐 대단한 회사 기밀이라도 담겨있다고 그래요. 코드가 다 거기서 거기지 ㅎㅎ


    나: ............


    별거 없는 코드이긴 하지만, 나한텐 티리엘 과장님의 심득이 담긴 목숨같은 코드였음. 

    타사 사람들이 훤히 보는 앞에서 소스를 오픈하고 코딩을하는건 아닌거 같아, 어쩔 수 없이 노트북에서 수정을 해야했음.

    사람들에게 둘러쌓여, 바닥에 노트북 두고 절하듯이 엎드려서.....아놔 매너없는 X끼들....그걸 내려다보며 히죽히죽 웃는 사람들.

    모멸감이 들었음..


    냄비: 얼마나 걸려요?


    나: 오래는 안걸릴겁니다. 금방 될거에요.


    냄비: 아니 그러니까 얼마나요!!!! 제어팀 시간 없다구요.


    (너랑 대화할 시간에 코드를 더 보는게 낫다 임마;;)


    나: 그럼 10분만 주세요.


    구완와사: 피식.....10분.....ㅎㅎ


    제어팀 과장: 아....진짜 뭐야 이 회사....


    (야...씨. 프로그래머가 자기가 수정하는데 얼마나 걸릴지 어떻게 알고 구체적인 시간을 부르냐;; 

    수정이야 하지. 근데 나도 코드 확인은 해야할거 아냐. 혹시나 예외가 생기는건 없는지... )


    그렇게 눈으로 코드 체크까지 한 후 


    나: 수정 했습니다.


    구완와사: 그럼 해보세요.


    그렇게 다시 프로그램이 부팅되니 모델 체인지 신호가 날아왔음. 


    나: !?!? 부장님. 우리 첫 패킷은 ready 신호 주고 받는거 아니였어요?


    구완와사: 어떻게 하다보니 그렇게 됬습니다.


    냄비: 왜요? 


    나: 부장님. 같이 협업하는건데, 변동사항 같은게 있으면 미리미리 서로 공유를 해야 시간 낭비 안하지 않겠어요? 다들 시간 없으시다면서요?


    제어팀과장: 아...거 쫑알쫑알....말 많네.


    나: 아직 셋업 초기라, 검사 프로그램 쪽에 모델도 안만들어 뒀는데, 시작부터 모델 변경부터 들어오면 상식적으로 안맞잖아요?


    구완와사: 피식....아니 그럼 모델을 만들어 두시면 되죠. ㅎ 그게 어려워요?


    나: 우리야 그렇다 치고, 이걸 사용하는 사용자 입장에서 보면, 초기에 검사기 모델 세팅부터 하게되는데;; 순서가 안맞죠.


    냄비: 아..진짜; 대리님 하라면 그냥 하세요.


    나: ............


    그렇게 다음 신호로 Ready 패킷이 들어왔음.


    나: 데이터가 꼬여서 들어오는데요?


    구완와사: 피식......그러면 대리님이 뭔가 실수 하셨겠죠. ㅋ


    나: 아뇨..지금 정해진 구조체 형식대로 받고있고, 그대로 지켜졌다면 이런 쓰레기 값이 생길 수 없는건데..


    제어팀과장: 아씨! 그래서 뭐 어쩌자구요? 말 더럽게 많네 ㅡㅡ;


    나: 제어 PC에서 보내주는 패킷을 확인해 봐야 한다구요.


    구완와사: 피식.......


    아오 열받네 저 비웃음;;;;


    냄비: OO회사는 과장급 없어요? 대리급이 오니까 일이 안되잖아요!


    선배: 아니;; 지금 그런얘기 할게 아니라 같이 협조를 해야죠;;


    구완와사: 내가 프로그램 확인해 드릴께요. 뭐 의심이 간다는데 어쩌겠어? 피식.....


    그렇게 잠시후....


    구완와사: 우리 문제는 없네요.^^ 피식.....


    나: .......; 근데 저도 문제는 없거든요. 여기 코드에 구조체 선언한거 보세요. 자료에 있는거랑 똑같거든요.


    구완와사: 피식......그럼 다른 내부적인 문제가 있나보죠. 찾아보세요.


    나: ;;;;;;;;


    제어팀과장: 야. 냄비. 지금 뭐하자는거야? 부장님 시간 없으신데! 이렇게 자잘한거까지 계속 확인해 줘야되?


    냄비: 죄송합니다..;; 제가 어떻게든.....


    제어팀과장: 나는 부장님 모시고 다른파트 확인하러 갈라니까. 문제없이 될 때 다시 불러라? 아님 프로그래머를 바꾸던가!!(본인을 노려보며)


    냄비: 네..네...;;


    구완와사: 피식......


    그렇게 제어팀과장은 부장을 모시고 다른데로 가버렸음. 가마라도 태워 가야 될 것 같은 황송한 태도....


    냄비: ......저기요.


    선배: 네?


    냄비: 제가 왜 그쪽들 땜에 욕을 먹어야 하죠? 


    너는 욕먹어도 싸. 아무것도 할 줄 모르면서 마냥 후임들만 탓하던 군대 선임들이 제일 많이 하던 말이 저 말이었음.


    [내가 왜 니들 땜에 욕먹어야 되냐?]


    본인은 살면서 저런 말을 하는 사람들은 무조건 거리를 두고 관찰하게됨. 

    본인의 군대 경험상 진짜로 본인과는 1도 상관없는 일인데 후임교육 못시켰다고 혼나는경우

    그 후임한테 1도 미운 마음이 들지 않았음. 

     

    왜? 저 일은 나랑은 진짜로 1도 상관 없었거든. 

    그러니 내 능력이 모자라서도 아니고 그 후임이 내 말을 안들어서도 아니니까.

    단순이 내 직급에 대한 책임으로 욕을 먹는거기 때문에 그 누구한테도 섭섭한 기분이 들지 않았음.


    반면 내가 지시하고 이끌어서 진행한 일에 대한 결과로 욕을 먹는다면 그건 본인에게도 너무나 당연한 일이었음. 욕 먹을만 하니 먹지. 

    제대로 이끌지 못한 죄. 말 안듣는 후임인 줄 모르고 작업인원 편성에 넣은 죄.(실제 그런 후임은 없었지만..) 능력에 맞게 일을 주지 않은 죄.

    물론 본인이 후임병인 시절에도 유능한 선임들은 어떤 작업지시를 하고 같이 작업한 결과에 대해 절대 후임들 탓을 하지 않았음.


    즉 저런 말은 뭔가 내가 해야 할 일인데, 잘 몰라서 어설프게 발은 담궜고 

    그럼에도 열심히 하지 않은 자들이 자기 못남을 인정못하고 남탓이나하는 경우에

    자주쓰는 말이라는 것. 이것도 본인에겐 나름 K 과학으로 자리잡고 있는 부분임.


    선배: 일단...죄송합니다.


    냄비: OO대리님. 못하시겠으면 그냥 못하겠다고 말하세요. 그게 도와주는 겁니다 네!?


    나: 아니.....; 이건 제가 잘못한게 아니라구요;;


    냄비: 증명할 수 있어요? 아니면 어쩔건데요? 


    나: 저는 제공받은 자료대로 구조체를 만들었고;; 받은 패킷 구조체 대로 형변환 해서 데이터를 받았어요;; 근데 아까 보셨잖아요. 모델 체인지 때는 이상이 없었어요. Ready 패킷 받으니까 문제가 되잖아요;; 저는 Ready 패킷도 자료대로 만들었다구요....;;


    냄비: 아니. 그러니까 증명 할 수 있냐구요!


    나: 저 제어 프로그램 코드에서 저 부장님이 만든 패킷 구조를 확인해 봐야죠. 그렇게 서로 크로스 체크 해봐야죠.


    냄비: 저 부장님이 자기 코드 문제 없다고 하셨잖아요!!!!


    나: 저 처럼 오픈하고 보여주신건 아니죠. 그냥 자기 눈으로 슥 보고 그냥 하신 말이잖아요.


    냄비: 상식적으로 부장이 실수하겠어요? 대리가 실수 하겠어요?


    나: 프로그램 세계에서는 그런거 없습니다. 상호 체크를 해야죠.


    냄비: 아. 이 양반 꼬박꼬박 말대꾸....


    선배: OO대리님. 일단 나가시죠..흥분하지 마시고...;; 


    냄비: 업체를 바꾸던가 해야지;;;


    상황이 극악에 치닫기전에 선배는 담당자를 데리고 일단 자리를 떴음. 아...이런 경우는 처음이네;; 

    무쌍이가 이래서 현장 PTSD가 온건가.....; 너무나 불공평한 상황....;

     

    원래 이 업체는 같이 일하는 전용 비전 업체가 있었음. 그 비전 업체도 지금 제어 PC를 맡고있는 업체와 동일 업체..

    근데 이번에 S사에서 굳이 우리 회사를 검사 업체로 넣도록 요구를 했기 때문에 이들 입장에서는 듣보잡 업체를 데리고 

    울며겨자먹기로 이 프로젝트를 진행할 수 밖에 없는 상황. 독식할 수 있었는데, 억지로 나눠먹게 된거임.

     

    그러다보니 우리 회사를 곱게 봐줄리가 없었음. 

    이참에 못한다고 겁나게 까야...S사에도 할말이 있고...다음 수주부턴 우리랑 안 엮일테니까..

    기울어진 운동장이었음.


    잠깐 동안 생긴 빈틈....아까 구완와사 부장이 보던 PC로 번개같이 달라붙었음. 

    그리고 열심히 탐색기로 소스파일을 찾아 보았음. 심장이 쫄깃한 순간...!

     

    미션 임파서블에 톰 크루즈 마냥 식은땀을 흘리며 공장에 사람들의 시선을 하나하나 체크하며 찾아 본 결과..

    하나의 프로젝트 솔루션이 나왔음..일단 더블클릭..

    그리고 실행되는 비쥬얼스튜디오... 곧이어 엄청난 양의 코드가 나왔음..


    언제 담당자가 다시 돌아올지 모르는 상황.. 

    구조체를 열심히 검색해 보았지만 원하는 결과가 나오지 않았음.. 

    하는 수 없이 번개같이 코드들을 훑기 시작했음. 

     

    그런 와중에도 주변에서는 전기배선 작업, 기구작업 같은걸 하는 고객사 직원들이 왔다갔다 하고있었음.

    주변 살피랴 코드분석하랴..내 정신이 아니었음. 그리고 하나 눈에 들어오는 큐(Queue)자료 구조.. 누군가가 직접 구현한듯한 형태. 

    그리고 이 큐를 통해, 제어명령은 제어명령 대로 어딘가로 날아가고, 통신 명령은 통신명령대로 어딘가로 날아가는 구조로 만들어 져있었음. 


    제어 명령과 통신 명령을 이 한곳에서 다 처리를 한다...? 뭐 잘 짠 코드라면 문제야 없겠지만...

    삐끗 실수하면 ㅈ되는 구조 아닌가...? 통신 땜에 제어까지 꼬일수도...뭐 내 알바 아니니깐..


    재빨리 push 명령을 검색했음. 일단 모든 메세지들이 해당 큐로 들어온다는 확신이 있었으니, Queue의 push명령(삽입)을 검색하면 그 중에는 분명 패킷을 삽입하는 코드가 있을것임.

    그리고 찾은 패킷 생성 로직.


    이 회사는 구조체로 데이터를 때려박는 방식이 아니었음.(그래서 검색이 안됬구나..) 

    이 큐라는 자료구조에 데이터를 넣기 전에 한땀 한땀 데이터들을 쌓아 패킷을 즉석해서 만드는 구조...

     

    바이트로 하나하나 순차적으로 데이터를 밀어넣는 방식이었음. (문서는 왜 구조체로 만들었던거야!?)  

    그렇게 추적해 본 결과 Ready 패킷이 만들어지는 코드를 발견할 수 있었음. 그리고 보이는 memcpy 코드들...

     

    memcpy(packet_buffer,  &command, 4);

    memcpy(packet_buffer+4, &machineNo, 8);

    memcpy(packet_buffer+8, &result, 4);

    .....



    아 이렇게 하나하나 밀어넣고 있구만...그리고 보이는 하나의 코드...

    memcpy(packet_buffer+4, &machineNo, 8);.....8바이트? 분명 패킷 형식 문서에는 


    typedef struct XXXX

    {

       int command;

       int machineNo; -> int 자료 형이지 않은가 (4바이트) 근데 왜 8 바이트 처리를?? 

       int result;

       char XXXX

       XXXXX

       ......

    }


    그리고 memcpy(packet_buffer+8, &result, 4); 이거.. 

    저 대로라면 memcpy(packet_buffer+12, &result, 4); 4+8 = 12가 나와야 하는데 8이 나온거보면..

    짜다가 실수로 4를 8로 넣은것으로 보였음. 이미 있는 메모리를 덮어 씌워 중첩되니까...이러니 데이터가 꼬이지..


    이 찰나의 몇 분 안되는 시간..이 코드를 찾은건 기적이었음.. 다행히 보는 사람도 없었고...

    아....이 새퀴들.....너희는 이제 나한테 다 죽었다..!

    머리좀 식히러 흡연장으로 갔음. 거기엔 담당자와 심각한 표정의 선배가 있었음.


    나: 행님. 저 전화 한 통화만 쓰겠습니다. 


    선배: 어. 그래


    잘못된걸 보긴 했는데..그렇다고 니들 없는동안 니들 코드를 까봐서 발견했다! 라고 할 순 없었음;; 

    그렇다면 다른 방식으로 증명을 해야 하는데..

    분명 내가 받은 패킷의 데이터를 보여주면, 또 내가 잘못받아서 이상한걸 보여준다고 덮어씌우겠지...

    방법이 생각나지 않았음. 그래서 혹시나 싶어 탈라샤의 무덤(디아블로의 티리엘이 있는 필드)으로 전화를 해 보았음.


    나: 과장님! 혹시 객관적으로 상대방 패킷 데이터 찍어볼 수 있는 그런거 없어요?


    티리엘과장: 어. 있지. 와이어 샤뚜뚜루두뚜루 몰라?


    나: ??


    티리엘과장: 와이어O크. 그거 니 컴이랑 상대방 컴에 깔고 연결해봐. 그럼 해당 PC에서 패킷 나갈때 그 데이터 캡쳐해서 볼 수 있어.

    보통 타업체랑 통신 체크할때, 괜히 이래저래 싸움나잖아. 저거 쓰면 굳이 머리아프게 싸울일 없지! 사용법도 친절하게 설명되있는거 많으니까 해봐~


    나: 감사....합니다...!




    니들은 이제 진짜 죽었다!!!!!!!















     















    이 게시물을 추천한 분들의 목록입니다.
    [1] 2023/10/17 10:14:32  172.69.***.152  아스피린  11593
    [2] 2023/10/17 10:16:27  182.221.***.151  하얀머리  438690
    [3] 2023/10/17 10:16:50  61.75.***.72  TigerD  761132
    [4] 2023/10/17 10:22:34  172.68.***.46  適者生存  616896
    [5] 2023/10/17 10:29:29  121.183.***.223  레이디탱  249893
    [6] 2023/10/17 10:34:34  112.216.***.98  삼선쓰레빠  81260
    [7] 2023/10/17 10:39:04  141.101.***.83  안경쓴왕눈이  60215
    [8] 2023/10/17 10:40:30  14.42.***.36  Noma  172245
    [9] 2023/10/17 10:40:48  220.92.***.131  다퍼라  92190
    [10] 2023/10/17 10:49:14  42.82.***.105  등기속달  806753
    푸르딩딩:추천수 3이상 댓글은 배경색이 바뀝니다.
    (단,비공감수가 추천수의 1/3 초과시 해당없음)

    죄송합니다. 댓글 작성은 회원만 가능합니다.

    번호 제 목 이름 날짜 조회 추천
    6912
    8년전 일하며 겪은 에피소드#104 [69] 창작글외부펌금지 인마핱 24/04/25 09:29 1964 95
    6911
    8년전 일하며 겪은 에피소드#103 [60] 창작글외부펌금지 인마핱 24/04/24 09:40 2009 101
    6910
    8년전 일하며 겪은 에피소드#102 [92] 창작글외부펌금지 인마핱 24/04/23 09:21 2394 109
    6909
    8년전 일하며 겪은 에피소드#101 [81] 창작글외부펌금지 인마핱 24/04/18 09:27 3377 102
    6908
    8년전 일하며 겪은 에피소드#100 [125] 창작글외부펌금지 인마핱 24/04/17 09:45 2371 92
    6907
    8년전 일하며 겪은 에피소드#99 [40] 창작글외부펌금지 인마핱 24/04/16 09:21 2317 84
    6906
    8년전 일하며 겪은 에피소드#98 [38] 창작글외부펌금지 인마핱 24/04/12 16:24 2850 99
    6905
    8년전 일하며 겪은 에피소드#97 [22] 창작글외부펌금지 인마핱 24/04/11 09:06 2569 84
    6904
    8년전 일하며 겪은 에피소드#96(본편) [19] 창작글외부펌금지 인마핱 24/04/09 13:42 2517 89
    6903
    8년전 일하며 겪은 에피소드#96 (외전) [30] 창작글외부펌금지 인마핱 24/04/09 13:33 2086 77
    6902
    8년전 일하며 겪은 에피소드#95 [31] 창작글외부펌금지 인마핱 24/04/09 09:57 2343 82
    6901
    8년전 일하며 겪은 에피소드#94 [34] 창작글외부펌금지 인마핱 24/04/08 10:06 2301 76
    6900
    8년전 일하며 겪은 에피소드#93 [22] 창작글외부펌금지 인마핱 24/04/04 09:26 2704 78
    6899
    8년전 일하며 겪은 에피소드#92 [42] 창작글외부펌금지 인마핱 24/04/02 09:20 2522 79
    6898
    8년전 일하며 겪은 에피소드#91 [31] 창작글외부펌금지 인마핱 24/03/26 11:24 3493 90
    6897
    8년전 일하며 겪은 에피소드#90 [38] 창작글외부펌금지 인마핱 24/03/26 09:11 2686 87
    6896
    8년전 일하며 겪은 에피소드#89 [37] 창작글외부펌금지 인마핱 24/03/21 09:31 3361 90
    6895
    8년전 일하며 겪은 에피소드#88 [26] 창작글외부펌금지 인마핱 24/03/19 09:25 3182 73
    6894
    8년전 일하며 겪은 에피소드#87 [35] 창작글외부펌금지 인마핱 24/03/14 09:17 3595 74
    6893
    8년전 일하며 겪은 에피소드#86 [27] 창작글외부펌금지 인마핱 24/03/12 09:23 3364 70
    6892
    군대 사이다 썰#11-2 [4] 창작글외부펌금지 인마핱 24/03/08 11:15 2971 30
    6891
    8년전 일하며 겪은 에피소드#85 [22] 창작글외부펌금지 인마핱 24/03/07 09:18 3678 64
    6890
    8년전 일하며 겪은 에피소드#84 [38] 창작글외부펌금지 인마핱 24/03/05 09:14 3686 82
    6889
    8년전 일하며 겪은 에피소드#83 [30] 창작글외부펌금지 인마핱 24/02/29 09:09 4065 61
    6888
    8년전 일하며 겪은 에피소드#82 [35] 창작글외부펌금지 인마핱 24/02/27 09:05 3961 65
    6887
    8년전 일하며 겪은 에피소드#81 [19] 창작글외부펌금지 인마핱 24/02/22 09:16 4625 69
    6886
    8년전 일하며 겪은 에피소드#80 [41] 창작글외부펌금지 인마핱 24/02/20 09:09 4405 64
    6885
    고추 만지고 거시기 만지면 뭔가 쏴하니 좋지 않나요? [22] 할배궁디Lv2 24/02/16 16:47 3459 10
    6884
    8년전 일하며 겪은 에피소드#79 [38] 창작글외부펌금지 인마핱 24/02/15 09:33 4775 69
    6883
    8년전 일하며 겪은 에피소드#78 [49] 창작글외부펌금지 인마핱 24/02/08 09:29 5923 78
    [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [다음10개▶]
    단축키 운영진에게 바란다(삭제요청/제안) 운영게 게시판신청 자료창고 보류 개인정보취급방침 청소년보호정책 모바일홈