게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
8년전 일하며 겪은 에피소드#66
게시물ID : soda_6862짧은주소 복사하기
작성자 : 인마핱
추천 : 73
조회수 : 7018회
댓글수 : 57개
등록시간 : 2024/01/04 09:08:22
옵션
  • 창작글
  • 외부펌금지


4명의 개발자가 하나의 프로젝트를 진행하는데 코드 스타일이 4개가 나온다는 말이 무슨뜻인가?

누구도 주도적으로 관리를 하지 않는다는 뜻임.


누군가는 리더로서 나머지 3명의 코딩 결과물을 확인하고, 코드의 통일성을 생각해서 

형태나 스타일을 서로 유사하게 맞추도록 관리를 해야한다는 말임.


4개의 스타일이라는 말은 결국 호카게는 TF 장으로서 그 역할을 전혀 하지 않고 있다는 의미로 해석 할 수 있음.

만약 본인이라면 제일 먼저 투페이스 주임부터  관리했을 거임.


당신이 예외처리 하는 부분은 좋은 습관이나, 근본없이 return을 때려 버리면 

당장은 프로그램이 죽거나 에러가 뜨는 상황을 피할 수는 있다. 그러나 만약 잘못 된 값의 전달로

발생하는 데이터 관련 버그가 나게 된다면 당신의 return은 독이 되어 돌아올 수 있다.


예외 처리를 할 거라면, 확실히 예외가 발생하는 상황을 개발자가 알 수 있도록 

완벽하게 처리를 하라. 즉, 로그나 알림창 혹은 

최소한 std::runtime_error 나 throw std::out_of_range 정도는 남겨두라는 거임.


그러나 이런 부분을 투페이스 주임이나 호카게에게 따로 언질을 주진 않았음.

왜냐고? 호카게는 자신의 판단을 본인에게 증명하고 싶어하는 사람이지 않나. 

그렇다면 이런 부분도 당신의 관리 능력으로 스스로 풀어 나가야 페어 플레이거든.


투페이스에게는? 얼마안가 그만둘지도 모르는 인원한테 가르침을 내려 뭣하나. 누구 좋으라고. ㅋㅋㅋ


보거스 주임의 경우는 스탠다드한 코딩 스타일 이었음. 이 친구는 문제가 없음.

(이기주의 성격이 문제)


헬보이의 경우는? 

그의 코드는 과거 우리가 도스 게임으로 고인돌이나, 너구리, 스키게임 하던 시절이 묻어나있음.

아마도 우리가 RAM이 8bit나 16bit 시절에 타임머신을 타고 과거로 가 프로그램을 배워 왔나봄.


예를 들어,

그의 코드는 이런 식임.


if( product_id & 0x0001)

{

    ......

}

else if(product_id & 0x0010)

{

    ......

}



이걸 일반 (스탠다드 타입) 프로그래머가 짠다면


if(product_id == 1)

{

     ......

}

if(product_id == 16)

{

     .....

}


뭐 이렇게 되는거임. 솔직히 밑의 코드는 일반인이 보더라도 그냥 아이디가 1과 같은지? 16과 같은지? 물어 본다는걸 알 수 있지않나?


그럼 헬보이의 코드는 대략 스타일이


bool isChecked(short id)

{

   return countSetBits(id & 0x7FFF) % 2 == ((id & 0x8000)>>15);

}


이런식임. 대략 뭔 뜻인지 공부가 부족한 개발자에게는 한눈에 들어오지 않는 코드라는 거임.

뭐랄까, 비트 연산과 16진수, 2진수 계산을 선호하고 코드 최적화에 광적인 집착을 보이는 그런 스타일.

오늘날의 트렌드는 비록 코드가 길어 지더라도 '가독성' 있는 코드를 만들자 인데.. '협업'을 위해.


과거에 메모리가 딸리던 시절에는 오늘날과 같이 변수를 막 선언하여 쉽게 개발하는 환경이 안되니

하나의 변수로 여러 가지를 우려먹기 위해 2진수나16진수에 익숙 해야하고 비트연산 같은걸로 더 빠른 속도를 내고 하면서

최적화 무림 고수들이 넘쳐났겠으나. 헬보이가 그정도 무림 고수였다면 아마 이런 얘길 쓰고 있지 않았을 거임.


어려운 코드를 잘 짜지만 문제를 해결하는 해결사 역할은 못하는 사람이었음. 

그의 스타일은 분명이 비전공자인 그에게 영향을 준 첫 사수가 그 범인일거임.


