코딩하는공익(4)
필자는 어린 시절부터 무언가를 부수고 다시 조립하는 것을 정말 좋아했다. 요즘은 보기 힘들지만 90년대에는 슈퍼마켓에서 500원짜리 프라모델을 판매했다. 상자를 개봉하면 질 나쁜 사탕 한 두 개와 함께 프라모델 러너가 들어있는 것이다. 500원이라는 가격에 걸맞지 않게 관절도 움직이고, 경우에 따라서는 여러 개의 장난감이 서로 합체해서 더 크고 멋진 장난감이 되기도 했다. 훗날 알게 된 사실인데 이 당시에는 형식적인 먹거리를 동봉한 완구가 굉장히 많이 출시되었다고 한다. 음식물을 포함하고 있으면 완구점이나 문구점뿐 아니라 식료품점 등지에서도 판매가 가능하기 때문이라고.
초등학교에 들어가서는 손전등에서 시작해 스캐너를 통째로 분해해버린 적도 있었다. 무언가 복잡해 보이는 걸 뜯어보고 재조립하는 게 너무 즐거웠다. 중학생 때에는 세뱃돈을 탈탈 털어서 산 PSP를 분해해 외장재를 크롬으로 바꾸기도 했다. 언제부터인가 필자에게는 십자드라이버로 분해 가능한 전자기기는 무조건 한 번씩은 뜯어보는 버릇이 생겼다. 가격이 얼마나 비싼 지는 중요한 문제가 아니었다. 분해 후 재조립할 수 있다는 확신이 들면 일단 뜯어봐야만 비로소 마음이 편안해지는 것이다.
컴퓨터를 조립하는 것도 너무 즐거웠다. 남들은 컴퓨터 조립해 달라는 부탁이 들어오면 무조건 거절하라고 하지만 필자는 새 컴퓨터를 구매하는 지인들에게 제발 부탁이니 조립을 필자가 하게 해 달라고 부탁하고 다녔다. 백만 원이 넘는 비싼 기계를 내 돈 안 들이고 조립할 수 있다니. 얼마나 좋은 기회인가!
대학원 시절에도 연구실 내 전산팀에 들어갔다. 서버를 뜯어보고, 고장 난 컴퓨터를 고쳐 주는 게 그렇게 신날 수가 없었다. 컴퓨터를 고치는 것은 정말 즐거운 일이다!
그리고 그 생각은 공익근무를 시작하며 많이 바뀌게 되었다.
공공기관에는 컴퓨터가 많다. 굉장히 많다. 노동청과 같은 경우에는 근무 중인 모든 공무원이 컴퓨터를 한 대씩 가지고 있고, 민원인용 PC도 비치되어 있으니 거의 50여 대의 컴퓨터가 상시 가동되고 있는 것이다. 그리고 그 컴퓨터를 다루는 사람들은 IT 전문가가 아니라 노동법과 국가행정의 전문가다. 별의별 고장이 매일 수시로 발생한다는 뜻이다.
컴퓨터가 갑자기 켜지지 않는다고 해서 뛰어갔더니 콘센트가 뽑혀 있었던 적도 있다. 모니터가 나오지 않는다고 해서 갔더니 모니터 전원이 꺼져 있었던 적도 있다. 이런 경우는 어느 단체나 회사를 가도 흔할 것이므로 더 상세하게 언급하지는 않겠다. 후...
관공서에 납품되는 컴퓨터에는 온갖 프로그램들이 다 깔려있다. 제조사가 어딘지도 다 파악할 수 없겠으니 그들끼리 서로 충돌을 일으킬 수도 있으리라는 걱정이 들 수 있을 것이다. 노동청에서 근무한 지 이제 4.5개월 정도 되었는데 그동안 관납 소프트웨어끼리 충돌을 일으킨 경우는 딱 한 번 목격했다.
팀장님 컴퓨터에서 발견된 에러로, 에러 메시지의 숫자를 유심하게 보라.
"10.0.0.5821은 첫 자릿수가 1로 시작하네? 그러면 첫 자릿수가 8로 시작하는 8.0.4.767보다 구버전이구나!"
저 프로그램을 만든 업체에서는 한셀 버전이 한 자릿수일 경우에만 정상적으로 작동하는 프로그램을 만들어 둔 것이다. 이 프로그램을 개발한 개발자는 버전 체크 코드에서 버전명 문자열의 맨 앞 1글자만 체크해서 대소 비교를 수행한 것 같다. 아주 기초적인 실수다. 이 에러 때문에 한셀을 켤 때마다 에러 메시지가 출력된다. 관공서에서 스프레드시트를 사용하는 업무는 비중이 굉장히 크기 때문에 저 에러는 굉장히 공무원들을 성가시게 만들 여지가 있었다.
제조사에 전화를 했으나 필자가 복무 중인 노동청 지청이 자사의 고객 리스트에 등재되어 있지 않으므로 문의를 접수할 수 없다는 답변이 돌아왔다. 노동청, 고용노동부, 고용노동청... 어떤 이름으로도 조회가 안 된단다.
"개발자한테 메일 한 통만 보내게 해 주면 안 될까요? 코드 한 줄만 수정하면 될 것 같은데..."
그 회사 콜센터 직원에게는 필자의 메시지를 직접 개발자에게 전달해 줄 권한이 없었다. 부서 간 소통이므로 보고서를 작성하고, 고객명과 정확한 에러 메시지를 기재하여 문서로 넘겨야 한다나.
결국 이 문제는 아직 미해결 된 채로 남아있다.
관공서용 프로그램이 윈도우 시스템과 충돌한 케이스도 있다.
관공서용 소프트웨어가 정기적으로 자동 업데이트되다 보니, 문제가 있는 코드가 하룻밤 새 관공서 내의 모든 컴퓨터에 배포되는 경우도 있다. 또는 업무처리 포털의 백엔드 쪽의 업데이트가 잘못되어 하룻밤 새 전국 관공서에 깔린 프론트쪽 요청들을 처리하지 못하게 되는 경우도 있고.
이 에러 같은 경우 하루아침에 발생하였고, 해결이 불가능했으며, 노동청 내 모든 컴퓨터에서 발견되었다. 덕분에 취업희망자를 위한 민원사무에 애로사항이 꽃 폈고 많은 선량한 민원인들이 피해를 보게 되었다. 이 문제는 소프트웨어가 업데이트되며 해결되었다.
이외에도 윈도우 기본 시작프로그램 일부와 충돌해서 부팅 시마다 경고창을 출력하는 경우도 있었다.
무엇이든 일괄적으로 처리하려면 무결성 검증에 신경 써야 한다.
그 외에는 컴퓨터가 새로 들어와 예전 컴퓨터의 하드를 SATA 케이블로 물려주거나 프린트 드라이버를 깔아 주거나 하는 정도로 무난한 수준이다.
방금 있었던 일인데 IP 추적도 해 줬다. 필자의 뒤로 주무관님들이 우르르 몰려와서 구경하는 데 이게 참 재밌다.
주로 사용자의 경험 부족으로 인하여 대처하지 못하는 문제는 컴퓨터에 관심이 있는 사람 한 두명만 있으면 쉽게 해결 가능한 편이다. 하지만 관납 소프트웨어를 잘못 만들어서 발생하는 문제는 그렇지 않다.
정부에서는 무결성이 검증되지 않은 프로그램을 굳이 민간으로부터 비싼 가격으로 납품받는 대신 그 예산으로 전산직 전문인력을 확충하는 것이 더욱 바람직하지 않을까? IT인력이 전공을 살려 공직에 진출할 기회도 늘고, 관공서에서도 소프트웨어끼리 충돌하며 에러가 발생하는 문제를 줄일 수 있고.