그냥 푸념 한마디 해보렵니다..
생각나는대로 적다보니 글이 좀 깁니다. 사실 지나가는 의미없는 잡담일뿐입니다..
요즘 프로그래밍한다는것에 따분함을 느낀다고해야하나 암튼.. 먼가 새로운것을 찾아서 해야하는데 그렇지못하고 시간만 축내고 있습니다.. 학창시절부터 생각해오던 프로그래머가 되었는데도 6년째 일하면서 가끔 먼가 맞지않은일을 하고있다는 생각에 사로잡히곤 하다 요즘 더 심화되는것 같습니다. 아 그렇다고 개발쪽이 아니고 다른분야에서의 일자리 생각은 아닙니다.. 88올림픽있던해 동네컴퓨터학원에서 MSX 의 GW_BASIC 을 보았을때의 감격은 지금 제가 프로그램 짜면서 받은 봉급으로 생활하는 계기였으니까요.. 개발자체가 따분한게 아니라 일 자체에 회의를 느끼는거죠.. 저희 회사는 고객관리 관련 회사이며 그에관해 프로그램이란것을 맡아 개발해왔으니.. 한분야의 일만 하다보니 다른 새로운것을 찾고싶어하는것이겠지요..
프로그래밍이 멋진 일이다라고 느끼는것은 하드웨어를 정해진 명령대로 작동시키는 것이었습니다. 어쩌면 소위 전산쟁이 아니었으면 전자쟁이가 되었을지도 모릅니다. 그렇다보니 저수준의 프로그래밍쪽으로 더 관심있었고.. 용감하게도 O/S 가 어떻게 작동될까 라는 의문속에 리눅스커널소스분석집을 인쇄해서 보기도 했었죠.. 물론 이해도 못할뿐더러 아는거라곤 학교에서 배운 씨 기본문법만으로 내용을 읽는다는 자체가 힘들었죠.. 그때가 고2때니까 윈도95, O/S2, 리눅스 등등의 차세대 O/S가 이슈로 떠올랐을때죠..
여기까진 제가 자동화 프로그램이 아닌 제어분야로 관심이 많다는것을 푸념식으로 풀어논것입니다.. 처음입사한 회사는 POS 업체였습니다. POS 주변기기들과 통신하고 제어하고, 헨드터미널이란것을 다루고.. 그리고 저와 같은진로를 선택한 친구는 조금큰 개발회사에서 데이터베이스와 ERP 등 머라할까 제법 규모가큰일을 하는회사로 입사하고.. 그때부터 친구와 저는 대립되는 갈등이 있었죠.. 그친구는 고객의 만족도에 대한 결과우선이었고 전 과정과 신뢰성 우선이었죠.. 그친구와 술한잔하면 꼭 이런이야기로 몇시간동안 완결될수없는 난상토론을 하곤 합니다. 물론 어느것이 정답은 없지요..
지금있는회사에서 단말기(신용카드단말기와 비슷한) 펌웨어를 C로 8051 컴파일러로 개발했었습니다.. 지금 웃을수 있는것은 처음 시작했을때 getch 하면은 키패드에서 키가 입력받을수있고 printf 하면은 액정으로 출력할수 있을줄 알았습니다.. 단말기 제조사에서 기본작동되는 펌웨어파일과 소스를 분석해가며, PCB 회로도와 각각의 IC 나 부속레퍼런스를 분석하며.. 시작한지 2개월만에 LCD 액정에 점하나찍을수있고 키패드에서 먼가를 입력 받아낼수 있었습니다.. 그렇게 기본 BIOS 루틴작성하는데 5개월이상 소비되더군요..
그리고 델파이로 PC 프로그램도 함께 작업을 함께 하였습니다.. 물론 단말기와 연동되는.. 처음엔 RS-232 컴포넌트를 사용했었습니다.. 그렇나 점점 요구사항이 많아지고 그에따른 단말기 통신부분도 복잡해지고.. 서드파티의 RS-232 컴포넌트 작동에 점점 불만아닌 불만이 시작되었습니다. 결국 컴포넌트 소스를 분석해서 나름대로 뜯어고쳐 개조식으로 유닛클래스를 만들어 사용하기 시작했습니다.. 아마 첨으로 컴포넌트란것을 뜯어고치는 사건인것 같습니다..
시간은 흘러.. 고객의 요구사항은 많아지고 단일 프로그램이 아니라 시스템적인 요소로서 규모가 커짐에 따라 다른 대안이 필요하게 되었습니다.. 그것은 바로 데이터 통합이었습니다.. 한 매장에서만의 고객관리가 아닌 체인점단위나 사업장 단위등의 동일한 고객데이터를 구성요소가 통합하여 공유한다는것이지요.. 회사에서 투자해 중앙 서버를두고 C/S 식으로 작성하면 되겟지만.. 서버유지비부터 시작해서 여러가지 상황으로 수익모델이 안나온다는 이유로 무산되고.. 분산되어있는 데이터를 서로 다른매장에서 요청하는식으로 구상하기도 했지만 결코 쉽지만은 아니었습니다.. 중요한것은 네트웍 접근인데 매장 대부분 유동 ip 를 사용하게 될것이고 중앙에 각매장당 ip 를 저장해서 질의하는 형태의 서버를 두고 암튼 전산개발팀 여러명이 모여 머리를 짜내어 봤지만.. 쉽진 않더군요.. 결과적으로 메신저비스무리한것만 부산물로 남았습니다..
어느날 단말기 독립적으로 네트워킹시켜보자는 발상에 외장모뎀을 장착하려 했으나 VAN 비용도 만만치않고 결국 랜모듈을 장착하게 되었습니다.. 전송매체가 인터넷이란것이 되자 기존의 RS-232 방식때 쓰던 프로토콜을 대거 수정하게 되었습니다.. 서버모듈을 개발해야하는데 처음엔 VC 로 하려했었습니다.. 그런데.. MFC 란것을 다시 공부하자니 차라리 몇년동안 손에익은 델파이 VCL 로 작업에 들어갔습니다.. 약 1년정도 작업을 했을겁니다.. 연결이냐 비연결 지향이냐부터 DBMS 는 뭘하지? 클라이언트 프로그램과의 통신은 C/S 로 할것이냐 일정프로토콜을 사용해느냐.. 연결풀링은 어떤방식으로? 로그기록은? 네트웍장애시 임시데이터 처리는 어디에? 로컬디비? 단말기 메모리에? 관리조회는 웹으로 하냐 클라이언트프로그램으로 하냐? 그렇다면 배포는?? 앉아서 코딩하는시간보다 회의실에서 팀원들끼리 브리핑하는 시간이 더많았고 야근은 별로 안했지만 저녁먹으면서 취중 시스템구성 토론이 벌어지고.. 1년이란 시간이 금방 지나가더군요..
요즘 중간솔루션업체에서 자기 시스템에 접목시키자는 요청도 많이 들어옵니다.. 대부분 웹관련이더군요.. 프로토콜을 그대로 노출시킬수도 없고.. 설사 프로토콜이 노출되어도 나름대로 패킷암호화되어서 크게 상관없지만 그렇다고 묘듈을 떼줄수도 없고.. 사장님께선 서버프로그램을 팔면 어떻냐고 하지만.. 필요해서 만든건데 패키지로 상품화시키기엔 현실성 없고.. 어떻게 다른웹하고 연동을 시키느냐 조사해보니 그중에 웹서비스란게 있더군요 ㅋㅋ..
처음엔 여러 이유로 클라이언트 프로그램쪽을 생각햇는데 운영해본결과 웹으로 전환할부분의 필요성이 생기더군요.. 머 처음에 서버구성할때 패킷메세지 통신으로 구성해서 웹으로 연결가능성도 예측해서 준비했었지만.. 지금와서 혼자 어떻게해야할까 고민됩니다.. 예전처럼 팀원들끼리 회의실에서 토론하고 머리싸메고 했으면 외롭진 않을텐데.. 함께일한 팀원들은 한두명씩 이직하거나 다른업종등의 이유로 회사를 그만두고 회사에선 경영상 어려움으로 충원을 안해주고 홀로 버틴지 몇개월됩니다.. 회사에선 시스템 업그레이드를 무기한으로 연장하고 있고 혼자서 유지보수를 하라는 분위기에.. 주변 누군가에게 함께 의견나누고 웹으로의 전환을 헤쳐나가야되는데.. 도무지.. 답이 안나옵니다.. 실천도 못하고.. 누군가 옆에서 조언이나 서포트해줬으면 하는 마음이고 아무튼.. 많이 외롭습니다..
그러고보니 델파이로 할수있는게 참 많네요.. 중간중간 델파이로 참 많은 프로그램을 짰습니다.. 비영리정부단체 프로그램도 하고.. 작은 개인병원, 치과, 고물상 등등 일일이 나열하자면 단기성(6개월 이내) 프로잭트가 참 많습니다.. 이래서 제가 MFC 를 못하는것일까요.. 앞으로 닷넷 플랫폼이란것을 준비해야할것같은데 이기회에 VC 나 C# 도 준비해볼까 했지만 볼랜드에서 닷넷기반용 BDS 를 출시하고 결국 응용프로그램 부분은 델파이로 남을것 같습니다..
|
웹과 연동하는 부분에 대해 고민중이시라면, 더 구체적으로 써주시면 괜찮은 대안들이 나오지 않을까요..