운좋게도 우리 세대는 시대를 잘 타고나, 차고 넘치는 메모리 속에 금수저로서 쉽게 프로그램을 개발하고 있음.

덕분에 '가독성' 이라는 욕심을 감히 낼 수 있는 시대. 그렇다고 코드 최적화가 나쁘다는 말은 절대 아님.

고속의 영상을 처리하기 위해 정말 필요 할 때는 과감히 가독성을 버려야 할 때도 있음. 


요즘은 의미가 없지만, 나눗셈 연산의 경우 속도 저하에 영향이 있어 시프트 연산으로 대체하는 경우도 있음.

솔직히 저런 부분은 논란이 많은 부분이라.. 뭐가 옳고 틀리다 말하긴 어려운 부분은 맞음. 많이 알면 분명 좋은거긴 함.

그러나 어려운 문법을 많이 이해하고 사용할 줄 아는 것과, 문제를 '해결'해 내는 센스는 다르다고 생각함.


글의 취지는 어쨌든 헬보이 과장의 코드 스타일 역시 특이하여, 나머지 3명과는 많이 달랐다는 의미임.


그렇다면 TF 팀장의 호카게의 코드 스타일은 어떤가? 이분도 보거스 주임과 마찬가지로 그냥 스탠다드 한 타입이었음.

물론 보거스 주임과의 차이는 보거스의 경우 주로 C++타입의 문법을 선호했고 호카게는 C타입의 성향이 짙었음.


따라서 이들 4명의 코드 스타일은 대충 설명이 된것 같음.


1. 투페이스 타입: 광적이고 근본없는 예외 처리 성애자. 탈주 가능성 높은.


2. 헬보이: 센스없고 근본없는 최적화 성애자. 특기: inline 을 여기저기 마구 때려박아둠 ㅋㅋ


3. 보거스 : 스탠다드 타입(C++선호)


4. 호카게: 스탠다드 타입(C 선호)


그리고 TF 팀장인 호카게님은 밑에 인원들 개발 타입을 상호 간섭하지 않고 '존중'하며 열심히 개발했음.

지금도 이해가 안가는게 호카게 팀장은 도대체 왜 그들을 그냥 내버려 두었을까...


이를 지켜보는 본인만 애가 탔음. ㅋㅋㅋㅋㅋ

거기다 호카게는 서비스로 과감한 도전을 추가 하였으니, 투페이스 주임을 시켜 C#으로 파일서버 프로그램을 만드는 것이었음.

과거 통풍이가 얘기 한적이 있음.


통풍: 야. 그거 아냐? 호카게 팀장 Qt 공부하는거? 


나: 오 진짜? 이야~ 그래도 저 양반 고이지 않고 열심히 하네?


통풍: 근데 의미 없다.


나: 왜?


통풍: 내가 볼땐 그냥 고여가는 자신을 자기위로 하기 위한 영혼없는 행동일 뿐이야. 실제로 만드는걸 본적이 없걸랑.


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


그리고 얼마안가


통풍: 야. 그거 아냐? 호카게 팀장 C# 공부하는거?


나: 엥? Qt 본다더니 뜬금없이 왠 C#?


통풍: 내가 말했지? 저 양반 영혼 없이 공부한다고. ㅋㅋ 그냥 저렇게 이것 저것 보면서 스스로 불안함을 없애는거지.


나: 최소한 공부를 한다면, 프로젝트 하나 정도 만드는 성의는 보여야 하는거 아니냐;; ㅋㅋㅋ


만약에 호카게 팀장이 진심으로 공부를 했다면 투페이스 주임이 C#으로 개발하는 부분이 크게 신경쓰이지 않았을 거임.

그가 탈주 하더라도 호카게가 있으니까. 그러나 우리가 파악한 호카게는 그냥 C#의 초입부만 대충 보고

C++이랑 뭐 비슷하네~. C#은 익히는게 빠르다니까 뭐 나중에 금방 익혀지겠지~ 하며 완전 방심하고 있었음.


따라서 다시 흡연장에서 비전 K팀장을 만났음.


나: 팀장님. 제가 참여하는 프로젝트는 아니지만, 이번 중국발 Roll장비 꼭 잘 되었으면 하거든요.


K팀장: 잘 되야지... 암..!


나: 그래서 말인데, 지금 소프트 TF 내에서 또 예상치 못한 일이 벌어지고 있거든요.


K팀장: 뭔데! 또 뭐가 있는거야!?


나: 팀장님은 잘 모르시겠지만, 우리 회사는 C++ 기반의 MFC라는 개발도구를 통해 프로그램을 개발하는 회사입니다.


