code monkey 와 ninja programmer

국내에서는 그리 많이 쓰이는 용어 같지 않은데, 어쩌다 외국 프로그래머 관련 글이나 동영상을 보면 code-monkey(코드몽키)와 ninja-programmer(닌자프로그래머)라는 말이 언급 되는 경우가 있다. 둘다 프로그래머을 지칭하는 말인데 처음 들었을때 단어에서 풍기는 뉘앙스가 code-monkey는 원숭이라는 단어가 우습고 약간 멍청한 느낌이고 ninja-programmer 는 왠지 닌자처럼 은둔하면서 일을 처리하는 은둔고수를 표현하고 있는것 같았다. 아니나 다를까 그 단어에서 풍기는 뉘앙스가 거의 맞아 떨어졌다.

code-monkey 는 보통 프로그래밍을 업으로 막 시작한 초짜 주니어 프로그래머로, 흔히들 코더(coder)라고들 부르기도 한다. 단순하고 반복되는 코딩 작업을 하며 깊은 생각을 하지 않고 어셈블리라인(assembly line, 공장 조립 라인)처림 좀 과격하게 말해 멍청한 코드를 생산하는 어리석은 주니어 프로그래머라고 한다. 바나나로 훈련된 원숭이가 컴퓨터 앞에 앉아 타자치는 이미지를 생각하면 될 것 같다. 그런데 초짜 주니어라고해도 왠만한 시니어 이상의 머리회전과 스킬셋을 무장한 특출난 사람도 요즘엔 심심치 않게 보이고 또 이런 친구들한테 오히려 많이 배우기도 한다.

ninja-programmer 는 코드몽키 처럼 지칭하는 단어에 코드가 들어가지 않고 프로그래머라는 단어가 들어간것 부터가 진정한 프로그래머라는 것을 암시한다. 코드 몽키가 원숭이 이미지를 떠올리면 됐듯이 닌자프로그래머는 일본 영화나 애니에서 그려지는 닌자를 떠올리면 된다. 그림자 처럼 은둔하면서 다른 사람들이 해결하지 못하는 골치아픈 일을 음지에서 쥐도 새도 모르게 해결하는 해커같은 자들을 말한다. 뛰어난 실력을 갖추고 항상 수련하는 닌자처럼 공부도 게을리 하지 않는다. 팀에서 프로젝트 진행시 쉽게 해결하지 못한 이슈들이 하룻밤 자고 다음 아침이 되면 (닌자프로그래머)에 의해 멋지게 해결된 상태가 된다. 이 닌자프로그래머는 말도 많이 없고 사람들 앞에 잘 나서지 않아 평소에는 존재감이 없지만 큰 문제가 터지면 꼭 남들 잘때(ㅋ)밤을 새워가며 문제를 파고들어 결국 해결하는 스타일이다. 한마디러 아주 실력있고 간지나는 프로그래머라고 할 수 있다.

다시 간략히 정리하면
코드몽키: 실수도 많고 아직 배워야할것도 많은 주니어지만 게으르고 멍청한 녀석
닌자프로그래머: 실력 좋고 평소엔 말수도 적어 존재감도 없지만 감쪽같이 문제를 해결하는 음지의 고수

좀더 다양한 스타일로 간달프, 이론가 등의 프로그래머 타입이 있다. 자세한 내용은

시간이 지나면서 경험도 좀 쌓이고 나름 노력을 했다면 예전의 어리숙한 주니어(junior)티를 벗어내고 나름 괜찮은 시니어가 됐다고 생각을 하게 되는데, 글쎄 난 아직 남들에게 senior 라고 당당하게 말하기가 부끄럽다. 그래도 이렇게 자신을 부끄럽게 생각하지 않고 나잘났다고 떠드는 껍데이 senior 보단 낫다고 맘속으로 위안을 한다. 10년이 넘게 키보드를 잡고 나름 프로그래머 위치를 지키고자 힘쓰고 있는데 점점 머리도 잘 안돌아가고 또 왜 이렇게 게을러진건지(겨울이라 잠만자고 싶은...), 닌자 프로그래머가 되기는 커녕 코드 몽키로 퇴화하는건 아닐런지, 열심히 learning 하자!

comments:

댓글 쓰기