하나의 프로젝트가 시작되면 언젠가는 끝이 나는 것이 정상이다. 하지만, 좀처럼 끝을 내지 못하는 프로젝트들도 더러 보게 된다. 끝을 보지 못하는 다양한 이유가 있겠지만, 그중에서 가장 중요한 것이 무엇이라고 생각하는가? 개발자 관점에서 바라보면 답은 이미 나와있다. ‘프로그램을 잘 만들어야 한다.’ 얘기하기 쉬울 것이다. 하지만, 필자는 프로그램보다 더 우선시 되어야 하는 것이 있다고 생각을 한다. 그것은 데이터이다.
데이터 하면 조금 막연한 것 아니냐 하겠지만, 개발자와 데이터는 매우 밀접한 관계가 있다. 지금부터 그 부분에 대해서 필자의 경험에 비추어서 얘기하고자 한다.
IT 경력이 늘어가면 갈수록 늘어가는 것들이 수없이 많다. 제일 먼저 쉽게 불어나서 빠질 생각을 못하는 살이다. 이건 야근을 너무 많이 한 탓이라고 열심히 일을 한 흔적이라 스스로 위로해 본다. 그다음으로 모든 사람이 공감하는 것 중 하나가 바로 늘어가는 실력이다. 실력은 연차에 비례하여 늘어가는 것은 아니지만 아무리 못하는 사람도 예전보다 더 잘하게 되는 것이 정답일 것이다. 여기서 난 벌써 5년 이상을 IT에 몸담았는데 늘어나는 것은 말뿐 실력이 늘어가는 것이 없어요 말을 한다면 그 사람에게 한가지 깊이 충고해 주고 싶다. “당신은 IT가 적성이 아니라고…” 냉정하게 보일지 모르지만 사실이다. 아무런 노력 없이 즐기며 흡혈귀 피를 빨아먹듯이 다른 사람의 공을 자기 것으로 돌리는 말재주만 가진 사람일 것이다. 어느 프로젝트에나 이런 인종들이 존재한다. 항상 프로젝트를 시작하기 전에 제발 저런 사람이 없기를 기도해 본다.
필자가 뜬금없이 저런 얘기를 해서 의아해할지 모르지만, 개발자라면 어려움이 있거나 모르는 것이 있을 때마다 책을 보며 길을 돌파구를 찾게 된다. 하지만, 말로 모든 것을 처리하는 사람들과 얘기를 하거나 논쟁이 벌어지면 개발자가 아무리 뛰어나도 말로써는 당해낼 재간이 없을 것이다. 그러면 어떻게 하는 것이 맞을까? 생각해 보면 아무도 피해가지 못하는 것 중에 으뜸이 데이터이다. 겉으로 아무리 포장하고 감추더라도 데이터의 상태를 확인하면 쉽게 확인되기 때문이다.
어떤 프로젝트에서 말로는 달나라도 갔다 오는 사람과 논쟁이 벌어지는 시점이 되었다. 앞으로 3주 후에 프로젝트 Go Live를 결정하는 중요한 시점에서 마저 자신이 처리하는 부분에는 아무런 문제가 없다고 전체 회의 석상에서 자신 있게 말하는 모습을 보며 오만 가지 욕이란 욕들이 머릿속으로 떠오르고 있었다. 끝내기로 했던 납기를 지난 상황에서 지금까지 완성이 안된 것은 10%도 안 되고 충분히 일주일 동안에 처리할 수 있다고 다고 얘기를 하며 사람들을 설득하고 있었다. 약속이 지난 것을 프로그램의 완성도를 높이고 예외처리를 위해서 걸리는 시간이라고 둘러대며 모든 사람이 설득당하는 순간 한 명이 다음과 같이 제의를 했다. 지금 당장 돌려보자고 모든 것이 드러나는 시점에 너무도 당당하게 보여주며 순조롭게 넘어가는 것 같았다. 포장의 달인이라 그런지 정말 문제가 없어 보였으며 전날까지 아무것도 안되던 일을 정상적으로 작동하는 것이다. 놀랍고도 신기한 생각이 들었지만, 한순간 모든 것이 들통나고 말았다. 결정적인 계기가 된 것은 데이터를 직접 확인하는 순간 발견하게 되었다. 보여준 데이터의 절반이 강제로 프로그램에서 강제 하드 코딩으로 처리해서 겨우 나온 값이었던 것이다. 그가 이미 신뢰를 잃지 않았다면 확인도 안 하고 넘어갔을 것을 생각하면 이럴 때 정말 어처구니가 없구나 하는 생각을 하게 되었다.
프로그램은 거짓말을 해도 데이터는 거짓말을 못한다. 이 말은 진실이다.
개발자는 프로그램만 잘 만들면 끝난다는 생각을 하지 말자. 왜냐하면 개발자보다 데이터를 더 잘 알고 있는 사람은 없다고 본다. 우리는 원석을 다듬는 석공들처럼 가공하고 쓸만하고 보기 좋게 만들기 위해서 노력하며 그것을 통해서 답을 얻기 때문이다.
개발자로서 모든 문제를 프로그램에서 해결하고자 하는 사고방식은 너무도 위험한 결과를 가져온다. 아무리 급하더라도 데이터에 관심을 두어야 하며 데이터를 통해서 프로세스를 이해 하도록 하고 그때야 그것을 멋지게 포장하기 위해서 프로그램을 사용해야 함을 명심해야 한다.
어느 정도 말로써 자신의 의견을 표현하는 법도 배워야 한다. 하지만 개발자에게 있어서 자신의 의사를 정확하게 표현하는 방법으로 가장 좋은 것이 데이터이며, 우리가 사용하는 데이터 속에는 진실이 존재한다는 사실을 항상 명심해 주길 바란다. cess98@paran.com |
데이터속에 진실이 있다 -임철우님 행복한 개발자-
2009. 10. 19. 10:39
반응형