K팀장: 그거야 나도 알지.


나: 근데 지금 TF 내부적으로 이번 나갈 장비 파일서버 프로그램을 C#으로 개발하고 있다고 합니다.


K팀장: 응? 왜 잘 하던거 놔두고 그걸로 개발을 한데? 우리 회사에 C# 할 줄 아는 개발자가 있어? 너는 할줄 알아?


나: 제 첫회사에서 했던게 C#이었죠. 근데 저도 손놓은지 3년이 다되서 ㅎㅎㅎ 진지하게 날잡고 공부 다시 해야되요.

마침 투페이스 주임이라고 새로온 직원이 전 회사에서 주로 C#을 개발 했다고 하데요? 호카게 팀장도 최근에 C# 공부 하고 있다고

들은거 같고요. 아마 그래서 C#을 개발하는게 아닐런지..


K팀장: C#이라는게 좋은거야? 나는 잘 몰라서.


나: C# 자체는 좋죠. 안정적 이기도 하고, 예전과 달리 속도도 잘 나오는거 같고. 개발 관련해서 생산성도 MFC보다야 훨씬 낫다고 볼 수 있죠.

문제는 우리 회사에서 C# 할 줄 아는 인원이 투페이스 주임 말고는 없다는 거 ㅋㅋㅋㅋㅋ 근데 저 친구도 '주임' 이잖아요. 

'과장' 이상 급이면 모르겠는데, 장비 경험 전무한 '주임'이 C#을 잘해봤자 얼마나 잘 할런지....ㅋㅋ


K팀장: ...........


나: 그리고 말이죠. 제 육감이 말해주고 있습니다. 저 투페이스 주임은 회사 오래다닐 사람이 아니에요. 반년 안에 회사 그만둘 인원입니다.


K팀장: !!!!!!! 나는 니 육감 완전히 믿지!! 어허!!! 이거 큰일날 일이네!!


나: 프로젝트 성공하고 싶으시면...! 저 C#개발 막아야 합니다.. 투페이스 주임이 중간에 탈주하면 

당장에 파일서버는 아무도 대응 못하는 상황이 될 수 있어요.


그렇게 K팀장은 다시한번 시끄럽게 일을 벌이기 시작했음. 햄릿 이사를 찾아가 몇마디 하더니 곧이어 호카게가 호출되어

들어갔음. 그리고 한참을 있더니 좋지 못한 표정으로 이사 사무실을 나왔음.

그리고 식사중에 슬쩍 말을 꺼냈음.


호카게: 뭔가 우리 내부에 스파이라도 있나? 왜 우리 하는일이 비전팀에 자꾸  흘러 들어가는거 같죠?


창희: ? 비전팀에요?


호카게: 네. 우리가 C#만드는거 아는 사람이 없을텐데...K팀장이 어떻게 알고 난리를 친거지...?


나: 스파이 있죠. 그것도 대빵 스파이. 햄릿 저 양반 아닐까요!? ㅋㅋㅋㅋ(햄릿 미안)


호카게: 흠...이사님...


나: 저 햄릿이랑 K팀장, 총괄 상무 다 한통속 아닙니까!


호카게: 흠..혹시나 해서 말해두는데 우리 내부적인 일, 다른 팀에 얘기하거나 하면 안되요 두사람 다.


나 & 창희: 넵


그렇게 투페이스의 C# 파일서버 개발은 본인의 방해 공작으로 무산되었음.

본인은 나름 돕는다는 마음이었지만, 호카게에게는 사사건건 계획을 무산 시키는 보이지않는 방해꾼이었겠지..

그러나 스스로 세운 목표를 피력할 '논리'가 있었다면 햄릿 이사나 K팀장의 반대를 이겼을거임.


비전공자인 그들 마저 설득이 안될 정도로 의외로 호카게에게는 '논리'가 없었음.

'희망'과 '기대'만이 있었을 뿐. 

분명 일도 열심히 하고, 사람도 나쁘지 않았지만 여전히 '관리'라는 개념이

본인과 맞지 않았음.  


그렇게 시간은 흘러 그들의 프로그램이 완성이 되었음. 

창희와 함께 그들의 코드를 보며 그저 한숨만 쉬었음. 물론 신박한 부분도 있었고

타 장비 코드와 섞인것 없이 필요 기능만 구현된 코드는 깔끔해 보이는 부분들도 있었음.


그러나 전체적으로 본다면 D사의 Roll to roll 장비와 그다지 다를게 없었음.

