훌륭한 개발자란
좋은 개발자의 조건에는 여러가지가 있지만 크게 두 부류로 구분할 수 있다.
- 어려운 문제를 해결하고, 새로운 길을 개척하는 개발자
- 맡은 일을 성실하게, 열심히 하는 개발자
달리 표현하면 1 은 ‘영리함’ 2 는 ‘성실함’으로 바꿔 부를 수 있는데, 문제는 1 과 2 가 반비례 관계란 점이다. 1 이 높으면 2 가 낮고, 반대로 2 가 높으면 1 이 낮다. 1 + 2 가 완벽한 사람은 정말 찾기 힘들다. 그리고 대개는 2 가 직장 생활에서 동료들에게 더 좋은 평가를 받는다.
그러나 예전에 배에 비유한 바 있듯이 2 는 배를 앞으로 나아가게 할 있는 능력이 없다. 옆으로만 간다. 그나마 뒤로 밀려나지 않는걸 다행으로 생각해야할지도 모르겠지만 풍랑을 만나면 곧 침몰하게 된다.
풍랑을 헤치고 배를 앞으로 나아가게 할 수 있는 능력은 1 이 갖고 있다. 그리고 연차가 거듭될 수록 한 번의 노 저음으로 더 멀리 가고, 2 에 가깝게 더 열심히 노를 젓는다면 그가 바로 가장 훌륭한 개발자다.
그러나 본인이 2 에만 해당된다면, 처음에는 좋은 평가를 받을 수 있겠지만 결국 도태된다. 꾸준히 공부해도 ‘영리함’을 갖출 수 없다면 아쉽지만 이쯤에서 다른 업종을 찾아보는게 모두를 위한 길이다.