개발자란 직업이 나이 들어서 할 수 있는 것인가 하는 질문을 간혹 듣거나 보게 됩니다. 특히 우리 나라에서 나이든 개발자를 찾기는 쉽지 않습니다..
저에게 나이든 개발자 하면 떠오르는 한 사람은 Dave Cutler 입니다. 윈도우즈 커널을 설계한 사람으로 잘 알려져 있는 이 사람은 올해로 만 56세가 되었겠습니다. 이 사람은 보잘것 없는 작은 대학을 졸업하고도 일찍이 운영체제 프로그래머의 길을 택해 크게 성공한 사람입니다. 약 5년전 Dave로부터 짧은 메일 하나를 받았었는데, 그 당시 그는 윈도우즈를 64비트 AMD 버전으로 포팅하는 작업을 하고 있었습니다. 그는 인텔 특히 IA-32 CPU를 아주 싫어하는 것으로 알려져 있습니다. 그래서 처음 NT를 설계할 때 부터 Alpha, PowerPC 등의 인텔이 아닌 CPU 버전을 만들기도 했습니다. AMD64로 포팅하는 작업을 앞장서서 스스로 한 이유도 같은 맥락일 것입니다. 그런데, 아이러니 하게도 Dave는 DEC에서 일할 때 VMS 운영체제를 인텔 IA-32로 포팅하는 프로젝트인 Emerald를 진행하다가, 회사가 그 프로젝트를 취소하자, 마이크로소프트로 옮긴 것으로 알려져 있기도 합니다. 또, 그 당시 Emerald 프로젝트에 사용된 기본 설계가 그대로 Windows NT에 적용되었다고 합니다
단편적인 이야기들을 정리하면, 이 사람은 지금 까지 모든 인생을 소프트웨어 개발에 엄청난 노력을 쏟아 붓고 있는 사람입니다. 이 사람과 직접 대화를 해보지는 못했으나, 이 사람이 작성한 코드를 본 적은 있습니다. 현재 Windows에 있는 InterLocked로 시작하는 Lock-free API 중의 대부분은 Dave가 제작한 것입니다.
물론 Dave는 컴퓨터 운영체제가 처음 개발될 당시 그 분야에 뛰어들어 많은 경험과 지식을 쌓은 것이 현재까지 큰 도움을 주고 있는 것 같습니다만, 이미 오래 전부터 스톡옵션으로 억만장자가 되었음에도 여전히 소프트웨어 개발에 몰두하는 것은, 그가 얼마나 소프트웨어에 애착을 가지고 있는지 보여주는 것입니다. (많은 초창기 NT 개발자들은 스톡옵션으로 부자가 되어 이미 은퇴하였습니다)
MS의 윈도우즈 팀에서도 이 사람은 좀 특이하여 자기 아래 직원을 데리고 있지 않았습니다. 아마도 매니지먼트를 하기 싫어하는 사람이고, 그러한 일에 시간을 뺏기기를 원하지 않았을 것 입니다. 그리고, 추정되는 바로는 날카롭고 꼼꼼하며 매우 냉소적인 성격으로, 아마도 그 밑에서 일하고 싶은 사람은 별로 없었을지도 모를 일이지요.
우리나라의 현실로 돌아와 보면, 아직 Dave와 같이 존경 받을 만한 나이든 개발자가 없다는 것이지요. 아마 가장 큰 이유는 우리나라 소프트웨어 개발의 역사가 더 짧기 때문일 것 입니다. 미국에서도 물론 나이들어 개발자로 계속 남는 사람은 그리 많지 않습니다만, 우리나라의 경우 나이가 들면, "x장" 이라는 감투하나 쓰고, 아랫 사람들 거느리고 앉아 명령을 내리는 것이 당연시되고 출세한 것으로 인정되는 사회 분위기에서는 새로운 기술을 매일 갈고 닦아야만 하는 개발자 보다는 관리자의 길을 선택하는 것이 너무도 쉽기 때문은 아닐까 생각합니다.
진정한 장인정신을 가진 개발자들이 성공하고 인정받는 사회 분위기가 정착되어야만 지금의 이공계 위기라는 것도 해결되지 않을까 생각해 봅니다.