이걸 리펙토링이라고 부를 수 있을까..? 그냥 D사 코드에서 조금더 예뻐진 UI에 정리만 좀 된 코드였음.

그리고 4가지의 코딩 스타일을 간직한 프랑캔 슈타인.


코드가 정순하지 못했음. 흡성대법이나 체음보양 따위로 이종의 진기를 무작정 

때려 모은듯한 기분이랄까? 당장에 내공이 늘어난것 처럼 보이지만 '절정'의 경지를 넘어서기

위해서는 내공의 정순함이 필수임. 저대로 간다면 단순한 '심마'가 아닌 '입마'로 들것이니.. 


아마도 호카게 입장에서는 팀원들의 코드 스타일을 통제하는 것이

프로그래머의 '자존심'을 건드리는 것이라 생각 하는듯 했음. 물론 스타일을 통제받는건 

입장 바꿔 본인도 썩 기분 좋은 일은 아니었음. 그렇더라도 지휘관의 통제를 따를 수 밖에.


전쟁에 나가는 지휘관이 개개인의 사소한 '감정'을 다 존중할 순 없지않나.

이건 '업무'라는 공적인 일이니까. TF 분위기를 수평적인 구조로 이끌어 가고자 한 호카게의

마음은 충분히 이해와 공감이 가지만... 과장과 주임의 능력이 통념상으로 수평은 아니지 않나.


여러모로 본인 눈에 차지않는 호카게의 판단이었음. 


창희: OO씨 말대로네요.. 코드 스타일들이 참...다양해..


나: ㅋㅋㅋㅋ 피똥 쌀지도...ㅋㅋㅋ


그리고 시작된 중국 출장. 

4명의 프로그래머가 한번에 출장을 가는 경우는 본인 입사이례 처음이었음.

그리고 실세 비전K팀도 투투 과장을 필두로 한 거의 15명에 이르는 팀 전력의 70%가 투입되었음.


그리고 그들이 관리할 조립관련 외주사, 전장 인원들도.. 이제는 치킨게임 시작이었음.

19명의 우리직원들 하루 출장비 5만원(식대포함). 즉 하루에 95만원. 한달이면 2850만원의 돈을 태우는 격.


만약 호텔에서 1인 1실을 잡았다면 못해도 두당 4~5만원이

나갔겠지만, 비전팀에서 미리 알아놓은 비교적 큰 아파트식 숙소로 19명이 기거할 수 있는 환경을

만들어 놓았음. 월세 450~500만원. 원래라면 하루에 90만원 이상이 나갔을텐데 이는 대단한 묘수였음.


통역비용 하루 30~40만원. 1달이면 최소 900만원.


2850 + 500 + 외주 비용(천 단위는 넘겠지??) + 900 + 알파


문제는 여기서 한번의 불협화음... 프로그래머들은 조용한 환경에서 일해야 한다는 명목하에 ㅋㅋㅋ

호카게와 헬보이는 호텔에서 1인 1실로 생활 하겠다는 그들의 주장. ㅋㅋ 뭐 대단한 슈퍼 프로그래머라고....

웃기는건 보거스와 투페이스는 비전팀의 공동주택에 들어갔다는 거임.


주임급 두명이 비전팀 대리, 과장들과 지내면....ㅋㅋ 기에 눌리지 않을까..? 불만이 생길텐데..

역시나 그런건 생각도 안하는 호카게와 헬보이였음. 자기들이 메인 개발자다 이거지.


본인의 눈에는 빤히 보였음.

인생이 RPG인 투페이스는 아마도 비전팀 대리, 과장들에게 각잡고 깍듯이 행동할 것이고

예를들어 군대마냥 막 숙소 청소나, 정리, 설겆이, 빨래 그 외에 여러 함께 생활하며 해야 할 일에 주도적으로

각잡고 나설것이고 ㅋㅋ 한쪽이 그래 버리면 4가지 없는 보거스 주임은 가시방석에 앉아있는 기분이겠지.


보거스는? 예전 동석이 자동차문 열어놓고 밥먹으러간 에피소드에서 알 수 있듯, 그냥 어린애였음.

남들 눈치 같은거 잘 안보고 사는. 본인의 눈으로 볼 때 개념이 좀 없는. ㅋㅋ

거기다 자존심이 강한 '투덜이' 타입. 카푸어 대리가 동생 눈치를 많이 보는걸로 봤을때, 나름 코딩 좀 한다고

어께에 힘을 주는 타입이었음.


