이분법적 사고를 가지고 프로그래머를 크게 두 그룹으로 나눠본다면,
개념이 충만하고 아키텍트 레벨을 다루고, 글을 잘 읽고, 잘 쓰고, 계층화된 구조를 좋아하며, 논리적인 사고를 잘하고, (숙련되지는 못하더라도 최소한 잘하려는 욕심이 있고) 구현에 급급하기보다는 충분히 심사숙고하여 작품을 쓰려는 프로그래머 요구사항이 얼마나 복잡하든지, 사용할 기술의 적합성과 크게 상관없이 요구사항에 맞춰 빠르게 그것을 구현하여 만족시켜주는 프로그래머
로 나눠볼 수 있겠다.
후자의 경우 프로그래머의 성능은 요구사항에 의존적이지만 상대적으로 목표가 명확하기 때문에 근성이 충만하다. 전자의 경우 올바른 요구사항과 설계안을 도출하는데 신경을 곤두세우고 있기 때문에 상대적으로 구현은 중요하지 않다. 올바른 요구사항과 적절한 설계가 나오고 난 뒤에 그것을 구현할 시간이 돌아오면, 그저 시간이라는 리소스만 충분히 투입하면 적절히 해결된다고 생각하기 때문이다.
이 두 종류의 프로그래머는 서로 만나기 어렵다. 왜냐하면 서로 중요하다고 생각하는 것이 다르기 때문이다. 중요하게 생각하는 것이 서로 다른만큼 서로를 비방하고 무시하기도 쉽다. 그런데 어느정도 이상의 성공을 거두려면 두 종류의 프로그래머가 함께 있어야 된다. 혹은 두 분야에 모두 능한, 최소한 관심이라도 있는 프로그래머가 1명이상 있어야 된다. 중재를 해야하기 때문이다.
첫번째 그룹에서는 개념이 충만하고 구조적이고 논리적인 사고를 하는 사람이면서 동시에 구현을 잘하는 사람을 찾는다.
두번째 그룹에서는 요구사항 분석이 능하고 구현을 대단히 잘하는 사람이면서 동시에 논리적인 사고를 잘하는 사람을 찾는다.
이러니까 프로그래머 구하기가 어려운 것이다.
많은 경우 이러한 문제를 해결하는 것은 중간관리자의 몫이다. 만약 두가지를 동시에 다룰 수 있는 프로그래머가 있다면 많은 그룹에서 환영을 받을 것이다. 또한 처절한 외로움도 느끼게 될 것이다.
Comments
4 thoughts shared
와우~ 너무 어려운 문제군요~ 저는 후자에 가까운 개발자로 생각됩니다만, 전자와 같은 개발자들에 대하여 우리(?)와 다르다고 생각하지 않습니다. 결국에는 같은 배를 탔다는 것 만으로 충분한 이유가 되지 않나 생각합니다. 또한 rath님의 의견에도 공감하고 있습니다.
음 이래 저래 짱구를 굴려보아도 아무래도 전 중간관리자의 역할인가 봅니다. ^^
간만에 들렀네요~ 재미나게 잘 읽고 갑니다~
Continue Reading
Discover more thoughts and insights
긴장한 모습을 보이는 것은 얼마나 무례한가
그대와 의사소통하고자 하는 사람이 앞에 서 있다. 그리고 당신은 긴장하고 있다. 나도 사람 앞에서 대단히 긴장하는 편이고, 수줍음 많은 편이다. 그래서 긴장할 수 밖에 없는 이유들, 얼마든지 나열할 수 있고
잘할 수 있는 것만 계속 하면
잘할 수 있는 일만 계속 하면 어떻게 될까? 익숙한 일을 하면 자기가 익숙한 부분을 할 때의 자기 자신을 거의 자각할 수 없을 것이다. 익숙하니까. 사람들은 자기가 멀뚱히 시간을 떼우고 있다는 사실을 견디기
베토벤 소나타 14번 Op.27 월광 3악장
베토벤 소나타 14번 Op.27 월광 3악장 노다메를 보다가 클래식에 흠뻑 젖어버렸고 뭔가 클래식을 정말 멋지게 치고 싶다는 생각이 든지 어언 3일째.. 어제 시험준비에 바쁜 와중에도 서점에 가서 베토벤 소나타