고작 2년의 실무경력을 가진 내가 이런말을 한다면 어처구니 없다고들 이야기 할수 있겠지만, 일단 내 블로그이니 내 맘대로 글을 써보겠다. 그리고 의견이 있으면 자신있게 댓글을 달아주시면 좋겠다.
일이 즐거운 사람이 성공할 가능성이 많다고 한다.
그리고 일이 즐거우려면 그 일에 부여할수 있는 가치가 있어야 한다. 그게 먹고 살기위한 가치가 아니라, 이 일을 함으로서 미래에 내가 뭐가 달라질것이냐 이다. 그런 무형의 그렇지만, 정말 고부가의 일을 찾기위해서 많은 사람들이 부단히 노력하고 있다.
프로그래밍이라면 다 좋았던 시절이 있었다. (물론 지금은 열렬히 사랑하는 중이다. 앞으로도 그럴것이다.)
짧은 경력이지만, 초등학교시절부터 게임 / GUI / 웹 프로그래밍 / 시스템 프로그래밍 / 어플리케이션 프로그래밍 까지 안해본것들이 없다. 물론 지금 다 할줄 안다는건 아니다. 시간도 많이 흘렀고 기술도 변하고 그랬으니.
Delphi, .net, Java 등 많은 구현 기술이 있다. 한때 나는 이 구현기술을 얼마나 많이 아느냐가 가장 중요한것인줄 알았다. UI를 wxPython을로 구현할까, 스윙으로 구현할까 아니면 MFC로 구현할까 … 하는 것에 각각 어느것을 얼마나 많이 아는것이 프로그래머로서 가장 중요한 항목인것으로 알았다. 물론 좋다. 이력서에서 적어도 한줄은 들어갈것이니…
하지만 일을 하면서 알았다. 그 구현환경이라는것은 그리 중요한것이 아니라는것을…. 그리고 언어(Language)라는것도 하나의 구현환경중에 하나라는것을 말이다. 언어라는것은 없어질수도 있고, 하루아침에 윈도우라는것도 없어질 수도 있다. 그렇게되면 MFC를 아는게 어떤 도움이 될것인가?
난 지금도 생각한다. MFC 함수 몇개를 외울 시간이 있으면, 차라리 MFC의 구조를 분석해서 아키텍트에 대해서 알아보든지, 아니면 운영체제나, AI쪽을 공부하라고 말이다. 차라리 이런공부를 하게되면 어떤 특별한 알고리즘을 고완 고안할때 생각의 폭 자체가 넓어진것을 알수있을것이다. 또한 문제점이 생겼을때 똑똑한 대처방안을 고완고안할수 있다.
이런 ‘변하지 않는 핵심’을 잡는 감(Feel)이라는것은 하루아침에 생기는게 아니다. 부단히 연구하고 공부함으로써 그런 느낌을 받을수 있다고 본다. 물론 나도 이제 그 감(Feel)이라는것이 무엇인지 알게 되었다. 무엇보다도 빨리 이 감을 획득할수 있었던게 무작정 프로그래밍을 해왔고, 그에대한 경험이 밑받침 되었다는데에 부정하지 않는다. 하지만 항상 그런 느낌을 얻으려고 부단히 공부하고 여러 고수들에게 조언을 구함을 게을리 하지 않았다.
위에서 이야기한 일에 부여할수 있는 가치는 자신이 올바르게 방향을 잡을수 있을때 생겨날수 있다. 막연히 보안쪽으로 하고 싶다는것도 역시 좋다. 하지만 보안 회사에 일한다고 해서 반드시 핵심을 잡고 일하는것이 아니다. 자신이 핵심을 잡을수 있는 능력이 있다면 계속적으로 어필을 하고 공부하고 또 공부해야한다. 그렇게 하지 않는다면 처음부터 프로그래밍을 그만둘때까지 GUI프로그래밍만 하고 있는 자신을 발견할것이다. 물론 그것에 만족하는 사람이라면 강요는 안하겠지만, 개발자로서 성공하기는 힘들다. GUI가 정말 좋다면, GUI 라이브러리를 만드는 일을 해라. 또한 GUI의 유지보수를 편하게 할수 있는 프레임웍을 고완고안을 하는것도 좋다. 그러면 될것이라 생각된다.
개발일은 내 생각으로는 로우(Low) 레벨로 가면 갈수록 ‘변하지 않는 핵심’이라는 생각이 든다. 그만큼 어렵기도 하지만, 진입하기도 힘들고, 공부도 열심히 해야한다. 진짜 프로그래머(해커)는 이런 핵심 알고리즘을 만드는것을 좋아한다. 한번쓰고 버리는 코드보다는 영속적으로 인간에게 혜택을 줄수 있는 그런 코딩을 하기를 원한다는 것이다.
또한 이런일만을 할수 있는 환경을 스스로 만들어갈 정도로 자신을 외부에 어필을 한다든지 능력을 키우는 작업을 게을리 해서는 안된다. 그렇게 해서 자신이 하고 싶은 일을 하게된 사람은 일을 게을리 할리는 만무하다. 100% 열심히 할것이고 아웃풋도 역시 좋을것이기 때문이다. 그리고 그런 사람은 계속 ‘변하지 않는 핵심’에서 인정받으며 일을 할것이다.
진짜 프로라면 자신의 일을 선택, 선별할줄도 알아야 한다. by from __future__ import dream is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.