그렇기에 중국에서의 숙소배정 얘길 들었을때, 두사람 사이에 갈등이 생길 것이라 예상가능 했음. 

이러한 부분도 본인이 생각하는 '관리'의 범위인데 팀장들에게 너무 높은 '관리'스킬을 요구하는건가...;;

최소한 내가 쓸 총알의 능력과 성질을 알고 써야하지 않느냐는게 본인의 생각임.


인원이 20명 이상 넘어간다면 모를까, 10~13명정도 인원은 매니저의 '적성'이 있는 사람이라면

하나하나 관찰 하여 충분히 그 성향이나, 업무능력, 장점, 단점을 토대로 예측하고 쓸 수 있는 수준이 되어야

한다고 개인적으로 생각함. 그게 안된다면 매니저의 적성은 아니라고..


그리고 그러한 스킬은 사원때 부터 키워나가는 것이지, 관리자가 된 후에 키우는 스킬은 아니라고 생각함.

평소에 안하다가 관리자가 된다고 갑자기 잘 될 리가...


어쨌든 비전팀 입장에서는 예외적으로 생긴 비용으로 인해 2명의 인원이 하루에 5만원씩 더 나가게 된거임. 한달이면 300만원 추가.

즉 이번 치킨 게임은 1달에 4550만원(외주비용 제외) 플러스 알파의 돈이 나가는 게임.

못해도 2달안에는 끝이 나줘야 되는 치킨 게임이었음. 


일이 잘 되면 문제가 없겠지만, 일이 잘 안되면 이런 부분도 충분히 공격해 들어올 수 있는 껀덕지.


초반에는 괜찮았음. 기구적인 셋업하는 기간이었으니까. 

본사에서 한번씩 소식을 들으며 과연 이번 프로젝트가 어떤 방향으로 흘러갈지 흥미진진하게 지켜보았음.


창희: OO씨. 어떻게 될거 같아요?


나: 내 예상은 아마도 좋은 결과는 나오기 어려울것으로...


창희: 왠지 저도...OO씨 말대로 너무 관리가 안된 TF 같아요.


나: 만약에 무사히 잘 마치고 오면, 나도 우리 팀장님 인정함요.


창희: 과연....ㅋㅋ


그리고 조용하던 사무실이 2주, 3주 기간이 지남에 따라 시끄러워지기 시작했음.

이제 프로그램 테스트 기간이니까..


K팀장: 아니; 프로그램이 죽는것도 아닌데 뭐가 안된다는 거야? 이해가 안되네?


투투: !$#!$%$#%!$#^...


K팀장: 그래서. 호카게 팀장은 뭐라고 하나?


투투: !%$#%!$#^$#^#


K팀장: 찾아보는건 당연한거고! 뭐 언제까지 뭘 하겠다. 아니면 대략적인 원인 정도는 알거아냐?


투투: !$#!%#$!$^!#^


K팀장: 아니. 확실해? 자기들 문제 아니라고? 그럼 투투야. 우리 애들 잘못이 아닌걸 증명할 수 있어?


투투: !$#%!$%$%$


K팀장: 그래. 너네는 일단 우리쪽에서 증명할 수 있는 데이터 모아서 자료 만들어.


사무실에서 하루죙일 전화 통화로 화만 내고있는 K팀장을 볼 수 있었음.

하루나 이틀 정도가 K 팀장이 용인할 수 있는 시간이었음. 그게 일주일을 넘어가자 비전 K팀장은 햄릿 이사를 

닥달하기 시작했음. 결국 시간이 갈수록 니탓이냐 내탓이냐라는 쓸데없는 곳에 에너지를 쏟는 상황..


햄릿 입장에서는 걍 아무것도 모른채로 털리고만 있고 초딩 과장은 초딩이라 실세 K팀장 앞에선 원래 부터 숨도 안쉬던

양반이라 아무런 도움도 안되었음. ㅋㅋㅋㅋ 초딩 과장과 개발된 코드를 함께 보며 이런저런 원인을 같이 분석하는데

애초에 초딩은 '저는 Roll to roll 잘 몰라요.'하면서 회피하기 바빴고, 햄릿이야 프로그램은 1도 모르니...


답답한 마음에 구원자를 찾던 K팀장 눈에 본인이 보였음. 

그렇게 K팀장의 호출로 햄릿 이사 사무실에 들어가보니 초딩과 햄릿, K팀장이 테이블 한가운데 프로그램을 띄워놓고

고뇌하고 있었음. 상당히 눈에 거슬리는 초딩 과장. 재입사자라고 아직 따로 주어진 일도 없이, 햄릿 이사 사무실을 제집 마냥 들락

