개발자에게 우선시되는 능력

객체지향, 데이타베이스 핸들링, 패턴에 대한 이해 등등.. 개발자들은 참 알아야할것이 많습니다. 하지만 이런 기술적인 부분 이외에 개발자에게 우선시되는 능력은 따로 있지 않나 생각합니다. 물론 이런 기술적인 배경이 뒷받침 되어야 하겠지만 말입니다.
1. 하늘이 두쪽나도 일정에 맞춰 구현해 내는 능력
월급을 받지 않는 상태에서 혼자서 개발한다면 몰라도, 월급을 받는 상태에서 두명이상 개발을 하게 되면 일정을 맞춘다는것은 곧 비용의 한계를 넘어서지 않음을 의미하며, 구현을 하지 못하는 상태에서 패턴이 어쩌고 모델링이 어쩌고 하는것은 패턴과 모델링이 가지고 있는 의미. 즉, 구현의 용이함, 정확도, 확장성 등보다 우선시 되는 "구현" 을 빼먹는 오류를 범하게 됩니다.
물론 개발일정이 촉박하게 주어지는 대한민국 개발 현실이 이해는 가지만, 일정을 스스로가 인정할 수 있게 끝까지 주장할 수 있는 "의견표출능력" or "협상력" or "영향력" 등을 키워야 하겠습니다. 덧붙여 업무에 대한 '분석' 능력을 키워서 정확히 '측정' 할 수 있는 능력 또한 매우 중요하겠습니다. 이 능력은 당신이 팀장이 되었을때 중요한 능력으로 사용될 것입니다.
2. 협업 능력
현대 사회에서 개발이라는 업무를 혼자하게 되는 경우가 점점 드물어 지고 있습니다. 아주 간단한 모바일 어플리케이션을 만들게 되더라도, 기획자, 디자이너, 개발자 3명이 참여하게 됩니다. 혼자가 아닌 여럿과 일을 하게 될 때는 같이 일을 할 수 있는 능력이 우선되어야 프로젝트가 성공적으로 이루어질 수 있습니다. 기본중에 기본이겠지요? 혼자서 '난 코딩의 신!!' 이래봤자 함께 일하는 법을 모른다면 최종결과물은 안드로메다로 가게 될 것입니다.
협업 능력의 기본은 역시 커뮤니케이션 능력이 아닐까요? 제가 제일 아쉬워 하는 부분이 바로 커뮤니케이션 부분입니다. 말 못하는 사람이라기 보다는 스스로에게 보이는 몇몇 부분이 있는데 습관적인 부분이라 잘 고쳐지지 않습니다. 신경쓴다고 하지만 쉽게 되지는 않네요 ^^
3. 결과물 관리 능력
수업시간에도 많이 배웠고, 지금도 많이 느끼고 있을겁니다. 실제 개발보다도 유지&보수 작업이 더 귀찮고 오래간다는 사실. 우리는 몸소 느껴서 알고 있습니다. 하지만 늘어지는 프로젝트와 리프레쉬 없는 개발일로 인해 심신이 지쳐감에 따라 결과물이 나오고 난 이후에는 Knock Down 이 되어 버립니다. 그로인해 그 이후의 일은 생각안하고 결과물을 아무렇게나 내팽겨두게 되는경우가 좀 많이 있습니다. 하지만, 개발은 완성후부터 시작이라고 다음일을 위해서라도 마무리를 멋지게 지어야 할 것입니다. 구성원들의 관리 방법 or 자신만의 관리 방법은 꼭 필요한 능력이 되겠습니다. 힙합댄스를 추는 친구들도 마지막에는 프리징을 멋지게 하지 않습니까?
제가 개발을 하면서 느낀것은 저것입니다. 코딩의 능력, 적절한 패턴의 사용, 속도 개선 등등 이러한것들 또한 매우 중요하지만, 위에서 말한 저러한 능력을 함께 키워나가지 못한다면 시간이 지남에 따라 자신이 할 수 있는 일이 점점 줄어들 것이라 생각합니다. 혼자서 하는 개발이라면 이야기가 달라질 수 있겠지만,언제나 다수의 사람들과 개발이라는 일을 진행하게 되는 개발자들에게 위의 능력은 기술개발과 함께 같이 키워나가 할 필수 능력이 아닐까 생각합니다.
그리고 "영어" 는 필수 입니다.
Trackback URL : http://rainless.ipocs.com/blog/trackback/258
- 자랑스런 동생 #1 좋은 일이 일어나게 만들자 2009/07/03 00:23 ×
자네가 쓴거야? 한편으로는 right direction이라 생각하면서도 ... 이제 얘도 늙는 구나 하는 생각이 드는 이유는 멀까.
늙는구나...T.T
배만 보면 한 40대 개발팀장의 배를 연상시킵니다요~ㅋㅋㅋ
살빼야죠. 그리고 젋어져야죠.
자네가 쓴거야? ㅋㅋ
ㅋㅋㅋㅋ
어딘가에 끄적여 놨던거 좀 꺼내봤습니다.