본문 바로가기
살아가는 이야기

조금은 서글픈 윈도우 개발자

by esstory 2007. 10. 12.

어제 오후에 후배가 만든 코드 약 4천 라인을 프린트해서 코드 읽기를 했습니다.

어느 정도 실력을 인정받는 친구라 특별히 문제될만한 코드는 없더군요. (아 그래도 몇 가지 Crash 가 날만한 부분과 Refactoring 이 필요한 코드를 발견해서 전달했습니다)

 

코드를 읽으면서 왠지 클라이언트 개발을 하고 있는 제 자신이 서글퍼지네요.

후배가 거의 한 달이 넘게 작성한 코드 중 반 이상은 화면의 입력부를 구성하기 위해 탭과 에디터, 버튼 등 수많은 컨트롤을 생성하고, WM_SIZE 이벤트에 맞게 위치를 조절하고, 버튼클릭과 같은 잡다한 이벤트를 수신 받아 처리하는 로직으로 되어 있었습니다. – 조금 복잡한 화면 작성하다 보면 이러한 코드가 수천 라인은 쉽게 넘어 갑니다 --;

코드 읽기를 하면서 이런 코드들은 대부분 스킵했습니다.  특별한 로직이 있는 게 아니라 화면에 뭔가를 표시하기 위해, 이벤트를 받기 위한 당연한 작업들이라 성능개선을 위해, 프로그램 오류 방지를 위해 눈에 불을 키고 볼만한 코드가 아니었거든요.

 

사용자가 사용할 말단 화면이다 보니 이런 노가다는 어찌 보면 당연한 것으로 받아들여야 하지만 나이가 들어 경력이 쌓여갈수록 화면 UI를 위한 코딩보다 데이터처리의 효율성이나 성능, 보안과 같은 정적이지만 CORE 를 이룰 수 있는 쪽으로 코딩도 관심이 옮겨가네요.

한때는 빠르고 멋진 UI 라 생각되었던 윈도우 프로그램도 RIA 로 대변되는 Flash 나 SilverLight, 그리고 WPF 등의 등장으로 답답해 보이고 심심해져서 앞으로의 밥벌이도 걱정해야 할 판입니다. ^^ – 결국은 다 웹으로 가겠죠?

 

윈도우 개발자라면 보통 이런 저런 화면개발을 위해 상당한 양의 코딩과 시간을 투자해야 하는데 이러한 일련의 일들은 지식이라고 하기엔 깊이가 얕고 나중에 커리어로 인정받기에도 애매한 경우가 많습니다.  어제 코드를 읽으면서 이런 노가다를 군말 없이 열심히 하는 후배가 측은하기도 했습니다. (후배가 이 글을 보면 안될 텐데요^^, 제가 이쪽 일을 너무 오래 했나 봅니다)

 

오래 전에 아주 짧게나마 서버 프로그램을 개발한 적이 있었는데 그때에는 문제의 핵심에만 집중할 수 있었습니다. 사용자의 소켓 연결을 받아 Thread 로 분산하고, 원하는 데이터를 전달하는, 주로 데이터와 성능 관련 이슈에 집중할 수 있었고, 그래서 시스템과 C/C++언어 자체(MFC와 온갖 컨트롤들이 아닌)에 대한 내공이 충분하다면 경력과 능력을 모두 인정받을 수 있겠더군요.


윈도우 개발자는 서버 개발자가 주는 데이터와, 업무개발자가 전달하는 업무 지식으로 시키는 대로 화면만 만들어 내는 그래서 같은 직장 내에서도 갑(업무개발자)-을(서버개발자)-병(클라이언트개발자) 관계라고 우스개 소리로 말하곤 합니다. – 다 그런 건 아니겠죠. 제가 하는 일이 유독 그런가 봅니다.

 

업계에 보면 서버개발자와는 달리 특히 윈도우 개발자들은 정식직원으로 일하는 경우보다 협력업체로 들어와 근무하시는 분들이 많습니다. 업무나 메인 프레임, 데이터 베이스 관리와 같은 초기 진입장벽이 높지 않는 분야라서 그런지 윈도우 프로그래머가 상대적으로 구하기 싶고 핵심인력이 아닌 경우 다른 사람으로 쉽게 교체될 수 있다는 얘기겠지요. 윈도우 프로그래머가 된걸 후회해야 할까요? ^^;

 

학창시절에 처음 랭귀지를 배울 때에는 과제를 UNIX 에 접속해서 제출했어야 했는데 vi 를 사용해 보고 기절할 뻔했습니다. 그 좋다는 vi 가 Turbo Pascal, Turbo C 에 익숙한 저에게는 정말이지 최악의 에디터였거든요.

이때부터 학교 과제를 Turbo C 로 작성했는데 그러다 보니 서버프로그래머가 될 수 있었던 유닉스를 포기하고, Full-Down 메뉴와 파일 관리자 같은, 재미있고 호기심을 충족할 수 있는 DOS 개발자 – 나중에 윈도우 개발자- 의 길로 들어 섰습니다.

 

지금에 와서 지난 수년간 밥벌이를 해 준 이 길을 후회할 생각은 없지만, 만약 서버 개발자로 나갔다면 어땠을까 하는 생각이 듭니다.

vi 의 불편을 조금만 참고, 유닉스의 매력에 빠져들었으면, 지금쯤 Process 와 Thread, File, 어쩌면DB까지 능숙하게 사용하면서 다른 모습으로 있지 않을까 하는 생각. ^^;

물론 서버 프로그램은 재미가 없다는 단점이 있긴 한데. --;;

 

코드 읽기 하다가 괜한 생각으로 횡설수설이네요

요즘 프로그래머로 진입하는 친구들은 주로 자바 쪽이 많겠죠? 나중에 이 친구들은 본인의 선택을 어떻게 생각할지도 궁금해 집니다.

 

P.S 어제 밤에 퇴근을 했더니 와이프가 대뜸, 자동으로 특정 사이트에 로그인 하는 프로그램을 만들어 달랩니다. 그 사이트를 자동 로긴해서 뭔가를 한다고 요구사항을 직장 상사처럼 얘기하는데 - 와이프는 프로그램이 뚝딱하면 나오는 줄 압니다 ㅋㅋ - 2시간 정도 삽질한 다음에 겨우 만들어 줬더랬습니다. 누군가에서 손쉽게 뭔가 필요한 기능을 만들어 줄 때, 딱 요럴 때는 윈도우 프로그래머인 게 좋습니다. 맨날 맘이 오락가락 하지만요 :-)

 

Daum 블로거뉴스에서 이 포스트를 추천해주세요. [추천]

댓글