거리면서 커피나 홀짝 거리는 앙드레와 비슷한 정치가 타입이었음. 애초에 그런 포지션으로 왔으니..!! 혈압이...!!!


K팀장: OO아. 너 혹시 우리 좀 도와줄 수 있냐? 너가 D사에서 Roll to roll 하고있잖아. 지금 본사에 우리 만으로는 

원인 찾는데 한계가 있네.


현재 회사에서 Roll to roll은 제대로 익히고 운영하는 인원은 호카게와 본인 두 사람 뿐이었음.

창희는 입문 단계.


나: 어떤거요?


햄릿: 이상하게 프로그램은 안죽고 잘 도는데...데이터들이 다 꼬인데. 비전팀이 설정을 잘못한건지, 아니면 코드에 버그가 있는건지

잘 모르는 상황이야. 객관적으로 상황을 판단해줄 사람이 필요해. K팀장은 니 말이면 인정할 수 있다고 하네.


나: ㅎㅎㅎㅎ 비전팀이 세팅을 잘못 했으면 이미 프로그래머들이 찾아냈겠죠. 뭘 그런것 까지 잘잘못을 가려요? ㅋㅋ

빨리 찾아서 고치기만 하면 되지.


K팀장: 그니까 내말이 그거라고! 지금 누가 잘못했냐 그런게 중요한게 아니라니깐?


나: 설령 비전팀이 잘못했다고 치죠. 근데 이 프로그램 누가 개발했어요? 개발자죠? 비전팀이 해봤자 우리가 짜놓은 판 안에서

값 설정하고 만지는게 다인데. 부처님 손바닥안에 있는 비전팀이 해결하기 쉽겠어요, 그 손바닥 주인인 개발자가 해결하기 쉽겠어요?


K팀장: 맞지! OO이 말이 맞아.


초딩: OO씨. Roll 장비라는게 워낙에 코드양이 많아서 프로그래머들 만으로 몇일 안에 문제를 찾는게 쉬운일은 아니죠. OO씨 하는 '전공정'하고 다르다는 거에요.

그리고 프로그램이 뻗는것도 아닌데, 그렇다면 세팅 문제일  확률이 제일 높은거죠. 결국은 세팅한 사람이 직접 문제 찾는게 빠를수도 있다는거에요.


나: 제가 하는 '전공정'하고 다르다고요? ㅋㅋ 그거 무슨뜻이죠? 어찌보면 우리 회사에서 최고 쓰레기 코드를 제가 하고있는데 ㅋㅋ 

충분한 시간에 그것도 4명이서 리펙토링 하겠다고 개발한 저 코드가 저보다 어렵겠어요? ㅋㅋ 

쉽게 찾기 위해 리펙토링 까지 해간거 아닙니까? 그럴거면 뭐하러 리펙토링해요. 그냥 늘 하듯이 D사꺼 조금 개조해서 들고나가지.

처음부터 자기들이 개발한 건데 고작 이정도에서 문제 찾기가 어려우면 이미 실패한 리펙토링 아닙니까?


초딩: 말은 쉽게하네요. OO씨가 현장에 있는것도 아니면서.


나: 하하. 그러시는 과장님은 왜 D사 못들어 가시는지? 말뽄새 보니 저한테 비벼 보시겠다는건데 자신있어요?

지금 이슈되는 이 문제 해결방안 한번 내보시든가^^. 못하니까 제가 불려온거 아녜요? Roll to roll은 해본적도 없는 분이 아는척은..


초딩: .........(쭈글쭈글)


햄릿: OO아. K팀장 앞이다. ;;


나: 근데요? 어디 해본적도 없는 장비 얘기 하면서 제 '전공정'은 쉽고, 지금 중국발 Roll장비는 어려운거 처럼 넘겨 짚냐고요. 

그런 막말 할거면 '검증된' 실력 부터 보여주고 하시던가. 임원들 앞에서 꼽이나 주고 말이야.


K팀장: 뭐 틀린말은 아니네.


나: 코드 한번 보시죠. 여기 이런식으로 코드짜는 인원이 한명 있는데. 얘가 투페이스 주임입니다.

얘는 예외처리 라는걸 광적으로 집착하는 애죠. 근데 이 친구 코드 짜는게 엄청나게 위험해요. 이런 식으로 그냥 return 해버리면

어떤 문제가 생기냐? 프로그램은 안죽는데 데이터가 미쳐 돌아가는거죠. 


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


