반응형
<출처: http://www.idg.co.kr/newscenter/common/newCommonView.do?newsId=51617 >

임철우님의 행복한 개발자 칼럼입니다. 조금 날짜가 지난 글이긴 합니다만 읽다가 퍼왔습니다.

기타 다른 주옥같은 글들이 많이 있네요. 그리고 이번 글은 요즘 제가 많이 느끼고 있는 부분이기도 합니다.

참고로 '아키텍트 이야기'란 책에 이글과 비슷한 맥락의 글이 기억에 납니다.

프로그래머로서 개발자로서의 자만에 대한 질책(?)이 될수도 있을것 같습니다.

기술과 업무.. 많은 개발자들이 이것들 중에서 업무에 대해 좌시하는 경향이 있는지도 모르겠습니다.

므튼 시간날때 임철우님의 행복한 개발자 칼럼을 쭉 읽어 봐야 겠습니다.

행복한 개발자를 꿈꾸며~~ 오늘도 야근입니다.. 개발자의 결혼 적령기에 관한 글도 좋은것 같습니다.^^
  AP7E92.JPGTV에서 이런 광고를 본 기억이 난다. 모두가 “아니오”할 때 “네”라고 대답을 하고, 모두가 “네”라고 대답을 할 때 “아니오”라고 했던. 자신의 생각을 확실하게 정하고 주변에서 뭐라고 하든지 자신의 생각을 펼치라는 내용으로 기억된다. 개발자로 일을 하는 것도 다름이 없다.

 

개발자로 일을 하려면 ‘십 분의 일이 되는 것’을 염두에 두어야 한다. 여기서 십 분의 일이란, 십을 이루는 기초를 이야기 한다. 기초를 먼저 탄탄히 하라는 의미다. 왜 그런지 살펴보자. 먼저, 같이 일을 했던 신입 개발자들에 대해서 잠시 얘기를 해보는 것이 좋을 것 같다.

 

어느 날인가 신입으로 들어왔던 B라는 개발자가 같이 들어왔던 신입 사원들보다 자신이 뒤떨어지는 것 같아서 계속 개발자로 일하는 것에 대해서 고민을 하게 된다는 이야기를 꺼냈던 일이 있다. 이런 얘기는 신입이면 누구나 한번쯤은 경험하게 되는 일련의 과정이라는 생각이 든다. 혼자서 열심히 짜는 프로그램과 다른 사람들과 같이 만드는 프로그램의 차이에서 오는 고민일 것이다.

 

처음에 개발자로 입문한 사람들은 프로그램에 대한 자신감이 있기에 개발자로서의 사회생활을 시작하게 되었을 것이다. 하지만 그 자신감은 어디까지나 혼자만의 생각일 뿐. 자신의 지식은 전체를 파악하지 못하고 일부분이 전체인 것처럼 보는 장님이 코끼리 다리를 만져 보고 이것은 무엇이다 하는 격이다.

 

다시 B의 고민으로 돌아가보면, 필자는 한 프로젝트에서 A와 B 두 개발자에게 같은 일을 지시하고 결과를 기다리고 있었다. A는 빠르게 처리를 했고 일 처리 속도가 떨어지는 B는 A에게 새로운 일이 주어질 때까지 끝내지 못하고 혼자 남아서 늦게까지 일을 하게 됐다. 결국 둘은 점점 차이가 벌어져 A에게 B가 처리해야 할 일까지 하나 둘씩 넘어가게 되었다.

 

이런 업무상의 차이에 대한 고민을 호소하는 B에게 필자는 이런 얘기를 해 주었다.

 

“개발자에게 있어서 가장 중요하다고 생각하는 것은 업무에 대한 이해다. 업무 프로세스에 대한 이해도가 가장 중요하며 그것을 구현하는 기술력은 그 다음이다.”

 

지금은 비록 기술력이 부족해서 쉽게 일 처리를 못하더라도, 그건 시간이 지나면서 자신이 조금만 더 노력한다면 극복 가능한 문제다. 하지만 업무 프로세스의 이해 없이 단지 기술로만 승부하려 한다면 최소 이중삼중으로 수정 해야 하고, 이는 점점 불어나 결국에는 일이 재미가 없어지고, 현업들로부터 일을 잘한다는 소리를 듣지 못하게 된다.

 

“그럼 어떻게 하는 것이 올바른 방법일까?”하고 머뭇거리며 질문하는 B에게 이렇게 대답해 주었다.

 

“프로그램으로 어떻게 구현할 것인가 보다는 왜 이런 업무가 필요한지를 먼저 생각해야 한다.”

 

프로그램으로 모든 것이 구현 가능하다고 생각할지 모르지만 실제적으로 업무란 것은 A나 B선에서 끝나지 못하는 경우가 태반이며, 어느 정도 확장을 고려해 두어야 한다.

 

개발이 끝났다고 생각한 시점 이후에 어쩌면 A부터 Z까지의 경우의 수로 일이 커질지 모르는 상황에서 자기가 맡은 부분만 보려고 하면 안 된다. 업무에 대한 이해도가 높다면 얼마든지 말로도 충분히 해결할 수가 있다. 그러면 일 잘 한다는 얘기를 듣게 될 것이다.

 

프로그램 100라인을 들여서 코딩을 해야 되는 것을 단지 업무에 대한 이해도 덕분에 10라인의 코딩으로 마무리하는 것도 가능하며, 같은 100라인이라고 해도 요건에서 생각지도 못했던 에러에 대응해 처리도 가능하게 된다.

 

시간이 흘러 B는 다른 프로젝트를 하게 됐는데, 우연히 B와 같이 일하는 현업으로부터 B가 일을 잘한다는 소리를 듣고는 왠지 기분이 좋았다. 아직도 프로그램 코딩 실력은 부족하다고 하지만 계속 자기 개발을 해나가면 실력이 좋은 개발자가 될 것이다.

 

십 분의 일이란 앞서 언급했던 CF처럼 남들이 다 “아니오”라고 말할 때 “네”라고 말하기 위해서 갖추어야 할 최소한의 조건이라고 생각한다. 어떤 상황에 처했을 때 자신에게 필요한 것이 무엇이며 핵심과 전후 상황을 파악하는 능력이 말이다. 이런 능력은 태어날 때부터 선택 받아서 얻게 되는 것이 아니며, 경험과 훈련에 의해서 이루어진다. 어쩌면 이런 습관이 몸에 밴 개발자를 보게 된다면 사람들은 고집이 세며 아는 체(잔머리 굴리는 사람)를 많이 하는 사람으로 오해 할지도 모르겠다.

 

이렇게 되기 위해서는 무슨 말을 했을 때 그게 왜 그럴까? 그럼 어떻게 될까? 자신도 모르게 습관적으로 생각해야 된다. 자신의 생각이 맞으면 모든 것이 즐거워진다. 이게 극단적으로 발전하면 전혀 경험이 없는 일도 알고 있는 척하는 것이 가능하다. 주의할 점은 모르는 사실에 대해 답을 했을 때는 반드시 자신이 했던 말이 올바른 대답인지 찾아봐야 하고 틀린 답이었다면 다음에 반드시 그게 아니었네요 하고 솔직하게 대답하는 습관을 들여야 한다. 아니면 거짓말쟁이로 전락하게 되어 아무도 믿어주는 사람이 없게 될지도 모른다.

 

십 분의 일, 간단한 습관이지만 행복한 개발자가 되어가는 하나의 팁이다.



+ Recent posts