옵션 |
|
중국출장 이후, 본인에게는 잠시의 대기시간이 생겼고, 조만간 다시 중국 상해쪽에 검사장비가 나올 예정인데, 티리엘 과장에게
영감을 받은 연구소장님이 대대적으로 검사 프로그램을 새로 만들고 있다는 얘기를 전달받았음. 아마 이번 중국에 나갈 장비가
연구소장님이 새로 개발한 검사프로그램의 시작점이 될것으로... 그래서 소장님이 완성할때까지 본인은 할일이 없어 공부를 하거나
지난 중국-대만 장비 코드를 보며, 지금까지 해온 일을 복기하고 더 개선할 방법이 없는지, 그리고 티리엘 과장이 권했던 STL을
사용해서 좀더 나은 코드로 만들수 없는지 고민하는 시간을 가졌음.
그러던 어느날, 대만에서 메일이 왔음. 이전 에피소드를 보셨던 분이라면 기억하시겠지만, 중국에서 사장님 도움을 받아 해결했던
영상이 상단에 붙어나와 검사가 안되는 문제가 간혹 발생한다는 내용이었음. (아...완벽히 고쳐진게 아니었나....)
당시, 문제가 터졌을때 대략 혼자서 일주일 정도 고민을 하다가 사장님께 헬프를 요청했었는데, 사실 혼자 고민도 했지만 본사에 연락하여
이와 같은 방식으로 제품을 검사하는 설비가 또 있는지, 있다면 거기서도 같은 현상이 있는지 선임 프로그래머들을 통해 확인을
해보았음. 같은 방식으로 제품을 촬영하는 장비가 상당히 많았고, 그걸 진행 했었던 고인물 과장들에게 혹시 본인과 같은 문제를 겪은 적이
있는지, 있다면 어떤게 문제였었는지 도움을 요청했음.
그러나 하나같이 돌아온 답변은 "우리는 아무 문제 없는데, 너가 진행한 장비만 문제가 생기고 있다." 였음.
그래서 어쩔 수 없이 당시 비전팀장을 통해 사장님께 도움을 요청하였음. 그렇게 해결된걸로 알았는데...
이전에는 5000장 정도에 1~2장 발생되던게, 사장님 개선 후로는 나오지 않다가, 이제 본격적으로 장비를 돌리다보니 나오게 된 것이었음.
하루에 5000장에서 10000장 정도 생산하던 공장이, 이제는 하루에 40000장 정도씩 생산을 하게 된거였음.
그러다보니 20000장에 1~2번씩 같은 현상이 발생한다는 것이었음.
계약대로 하자면 검사율 98~99%를 약속한 장비였기 때문에 20000장에 1개정도 검사를 못해도, 검사를 못한 제품은 불량으로
배출해 버리기 때문에 위반사항은 없었음. 영업에서도 이 부분을 가지고 고객사에 어필을 했었고, 굳이 고치지 않아도 되는것으로
결론이 내려졌음. 중국 공장은 이 부분을 큰 문제삼지 않고 넘어갔지만, 대만 공장은 그렇지 않았음. 일본애들처럼 작은 부분이라도
하나 꽂히면 해결 될때까지 매달리는 경향이 있어서, 지속적으로 문제를 제기해왔음.
만약 얘네들이 다른 장비도 우리에게 수주를 주는 지속적으로 함께 갈 수 있는 고객이었다면 얘기가 달랐겠으나, 대만 공장은 이 장비를
끝으로 더 장비를 들일 생각도 없었고, 디스플레이 관련으로는 더는 투자할 생각이 없던 고객이었음. (이때부터 아마 우리나라도 점점
디스플레이쪽 산업이 축소되는 시기였던거 같음)
본인은 어차피 당분간 코드나보고 공부나 하는 공백기였기 때문에, 어차피 할것도 없겠다 이 문제를 다시한번 직면해 보기로 했음.
한번 뿐인 인연이었지만, 그 끝이 이렇게 난다면 이 장비를 하며 쌓은 추억들이 너무 아까우니까.. 대만에서 정말 즐거웠기때문에..
(여기서 부터는 글 내용과는 관계없는 추억담이라 스킵하셔도 스토리상의 문제는 없습니다. 안궁금하신 분들은 건너 뛰어
보시면 될것 같습니다.)
----------------------------------스킵 라인---------------------------------------------------------------------
선배와 다른 직원들과 대만의 가라오케에 간적이 있는데, 여긴 중국의 KTV와는 그 구조가 사뭇 달라서 넓은 술집에 여러 테이블들이
있었고 (15~20개정도), 그 앞에 무대가 있고 술마시던 손님들이 삘 꽂히면 나가서 노래를 부르는....
그리고 일본인들이 정말 많았음. 거의 60~70명은 있었음.
대만인지 일본인지.... 아마도 대만에 출장나온 일본 엔지니어들이 자주 찾는 가라오케 같았음.
일본식의 문화다 보니, 테이블마다 아가씨들이 있었지만 절대로 터치를 하면 안된다는 경고문도 붙어있었음.
의외로 아가씨들은 일본어랑 영어가 매우 유창했음. 대만은 일본어를 잘하는 친구들이 정말 많았음.
그럼 우리가 왜 여길 왔느냐...일반 노래방엔 한국노래가 없었음. 굳이 아가씨들이랑 노는 곳에 가야만 한국 금영 기계가 있었기때문에..
일본인들은 참 조용하게 놀았음. 그리고 아가씨랑 앉아서 차렷 자세로 하잇! 하잇! 하면서 술 받아먹는 아저씨들...
아가씨 없이 혼자 마시는 아저씨들.. 자기들끼리 단체로 와서 술게임하는 아저씨들... 완전 백발 할아버지도 정장입고 조용히
바에 앉아있고.. 모두들 각자의 반경을 그어놓고 자기만의 시간을 가지고 있는...
달끈하게 취한 선배가 말했음. 본인은 술을 못하지만 이때는 맥주 2잔정도 마셨던거 같음. (1~2 잔만 먹어도 취하는 체질)
선배: oo야. 니 노래 잘한다매? 여기 일본놈들한테 니 실력함 보이도~
나: 그라까예~? 임마들 엑스재팬 노래로 함 조져주까~~
맨정신이라면 60~70명의 모르는 사람 앞에서 노래를 안함. 못함. 근데 해외나오면 용감해진달까? 어차피 한국가면 절대로 볼일없는
사람들. 거기에 술기운도 좀 더해지니. 간뎅이가 커지는듯함.
그래서 예약한 곡은 Endless rain... 중학교때 가사를 달달 외울만큼 불렀었기 때문에...ㅎㅎ 그리고 노래방 기계가 좋아서 그런지
각 나라별 노래 가사 위에 영어로 병음 표기가 되어 나와주었음.
그렇게 Endless rain 반주가 조용히 흘러나오자, 자기들끼리 놀던 일본인들이 일제히 조용해졌음 ㅡㅡ;
난데 난데? 하면서. 그리고 시작된 "아임 워킹 인더레인, 유꾸아떼 모나크~ 키즈쯔이 다카라다~누라시..."
중간중간 일본애들을 보니 오오미! 하는 표정과 스게~ 오모시로이~ 하면서 생각보다 나쁘지 않은 반응...
근데 웅성웅성하던 가라오케가 너무 조용해져서...노래를 부르는 와중에 술기운이 슬슬 달아나기 시작했음. 너무 조용해서...
예전부터 고음에는 자신이 있었기 때문에, 늘 김경호, 엠씨더맥스, 스틸하트, 헬로윈, 스키드로우(이건 좀 무리..) 풍의 노래를
많이 불렀고, 그러다보니 아는 유일한 일본노래 endless rain 이었음. 노래를 다 부르고 나니, 일본인들이 우리 테이블로 우루루
몰려왔음. 일본어로 막 말을 거는데 알아들을수가 있나.. 다행이 본인은 중국어가 가능했고, 대만 아가씨는 일본어가 가능해서
통역이 가능했음.
일본인 1: 와. 이 노래들으니까 어렸을때가 생각나네~ 얼마만에 들어보는 거야~
일본인 2: 근데 시작부분 발음이 조금 구리던데 ㅋㅋ 어느 지역 사람이야?
일본인 할아버지: 요즘도 엑스재팬 부르는 애들이 있어?
등등.... 그리고 대만 아가씨 통해서 우리가 한국인인걸 듣고 엄청 좋아했음.
일본인들: 칸코쿠진!!! 스고이!!! 안뇽카시미카!! 노래 너무 잘하더라!! 한곡 더 해주면 안되!?
하면서 우리 테이블에 합석을 했음. 수십명이...아까 까지 각자의 세계에서 놀던 애들이 서로 막 엉겨붙었음.
선배: 일본놈들이 생각보다 한국사람을 싫어하는건 아닌가보네!? 그라면 행님도 한번 노래 해보까?
그리고 불렀던 마이클 잭슨의 Beat it... 본인은 살면서 이걸 선곡하는 사람은 처음 봤음. 그리고 선배는 노래는 안부르고 튀어나가서
막춤을 줘댔는데.. 일본인들도 다 뛰어나가서 다같이 막춤을 춰댔음. "삐레에에에에~~~~" "암쏘 삐레레레레레~~~ㅅ"
이게 너무 재밌어서 당시 동영상을 찍어놨었는데, 선배한테는 지웠다고 했지만, 사실 아직도 가지고있음..
일본인들은 이때 미쳐가지고 떼창을 하기 시작했음. 그 기세를 몰아 선배는 반쯤 풀린눈으로 말했음.
선배: oo아. 가자!! 우리 애국한번 해보자!!!
그리고 선곡된.... 독도는 우리땅..... 친절하게도 일본인들이 부를 수 있도록 병음표기까지 나오고 있었음...ㅋㅋㅋㅋ
그렇게 술취한 일본인들은 열심히 춤추며 어께동무한 채로 우리노래를 떼창했음.
"울릉도! 동남쪽! 뱃길따라 이백리!!!"
백발 일본인 할아버지도 열심히 !!
"외로운! 섬하나! 새들의 고향!! 그누가! 아무리! 자기네 땅이라고 우겨도!!"
선배: 다마레에에에!!!! 여기서는 일본놈들 입 다물어!!!! 따라 부르지마라고!!!!!
일본인들: "독도는 우리 땅~~~~!!!!"
나: 행님. 애국 실패했는데요.....
선배: 에이 ㅅㅂ...
이때 상황이 아직도 아른거림....ㅎㅎㅎㅎ 처음본 일본인들 이었지만, 유쾌했던 기억.
--------------------------------스킵라인 끝--------------------------------------------------------------------------
아무튼 즐거웠던 추억이 아까워 서라도 이 문제를 해결해 봐야겠다 하며, 코드를 열고 그 흐름과 동작을 종이에 써가며 수십번도 더 본
장비의 동작을 상상하기 시작했음. 그런데 뭐랄까...예전과는 다르게 코드의 흐름이 보인달까? 그리고 익숙해져서 그런가 기억력이
상승한 모양인지, 예전에는 코드를 보고 내려오다가 앞전에 본 코드를 까먹고 다시 돌아가서 코드를 읽고 내려오는 경우가 많았는데,
이제는 그런일 없이 머릿속에 동작들이 모두 입력이 되는거였음.
아마 초짜 일때는 코드 하나하나를 외우려고 했었고, 지금에 이르러서는 코드를 외운다기 보다는 동작의 시퀀스만 머리에 남는
단계이지 않을까 생각이 됨. 어차피 세세한 코드 하나하나는 그냥 보면 분석이 되는거니까, 나뭇잎 보다는 숲을 보는 방향으로 코드분석이
이루어 졌던거 같음. 그렇게 큰 걸음으로 성큼성큼 분석하다가, 여기다 싶은 부분이 느껴지면 다시 나뭇잎 헤아리기를 해보는 방식으로..
그리고 세밀하게 분석한 코드로 장비 동작을 상상하며, 머릿속에 그렸음. 음... 제품이 카메라 밑으로 들어오고,
프로그램 ROI는 시작 부의 픽셀 밝기를 스캔하며, 픽셀 개수가 10개 이상인 경우 인식한다. 카메라는 찍으며 버리던 이미지를
이미지 버퍼로 복사하기 시작하고.. 코드 자체만으로는 이상점을 찾을 수 가 없다. 그렇다면 예외적인 상황이 발생한다는 건데.
이 업계에서 보낸 시간도 3년이 다 되어갔고 (전 회사 경험 포함), 이 컨셉에서 생길 수 있는 예외적인 상황으로는
1. 제품의 깨짐.
2. 타 시료와는 미세하게 다른 색상의 제품.
3. 기울어짐
4. 공교롭게 발생한 환경변화로 인한 외부 빛의 간섭 (검사중 설비 문을 열었다거나...)
여기서 본인은 2, 3번에 가능성을 두고 코드를 수정하기 시작했음. 이때 다가온 통풍주임.
통풍주임: oo아. 뭐해? 우리 커피한잔 하러 가자~
나: 안됨. 뭔가 잡힐듯 말듯한거 잡고 가야함.
통풍주임: 뭔데? 뭐 재밌는거 찾았음?
그렇게 본인 옆자리에 자리잡고 같이 코드보면서 이야기를 나눴음. 이 회사는 편한게 프로그래머가 일과시간에 뭘 하든 아무도 터치하지
않았음. 그냥 대학교 랩실 느낌이랄까?
나: 그러니까.. 만약에 제품이 이렇게 조금 기울어져서 들어오잖아? 그럼 ROI에서 볼때 어두운 부분이 뾰족하게 모서리를 볼거 아냐..
근데 그 어두운 부분이 10개 카운팅이 안될 수 도 있는거지.
통풍주임: 뭐 그럴수도 있겠네. 근데 보니까 제품에 어두운 부분만 있는게 아니고 무늬 같은것도 있네? 사이드 쪽에. 이것도 영향을
줄거 같은데?
그렇게 둘이서 토론하고 있으니 무쌍주임도 다가왔음.
무쌍주임: oo씨가 뽑은 2번, 3번을 보면, 3번 뿐만 아니라 2번도 분명히 발생할 거에요. 이놈의 업계는 예상대로 되는일이 없으니까요.
통풍주임: 맞아. 무쌍이 말대로 2번도 분명 발생할꺼야.
나: 음.. 그럼 3번에 대한 예외처리 코드도 짰고, 2번에 대한 부분도 코드를 짜야겠네요. 아 근데 이러면 햇갈리는데 코드가...
벌써 머리가 어지러움.
퉁풍주임: 뭐가 어지러워. 여기를 요렇게. 그 조건이 안맞을땐 여기다 요렇게... 하면 되지않나?
나: 아...너는 더럽게 복잡한 코드 전문이지? ㅋㅋㅋ 오키 콜! 자~~~드가자~~~!
그렇게 코드를 수정해서, 고객사 담당자에게 따로 메일을 보냈음. 어차피 본사에서는 대응하지 말라고 했지만, 뭐 좋은게 좋은거니까..
그리고 일주일 정도 지났을까. 고객사 담당자에게서 답신이 왔음. 여러장의 검사기에서 찍은 사진도..
사진은 본인이 예상했던 두가지 문제가 다 존재했음. 애매하게 기울어져 들어온 제품의 사진과, 다른 제품과는 좀 밝기가 다른 제품.
그리고 내가 예상했던 부분이 맞는거 같으며, 이 후로는 4만장 5만장 생산을 해도 해당 문제가 나오지 않는다고, 고맙다는
감사의 메일 이었음. 해당 메일은 영업부장, 연구소장, 팀장, 본인, 그리고 비전팀장, 설비 관리자였던 중학교선배 참조로 되어있었음.
주임들: 와우~ 우리 한건 했네~? ㅋㅋ 굳굳. 재밌네 플밍~
그리고 얼마 안가, 회사가 시끄러워졌음. 이 회사에는 3개의 주요 고객이 있는데, 그 중 가장 중요고객에서 온 컴플레인 이었음.
이 중요고객은 우리 회사에서는 S사보다 더 중요한 고객임. 그리고 해외업체였음.
컴플레인의 내용은 제품 검사 중, 간혹 상단이 붙어나와 검사를 못하고 버리는 제품에 대한 내용이었음.
지금까지는 해외본사에서 크게 터치하지 않아 넘어가 줬지만, 이번에 다녀간 본사에서 이 문제에 대해 강력 대응하도록 지시가 내려왔다.
검사율 98%~99% 같은건 말장난이고, 명백히 오동작하여 발생한 문제에 대해 왜 해결하지 않고 묵인하고 있냐.
뭐 대략 이런 내용이었음. 그리고 문제의 현상은 본인과 주임들이 해결한 파트와 같은 컨셉의 장비였음.
그리고 그 장비는 고인물 과장 중 가장 짬밥이 높은 과장이 담당하던 장비. 프로그램팀은 시끄러웠음. 연구소장님도 사무실로 나와
같이 고민했음.
연구소장님: 이거 곤란한데...이 문제가 어제, 오늘 발생한 문제도 아니고...
과장: 그러게요. 이건 고질적인 버그인데..
연구소장님: 그쪽회사 관리자가 바뀌었나봐. 이게 하드웨어적인 문제인지...코드 문제 인지 알수가 없네...
과장들: 아마 하드웨어가 맞을거에요. 우리회사 모든 장비가 다 그렇잖아요. 그리고 현상이 나오다 안나오다 하는 사이트도 많구요.
연구소장님: 하아...골치야....
영업부장: 잠깐만...소장님. 지난번에 대만에서 같은현상 나왔는데 해결됬다는 메일 받지 않았어요? oo이가 해결했다고..
연구소장님: 그래? 내가 그 메일은 안봤는데? 잠시만...!!!!
그리고 연구소장님과 최고짬밥 과장(G 과장으로 부르겠음) 이 본인의 자리로 우다다 달려왔음.
연구소장님: oo아. 너 대만에서 제품이 화면 상단에 짤려붙어 나오는 현상 해결했지?
나: 네. 그런데요?
연구소장님: 그 코드좀 볼수 있나?
이 당시만 해도, git hub같은 체계가 도입되기 전이라, 그냥 회사 공유 NAS에 소프트웨어 전용 폴더내 모든 프로젝트 코드를 관리했었음.
그러다보니 담당자가 아닌 다음에는 코드가 어딨는지 찾기가 힘들었고, 사원 따위가 진행했던 프로젝트는 이 회사 누구도 관심이 없었기
때문에 굳이 코드를 얻으려 본인을 찾아오는 상황이 만들어 진것.
나: 네. 근데 무슨 일이에요?
연구소장님: G과장이 진행했던 장비에서 그 문제가 나와서, 지금 빨리 해결해야 하거든.
나: 음? 무슨소리에요? 예전에 제가 중국에서 이 문제로 도움 요청했을때 저한테 다들 뭐라고 하셨는데요?
우리는 문제없는데 너가 손댄 장비만 문제있다 라고 하셨지 않아요? G과장님. 본인도 저한테 본인 장비 문제없다고 안하셨어요?
G 과장: ......아 그건...미안해요. 당시엔 계약 스펙상에 위배되지 않으니까....
나: 과장님 프로그래머가 아니고 영업이에요? 엔지니어가 기술적인 문제를 물어보면 기술적으로 현상에대해 답을 주셨어야지.
지금 계약스펙을... 말이에요 방귀에요?
연구소장님: 그 부분은 미안하다. 이게 우리회사 창립 때부터 있던 버그라, 아무도 원인을 못찾고 있었거든...
그리고 거의 안나왔어....
나: 아니..이회사 20년 다되가는 회산데, 이걸 아무도 신경 안써왔다구요? ㅎㅎㅎ 그리고 그런 문제를 맞닥드린 사원한테
아무런 조언도, 도움도 안주시고.. 결국 나서 주신건 사장님 뿐이셨다구요? 와 빈정 상하네.
무쌍주임: 아. 소장님! 그럼 oo씨한테 보너스 주셔야죠!! 지금 아무도 해결 못한거 oo씨가 잡고 해결한거 아닙니까!!!
고인물 과장들: ........
티리엘 과장: 어 좋네. 좋은일 했으면 상을 받아야지!
연구소장님: 보너스는 좀 그렇고....내 법카 줄테니까.. 맛있는거 사먹을래?
나: 좋죠! ㅎㅎ 감사합니다.
그렇게 얻은 법카를 들고, 주임들과 티리엘과장 초빙해서 회사앞 고깃집에서 맛있게 고기를 사먹었음.
그렇게 주임들은 회사 창립시절 부터 이어온 버그를 고쳤음.
그리고 다가올 상해 프로젝트를 준비하는데...