나: 보통 데이터가 꼬이면 죽어야 되는데, 이거봐요. 얘는 아주 광적으로....ㅋㅋ 빠짐없이 골고루 return 때리고 있죠? 

거기다가 자기 파트도 아닌 남에 파트까지 손수 다 예외처리 해놨네요. 아까 말씀하셨죠? 프로그램 안뻗으니까 코드 문제 아니라고? 

이렇게 짜면 프로그램 안뻗어도 코드 문제가 맞죠.

초딩 과장님. 이런거 보면서도 뭐가 문제인지 안 느껴지세요?


초딩: ......이사님. 저는 그냥 나가있겠습니다.


나: 나가세요. 팀장급도 아닌 일개 과장이 뭔데 이사 사무실에서 같이 무게 잡고 있는데요? 그럴 시간에 일을 하세요.

재입사라 적응기도 그리 안 필요 할텐데. 지켜보고 있습니다. 2달안에 프로젝트 하나 잡고 일 안하면 가만 안있어요. 

나보다 돈 많이 받는 사람들이 나보다 일을 안하면 안되지. 예?


초딩: ;;;(휙하고 나감)


나: 이사님 들으라고 하는 말입니다. 2달안에 저 양반 일 주세요. 과장급에 맞는걸로. 최소한 나보단 일 많고 어려워야지. 안그래요?

뭔데 급도 안되는 과장 나부랭이가 이사 사무실 들락 거리면서 커피나 홀짝이는데요? 한번 배신 때리고 나간 놈 받아 줬더니 예전 지 세상인줄 아나?


햄릿: .....그만하자;;;


K팀장: OO야. 그만하고 여기 집중하자.;;; 그럼 이제 어떻게 해야하냐?


나: 지시를 하세요. 여기 투페이스 얘가 짠 코드, 예외 발생했을때 다 로그로 남기라구요. return 만 성의 없이 때리지 말고. ㅋㅋ

바로 걸려 나올껄요?


K팀장: 그래. 한번 해볼께.


햄릿: ...................


그리고 몇일 안가 다시 사무실이 시끄러워졌음. 

예외가 발생하면 남는 로그가 장비 구동과 동시에 엄청난 양으로 발생하기 시작.

모든 작업 중단하고, 지금 4명의 프로그래머가 달라 붙어 투페이스 주임의 코드를 다시 짜고있다는 소식이 들려왔음.


한 두개면...모르겠으나, 투페이스는 아주 골고루 여기저기 예외처리를 박아놨기에. 이것 때문에 거의 1주일을 그냥

날려먹게 되었음. 물론 비전팀은 불같이 화가났고. 다시 햄릿 이사를 조지기 시작했음.


K팀장.. 조금 자기가 불리할 수 도 있겠다 싶으면 '잘잘못 가리지말고 해결하자'라고 하지만 막상 자기가 유리하면

누구보다 '잘잘못'에 집중하는 사람이었음. 


K팀장: 아니. OO대리를 보세요. 관리자도 아니고 이제 대리인 친구도 보이는걸 왜 나머지 사람들은 못 보는겁니까?

우리 프로그래머들 수준이 이정도 밖에 안되요!?


햄릿: ...........;;


K팀장: 그리고 인원들 코드 짜는거 아무도 체크 안하고 개발하는 거에요? 이런 식이면 소프트웨어팀에 관리자는 왜 있는겁니까?

지금 출장 인원도 역대 최고로 많고, 하루하루 나가는 비용이 적지않은데. 벌써부터 삐걱거리면 어쩌자는 겁니까?

일주일이에요 일주일. 벌써 천만원돈 가까이 공중에 날아갔다고요.


햄릿: OO아.(K팀장 이름) 호카게 지원해달라고 한건 너야;; 이제와서 이런걸로 따져봤자 의미없어.


K팀장: 연구소장님 계셨다면 이랬을까요? 이사님이 그 역할을 해줘야 되는거 아닙니까?


햄릿: 내가 프로그래머가 아닌데 나라고 별수가 있냐? 


K팀장: 어휴...지금 회사에서 제가 믿을만한 프로그래머는 OO대리 밖에 없는거 같습니다. 원인 분석하고 문제점 찾아내는데는

OO대리보다 잘하는 사람은 없는거 같네요 이제.


햄릿: ..........에휴..


몇일이 더 지나서야 현장 데이터 꼬임 문제는 해결이 되었음. 물론 투페이스 주임의 이름은

나락으로 떨어졌고, 그를 적극 지지하던 호카게 팀장도 똑같이 욕을 먹어야 했음. 

 

