작가들이 글을 쓰듯 나는 코딩을 한다. 내겐 꽤 크게 느껴지는 시스템 일부를 보완, 수정하기도 하고 새로운 기능을 만들어 끼워넣기도 한다. 때로는 신규 프로젝트를 받아 밑바닥부터 꾸려 만들기도 한다. 작은 건 내가 다 하거나 큰 비중을 해 내가 낳은 자식처럼 느껴지고 커다란 프로그램 작업 할 때는 수십, 수백개의 태엽이 돌아가는 곳의 태엽을 고치거나, 새로운 태엽을 만들어끼워 넣는 것 같은 느낌이다.
불안감 해소엔 테스트만한게 없다.
늘상 하는 일이지만 태엽(프로그램)을 만들어 끼워넣으면서도 이게 잘 돌아갈까? 라는 불안감이 엄습한다. 그래서 기능 하나를 만들어도 그만큼 테스트를 열심히 한다. 선수가 올림픽에서 긴장감을 떨칠 수 있는게 연습량이라면 개발자의 코드 업데이트 시에 불안감을 해소할 수 있는게 테스트양이라고 생각한다.
버그나 에러가 없으면 오히려 무섭다.
또 하나 많은 개발자들이 공감할 만한 내용이 있다. 설계를 마친 후 열심히 코딩하고 돌렸는데 에러가 나지 않는다. 이거 뭥미(?) 하고 코드를 열심히 들여다보며 버그를 찾은 경험이 있을 것이다. 실로 무서운 건 겉으로 드러나지 않는 그런 버그들이다. 프로덕션에 올라가서 짧게는 수일, 길게 수십일, 수년간 잠복해 그 스케일을 엄청나게 키운 그런 버그들은 정말로 무섭다. 음... 한번에 잘 돌아가는 프로그램을 보며 스스로 나는 천재가 아닐까 잠깐 생각해보다가 스팀잇에 뛰어난 개발자님들을 생각하고 의기소침해진다.
왠지 노는것처럼 보이기도 한다.
나는 작업(나는 코딩이나 개발이라 하지 않고 보통 '작업'이라 칭한다. ㅎㅎ) 할 때 생각하는 시간이 7, 실제 코딩하는 시간은 3 정도 되는 것 같다. 이미 사전에 해야할 일들은 머릿속과 책상 한켠 문서로 정리되어있다. 어떻게 태엽을 만들지 고칠지를 생각해야한다. 이때는 혼자 담배를 피면서도, 용변을 보면서도 인터넷을 하거나 커피를 마시기도 한다. 아마 주변에서 보기엔 노는 것처럼 보일 듯 하다. 새로운 개발 스킬을 익히거나 하진 않고 보통 기존 레거시에 추가하는 경우가 많기 때문이다. 머리속에 태엽이 어느정도 완성되면 기존 코드를 보며 대뇌망상 시뮬레이션을 돌린다.
여자의 마음은 갈대? No, 기획자의 마음은 갈대 Yes
그리고 생각했던 코드를 가상으로 넣어보고 이빨을 맞춰보는 것이다. 물론 머리가 나쁘기 때문에 좀 복잡도가 올라가면 실제로 필요한 부분만 떼와서 프로토 타입을 만들어본다. 그리고 가상의 데이터를 넣고 몇번 돌려본다. 잘 된다 싶으면 중간 결과물을 미리 보여준다. 아파트 분양할 때 모델하우스를 보여주기랄까. 여기선
니가 원하는 이걸 내가 이래이래 만들었어. 지금 이정도까지 만들었으니 니가 보고 피드백 줘~
하.지.만. 기획자의 마음은 갈대라고 하던가. 임원의 마음이 갈대라고 하던가? 그나마 중간에 한번 보여주고 가면 이때 변경사항이 발생해도 큰 공사 없이 갈수 있는 단계기 때문에 왠만하면 무리없이 맞춰간다. 늘 그렇듯 사람 일이라는게 마음 먹은 대로 되지 않는 법. 완성단계에 이르렀는데 갈대가 휘어 철근을 들어내고 다시 깔아야 하는 그야말로 대공사를 할 때도 있다. 이땐 욕지기가 올라올 때도 있다.
거의 다 만들었던걸 부수고
다시 밑바닥부터 작업을 하노라면...
온전한 나의 분노 감정을 느끼곤 한다.
그래도 별 수 있겠는가. 이내 현실을 깨달으며 순응하려고 노력한다.
어쩔 수 없는 밤일과 휴일 업무
내 일의 특성 상 9-6 에 업데이트를 할수가 없다. 이건 많은 사이트가 비슷하지 않을까 생각된다. 프로그램 업데이트는 사람들이 퇴근하고 해야하며 대공사 같은 경우는 휴일, 더 큰 시스템 오픈이나 업데이트는 대게 명절이 선택된다. 영업이 활발한 시간에 업데이트를 하는 건 쉽지 않은 일이다. 감수해야만 하는 직업이다.
최근 우리은행이 차세대 오픈을 구정에 예고하였으나 연기가 되어 이쪽 업계에서는 꽤나 구설수에 오르는 일이 아니었나 싶다. 5월 연휴가 다음 오픈 예정이라고 하는데 과연 지켜질수 있는지도 흥미롭다.
마무리
뭔가 생각 없이 손가락 나가는대로 쭉 적은 것 같다. 사람이 해야할 수많은 일들을 자동으로 또는 순식간에 처리하게 해줄 수 있는 이 직업은 매력은 있는 것 같다. 이런 성향을 가진 내게 스팀의 오픈된 api들을 보면 항상 뭔가를 만들고 싶게 만든다. 스팀잇은 개발자들이 보기엔 재밌고 좋은 놀이터다.