Top Coder RAW novel - Chapter (167)
탑 코더-167화(167/303)
# 167
이제는 스마트 시티
승호의 요청은 간단했다.
스마트 시티 사업권.
대신 북한을 해킹해 주겠다.
“스마트 시티 사업권은··· 제가 당장 결정할 수 없습니다. 현재 어떤 지역에서 진행되고 있는지도 알아봐야 하고, 관련 기관과 협의도 필요합니다.”
“도시는 디트로이트가 좋습니다. 그쪽에 제로 생산 공장도 하나 세울 계획이라.”
“아··· 일단 알겠습니다. 그렇게만 해주면 북한 해킹에 적극 협조해 주시겠다는 말로 알아들으면 되겠습니까?”
승호가 고개를 주억거렸다.
“전체 핵 시설 까지는 파악하지 못해도, 충분히 도움 되는 정보는 드릴 수 있을 겁니다. 이미 아시겠지만 제가 국정원 요원들을 교육해 골리앗 패치를 만들었습니다.”
이번에는 CIA 국장이 고개를 끄덕였다. 승호가 의미심장한 미소를 지으며 말을 이었다.
“패치를 만들 수 있다는 건 해당 바이러스를 파악했다는 뜻. 역으로 바이러스를 만들어낼 수도 있다는 말입니다.”
무슨 뜻인지 정확히 알 고 있었다. 국정원이 만들어낸 바이러스로 인해 북한은 대규모 정전 사태를 겪었다. 만약 자신들도 교육을 받고 실력을 높이면 그렇게 할 수 있다는 말이었다.
‘그런 바이러스를 만들어 낼 수 있다면 중동 쪽과의 문제 해결에도 큰 도움이 되겠어.’
미국의 관심사는 북한만이 아니었다. 자신들의 말을 듣지 않는 이란을 비롯해 이제는 G2라고 불리는 중국. 정통의 경쟁국 러시아 까지. 그들과 매일 같이 사이버 전쟁을 벌이고 있었다. 그 사이에서 우위를 점하기 위해서는 눈앞의 존재가 꼭 필요함을 다시 한 번 절감했다.
“좋군요. 스마트 시티 사업권은 최대한 협의를 통해 긍정적인 방향으로 추진하겠습니다.”
“네. 그러면 국장님만 믿고 있겠습니다.”
“알겠습니다.”
생각보다 협의 시간은 길지 않았다. CIA 국장이 환한 미소를 지으며 손을 내밀었다.
“그럼 앞으로 잘 부탁드립니다.”
승호도 일어나 손을 맞잡았다.
“저도 잘 부탁드립니다.”
그렇게 만난 지 채 한 시간도 되지 않아 CIA 국장이 되돌아갔다.
***
한 달에 한 번.
전체 업체가 모이던 회의가 oneMTM 적용 및 연동으로 인해 1주일에 한 번으로 늘어났다. 장소 또한 승호의 요청으로 인해 시내소프트 본사로 바뀌었다. 백창문은 그 사실이 못내 마음에 들지 않았다.
‘자기가 마더사도 아니고, 모일 거면 우리 MG 아이앤씨에서 모여야지. 생각 할수록 어이가 없네.’
그런 백창문의 생각이 표정에 여실히 드러났다. 회의에 참여한 승호가 슬쩍 시선을 주었다.
‘선진 데이터시스템 과장이 보여주었던 모습이랑 똑같네. 똑같아.’
저런 모습을 본적이 있었다. 시내소프트 초기 선진 데이터 시스템과 작업을 할 당시에 많이 보았다. 그렇게 승호가 참석자들의 표정을 살피는 사이 고동수가 입을 열었다.
“오늘은 지난 공지대로 각 시스템과 시내소프트의 ONE을 연동 진행 사항을 확인하겠습니다. 그러기 위해서는 oneMTM이 제대로 적용되어야 하는 건 필수 인데······.”
말을 하던 고동수가 전면에 설치된 스크린에 화면을 하나 띄웠다.
-연동 시스템 별 적용 결과.
-기상청 : 실패
-수자원 : 보완필요
-재해재난 : 실패
-빌딩관리 : 실패
-문화관광 : 성공
-교육정보 : 실패.
······.
총 32/1/3.
대부분의 시스템과의 연동이 실패 했다고 나와 있었다.
“보완이 한 곳, 연동에 성공한 곳이 3곳. 이런 속도면 이번 달 내로 전체 시스템을 연동한다는 목표에 달성하지 못할 것 같습니다. 일이 제대로 진행되고 있질 않네요.”
과연 고동만의 아들이라고 해야 할까. 첫 날 더듬거리던 모습은 이제 찾아보기 힘들었다. 그때 김수훈 과장이 입을 열었다.
“oneMTM 자체가 워낙 난이도 있는 프레임워크 이다 보니 적용에 시간이 걸리고 있습니다.”
“그래서 가이드라인을 배포해 드렸습니다. 그걸 보고도 못한다면 개발자라 할 수 있을지 궁금합니다.”
고동수의 말에는 거침이 없었다. 지켜보고 있던 승호도 살짝 놀랄 정도였다.
‘역시 사장님의 자식인가.’
차가운 말에 당황한 김수훈이 반문했다.
“···네?”
고동수는 한 치의 머뭇거림도 없이 말을 이어나갔다.
“적용 예시 까지 친절하게 설명되어 있는데 어느 부분이 어렵다는 건지. 말씀해 주시겠습니까?”
“각 기기에 올리려면 펌웨어 작업부터 다시 해야 하는데 그러기 위해서는 절대적인 시간이.”
고동수가 김수훈의 말을 끊고 들어갔다.
“그래서 1차적으로 서버 연동부터 하자고 한 겁니다.”
“그으··· 저희는 자바가 아니라 node.js로 만들어진 서버를 사용하고 있어서.”
“node.js를 사용하는 oneMTM도 올라가 있습니다. 제대로 확인해 보세요.”
이제는 숫제 질책하는 모습을 보여주고 있었다. 이제 갓 20살을 넘은 청년이 하는 말이라고는 생각하기 힘들었다. 그러자 다른 몇몇 개발자들이 막무가내로 나왔다.
“저희 쪽 일정도 있는데 시내소프트 일정만 강요하다니요.”
“oneMTM이 여러 프로토콜을 통합하려다 보니 무거워지고, 어려워진건 사실입니다.”
“일정이 더 필요합니다.”
김수훈 과장이 큰 소리로 한 마디를 덧 붙였다.
“어렵습니다. 너무 어려워요. 좀 더 쉽게 안 됩니까? 애초에 oneMTM 자체가 너무 복잡하게 구성되어 있어요. 이런 구성이면 누가와도 시간이 걸릴 수밖에 없습니다.”
더 이상 두었다가는 마찰이 커질 것 같았다. 가만히 듣고 있던 승호가 슬쩍 손을 들었다.
“아일 정보시스템 김수훈 과장님. 방금 이런 구성이면 누가와도 시간이 걸릴 수밖에 없다고 하셨습니까?”
“네. 그렇습니다.”
“그러면 만약 누군가가 빠른 시간 안에 해낸 다면 어떻게 하시겠습니까.”
김수훈이 어색한 웃음을 지어보였다.
“하, 하하··· 물론 대표님이야 oneMTM을 직접 만드신 분이니 그리 긴 시간이 걸리지는 않을 거라 생각합니다.”
“한 시간.”
“네?”
“만약 코드를 다운 받게 해주신다면 한 시간 만에 적용해 보이죠. 그러면 이게 얼마나 쉬운 일인지 증명되는 것 아니겠습니까. 과장님도 아시다 시피 저는 oneMTM은 알지만 아일 정보시스템의 서버에 대해서는 1도 모릅니다.”
김수훈이 다른 생각을 하지 못하도록 승호가 빠르게 몰아쳤다.
“이런 상황에서 특정 라이브러리를 한 시간 만에 적용한다는 게 얼마나 어려운 일인지 저보다 잘 아실 거라 생각합니다.”
물론 김수훈도 잘 알고 있었다. 반대로 자신의 서버에 대해 잘 알고 있고, oneMTM에 잘 모른다고 하는 경우에 더 적은 시간이 걸릴 거라는 것도.
‘한 시간? 자기가 무슨 코딩의 신이라도 되는 줄 아나.’
이건 스스로를 과신하고 있다는 생각밖에 들지 않았다. 간 혹 그런 개발자들이 있었다.
자의식 과잉.
자존심에 상처를 입으면 물불 가리지 않고 달려드는 열혈남아.
승호가 생각에 잠긴 김수훈에게 한 번 더 물었다.
“어떻게 하시겠습니까?”
김수훈은 슬쩍 주변을 둘러보았다. 각 업체 개발자들의 시선이 자신에게 쏠려 있었다. 만약 여기서 물러나게 된다면 생각보다 좁은 이 바닥에서 어떤 소문이 날지 뻔했다.
-징징이.
해보지도 않고, 징징 대기만 하는 개발자.
만약 추후 이직을 하게 된다면 여기에 모여 있는 업체로는 할 수 없으리라.
“할 수 있다면. 해보세요. 대신 못하시면 어쩌시겠습니까?”
“그러면 정말 적용이 어렵다는 걸 인정하고, 시내소프트에서 전담 개발자를 각 업체에 보내드리겠습니다.”
파격적인 조건이었다. SI는 M/M(사람/월)로 단가가 책정되는 사업이다. 한 사람이 투입 되면 그 만큼 비용을 줄일 수 있으니 수익성이 늘어나는 것이다. 김수훈은 입 꼬리가 올라가려는 걸 겨우 참았다.
“그런 조건이라면 나쁘지 않군요.”
그리고 주변을 둘러보니 다른 업체에서 파견 나온 개발자들이 무언의 응원을 보내고 있었다.
-한 시간은 말도 안 되지 암. 그렇고말고.
-화이팅!
-꼭 성공하세요!
-무조건 실패 할 겁니다. 응원 하겠습니다!
뜨거운 눈빛을 받으며 김수훈이 가지고 온 노트북에 자사 코드를 내려 받았다.
***
5분 뒤.
고요한 가운데 키보드 두드리는 소리만 들렸다.
타닥.
타다다닥.
가끔 가다 마우스가 딸깍 거리는 소리를 냈다. 백창문이 눈을 가늘게 뜨고 코딩에 열중해 있는 승호를 바라보았다.
“과연······.”
백창문과 함께 온 홍윤수가 조용히 귓속말을 속삭였다.
“실패할 겁니다. 한 시간이라니.”
“인공지능을 만들어낸 사람이 그렇게 멍청하다고 생각하진 않아.”
“똑똑한 바보라는 말 아십니까?”
백창문이 살짝 고개를 끄덕였다.
“똑똑하긴 하지만 자존심이 세서 일을 망칠 것이다.”
“이사님도 많이 보셨을 겁니다. 회사 내에서 소위 똑똑하다는 친구들이 어떻게 망가져 갔는지.”
백창문은 고개를 갸웃 거릴 뿐 적극적으로 동의 하지는 않았다. 그 친구들의 똑똑함이 인공지능을 만들 정도는 되지 않았다.
“봤지. 그런데 강승호는 시내소프트라는 회사의 대표까지 하고 있어. 그런 그가 아무 이유 없이 이런 무모한 일을 저질렀을 거라는 생각이 들 질 않아. 그리고 만약 그가 한 시간 안에 해낸다면 힘들게 섭외한 업체들이 다른 줄을 잡을 지도 몰라.”
“뭐, 당연히 실패하겠지만 만약 성공하다고 해도 다른 수를 내면 됩니다.”
“다른 수?”
“PMO(Project Management Office : 프로젝트 관리 조직) 쪽에 확인해 보니 강 대표 개인적인 일정들들 때문에 전체 일정이 딜레이 되고 있습니다. 그걸 꼬투리 잡으면 됩니다.”
“흐음······.”
백창문이 고개를 끄덕이며 경청했다.
10분 뒤.
그사이 스크린에 자신의 화면을 띄워 놓은 승호는 빠르게 키보드를 두드렸다.
코딩.
이제는 누워서 떡먹기 보다 쉬운 일이었다. 비록 처음 보는 코드였지만 실행 하는 순간 코드들이 이온 음료보다 빠르게 뇌에 흡수되었다.
‘포트의 자율 주행 차 분석에 비하면 이건 뭐 일이라고 하기 에도 민망한 수준이라.’
어셈블리어로 변환되는 순간 수십 줄의 코드는 수 백 줄로 늘어난다. 수십 만 줄을 넘어가는 포트의 자율주행차도 분석을 해낸 승호다. 더구나 이건 어셈블리 형태가 아닌 자바로 작성된 코드를 직접 보면서 분석을 하고 있었다.
‘한 시간 도 길지.’
한 시간은 극적 효과를 발휘하기 위해 좀 길게 잡은 것이다. 승호가 손을 움직일 때 마다 화면에 코드가 생겨났다. 그리고 그때 마다 바로 통합 툴에서 컴파일이 되었다.
-ok.
-ok
-ok.
단 한 번도 에러가 발생하지 않았다.
20분 뒤.
회의실에 모여 있는 사람들이 조금씩 웅성거리기 시작했다.
“저거 지금 거의 다 된 거 아냐?”
“JUnit 돌리는 거 보니까 단위 테스트 하는 모양인데.”
“겨우 20분 만에 적용을 완료하고 단위 테스트 까지 진행하고 있다고?”
수많은 사람들이 승호가 만들어내는 결과물만 봤을 뿐이지 실제 코딩하는 모습을 본 건 아니었다. 결과물도 놀라움 그 자체였지만 실제 라이브로 코딩을 하는 모습은 그걸 상회하고 있었다.
“과연··· 인공지능 개발자라 이건가······.”
그 자리에 참석해 있는 건 대부분이 개발자.
그렇기에 지금 승호가 하고 있는 일이 얼마나 대단한 건지 절절히 느끼고 있었다. 고동수야 이미 많이 본 모습이기에 담담했지만 다른 이들은 아니었다.
그리고 스크린에 떠 있는 타이머가 28분쯤을 가리켰을 때 승호가 키보드에서 손가락을 떼며 말했다.
“적용 끝났습니다.”
김수훈의 입이 경악으로 떡 벌어져 있었다.