만약 투페이스가 C#으로 파일서버를 개발했더라면, 아마도 그 똥은 투페이스 외에는 다른 개발자들이

손대기 어려웠을 거임. 어찌보면 이정도 선에서 수습할 수 있는것도 본인 덕분.


그제서야 현장 프로그래머들은 코드 스타일들이 각자가 다른 부분에 경각심을 갖기 시작했고

서로 프로그램 코드 스타일을 맞추기 위해 손발을 맞춰 재 작업을 하기 시작..

그 과정에서 에초에 서로간의 스타일 '존중' 같은 개념은 사라진지 오래였음. ㅋㅋ


처음부터 했어야 할 일을 이미 개발이 완료된 상황에서 다시 하려니 그만큼 시간이 지연되었음.


호카게와 헬보이의 관계도 생각보다 좋지 않았음.

호카게는 현장 관리자로 헬보이를 남겨두고 자주 혼자 호텔로가 코드를 봤기 때문에

어찌보면 헬과장은 현장 압박을 혼자 견뎌야하는 방패막이 정도의 역할로 바뀌었음. 


막상 재입사를 시켜줘서 고마웠었는데, 지금에 와서 현장 짬시키는 아바타 역할을 받았으니..이미 고마운 마음은

사라지고 없을거임. ㅋㅋ


거기에 기름을 붓는 나서기 좋아하는 투투 과장이 현장에 있지 않은가. 자칭 '전직 프로그래머'인 그가

옆에서 말도 안되는 훈수질을 할 때마다 헬보이의 멘탈은 무너져 갔음.  


(혹시 코드좀 보자고 했을지도..?)


둘이 싸웠다는 얘기도 자주 들려왔고, 어떨 때는 헬보이가 현장을 박차고 나갔다는 얘기도 들려오고..

코드 스타일 지적에 호카게와도 옥신각신 했다는 얘기도 들려왔음.


그렇게 뭐 하나 제대로 되는일 없이 2달이라는 시간이 훌쩍 지나갔음. 분명 겉보기엔 장비도 잘 설치 되었고

프로그램도 완성이 되었는데도 이래저래 알수 없는 버그들이 줄기 차게 발생했음.

사람들도 주/야간으로 나누어 호카게/투페이스는 주간조, 헬보이/보거스 야간조로 하여 24시간 근무를 해야했음.

물론 주말도 없었음.


그러던 와중 또 하나의 재미있는 소식으로 투페이스 주임과 보거스 주임이 크게 싸웠다는 얘기도 들려왔음.

나이로 따지면 투페이스 주임이 형인데, 보거스가 쌍욕을 박으며 싸웠다고 함.

아마도 본인이 예상했던 그림이 아니었을까..


창희: OO씨. 무슨 점쟁이 같아. 예상하는 일들은 반드시 벌어지네요...ㅎㄷㄷㄷ


나: ㅎㅎㅎㅎ 이런 재능을 차라리 로또 같은걸로 받았더라면....ㅠㅠ


창희: 그럼 우리 로또 사러갈래요? ㅋㅋ


나: .....이상하게 로또는 한번도 안맞더라고.


그야말로 헬 같은 중국 출장이었음. 몸도 마음도 힘든 출장.

3달 정도가 지나서야 어느정도 설비가 돌아간다는 얘기가 들려왔고, 그간의 과정을 지켜보던 고객사는

도무지 우리 장비를 신뢰할 수 없다 판단하여, 인력 철수를 허락하지 않았음.


그리고 기간을 넘겨 체류하게된 인원들의 비용은 고객사에서 처리해 주지 않았음.

이젠 계속 우리돈을 부어가며 인원을 남겨야 하는 상황...


그렇다고 모든 인원이 남는건 한달에 4500만원 이상 부어야하는 치킨 게임 이기에 

조립, 전장 외주 인력의 철수, 비전팀 5명, 그리고 호카게와 투페이스 주임의 복귀가 이루어졌음.

(보거스 주임이, 투페이스랑 같이 있을 바에야 회사를 관두겠다고 난리쳐서 함께 데려왔다고 함)

이제부턴 로테이션으로 돌아가며 관리자급 프로그래머 호카게, 헬과장이 출장을 나가는 상황이 되었음.


즉, 이 프로젝트는 끝이 아니라 언제 끝이날 지 모르는 사람을 갈아넣는 애물단지가 되었음.

호카게의 '졸업작품'에 암운이 짙게 드리웠음. 





 






전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호