이분법적 사고를 가지고 프로그래머를 크게 두 그룹으로 나눠본다면,
개념이 충만하고 아키텍트 레벨을 다루고, 글을 잘 읽고, 잘 쓰고, 계층화된 구조를 좋아하며, 논리적인 사고를 잘하고, (숙련되지는 못하더라도 최소한 잘하려는 욕심이 있고) 구현에 급급하기보다는 충분히 심사숙고하여 작품을 쓰려는 프로그래머 요구사항이 얼마나 복잡하든지, 사용할 기술의 적합성과 크게 상관없이 요구사항에 맞춰 빠르게 그것을 구현하여 만족시켜주는 프로그래머
로 나눠볼 수 있겠다.
후자의 경우 프로그래머의 성능은 요구사항에 의존적이지만 상대적으로 목표가 명확하기 때문에 근성이 충만하다. 전자의 경우 올바른 요구사항과 설계안을 도출하는데 신경을 곤두세우고 있기 때문에 상대적으로 구현은 중요하지 않다. 올바른 요구사항과 적절한 설계가 나오고 난 뒤에 그것을 구현할 시간이 돌아오면, 그저 시간이라는 리소스만 충분히 투입하면 적절히 해결된다고 생각하기 때문이다.
이 두 종류의 프로그래머는 서로 만나기 어렵다. 왜냐하면 서로 중요하다고 생각하는 것이 다르기 때문이다. 중요하게 생각하는 것이 서로 다른만큼 서로를 비방하고 무시하기도 쉽다. 그런데 어느정도 이상의 성공을 거두려면 두 종류의 프로그래머가 함께 있어야 된다. 혹은 두 분야에 모두 능한, 최소한 관심이라도 있는 프로그래머가 1명이상 있어야 된다. 중재를 해야하기 때문이다.
첫번째 그룹에서는 개념이 충만하고 구조적이고 논리적인 사고를 하는 사람이면서 동시에 구현을 잘하는 사람을 찾는다.
두번째 그룹에서는 요구사항 분석이 능하고 구현을 대단히 잘하는 사람이면서 동시에 논리적인 사고를 잘하는 사람을 찾는다.
이러니까 프로그래머 구하기가 어려운 것이다.
많은 경우 이러한 문제를 해결하는 것은 중간관리자의 몫이다. 만약 두가지를 동시에 다룰 수 있는 프로그래머가 있다면 많은 그룹에서 환영을 받을 것이다. 또한 처절한 외로움도 느끼게 될 것이다.
Comments
4 thoughts shared
와우~ 너무 어려운 문제군요~ 저는 후자에 가까운 개발자로 생각됩니다만, 전자와 같은 개발자들에 대하여 우리(?)와 다르다고 생각하지 않습니다. 결국에는 같은 배를 탔다는 것 만으로 충분한 이유가 되지 않나 생각합니다. 또한 rath님의 의견에도 공감하고 있습니다.
음 이래 저래 짱구를 굴려보아도 아무래도 전 중간관리자의 역할인가 봅니다. ^^
간만에 들렀네요~ 재미나게 잘 읽고 갑니다~
Continue Reading
Discover more thoughts and insights
회사 내 책상 위 전경들
간만에 디카들고 출근해서 사진찍고 놀아보았습니다. \=> 언제나 생각의 정리를 도와주는 A4 용지에 자필로 긁적이는 행위들 \=> 책상 좌측면.. 어제 출력한 '기억의 습작' 피아노 스코어도 나왔어요
생산성 2.0
최근 hx4700 에서 Spb Insight 로 RSS를 읽고 있습니다. Spb Insight 는 온라인 카달록을 제공하는데요, 한국어 피드가 없는 것이 흠이지만 요즘처럼 검색 기반 인터넷 세상에서 디렉토리를
클라이언트 인증서로 로그인 하려면
앞 글에서 클라이언트 인증서 이야기를 꺼낸김에 OpenSSL을 이용해 환경구축하는 방법을 간략히 설명한다. Prerequisite OpenSSL Nginx CA 만들기 디렉토리 구조를 언급하고 시작하겠다.