Arm Linux Kernel Hacks

rousalome.egloos.com

포토로그 Kernel Crash


통계 위젯 (화이트)

79112
549
416219


[IT] 임베디드 BSP 코드몽키의 특징 임베디드 에세이

요즘 ARM 프로세서와 같은 기술적인 컨텐츠를 올리는데요.

이번 시간에는 조금 예민한 이야기를 에세이 형식으로 포스팅합니다. 주제는 임베디드 BSP 분야의 코드몽키의 특징입니다.
코드몽키가 뭔지 궁금하시다고요? 아래 동영상을 보면 알 수 있을 겁니다.


리눅스 개발자들과 교류를 하다가 가끔 술 한잔 할 때 가끔 코드몽키에 대해 스토리를 이야기합니다. 그 분들이 하는 말을 좀 듣고 나니 몇 가지 공통점이 있더라구요. 
몇 가지 공통점을 보여 요약을 해 봤거든요. (사실, 이 글을 블로그에 비공개로 업로드됐는데 공개로 올려도 될 것 같아 포스팅합니다.) 

제가 아는 친구는 중견 기업의 CTO 개발자로 일하고 있는데요. 
(그 친구가 말하는) 임베디드 코드몽키 때문에 회사 문을 닫을 뻔했다고 하는데요. 
개발 과정에서 종종 큰 사고를 쳐서 그 친구의 주요한 역할이 면접 때 임베디드 코드몽키를 가려내는 일이라고 하는군요. 

글을 조금만 읽으면 기분이 나뻐질 수 있는데요. 
"이 글을 쓴 너도 임베디드 코드몽키가 아니냐?"라고 반문을 할 지 모르겠습니다. 
이렇게 질문을 하면 '네, 저도 임베디드 코드몽키입니다'라고 대답하겠습니다. 그리고 '기분이 나쁜 분은 코드몽키일 가능성이 매우 낮습니다"라고 말씀드리고 싶어요.

참고로 이 글은 모두 제 생각은 아니고 시니어 급 리눅스 시스템 개발자들의 생각을 정리한 것입니다. 
이제부터 임베디드 분야의 코드몽키의 특징에 대해 몇 가지 정리해 보겠습니다.

배우려는 의지가 없다

다른 코드몽키와 마찬가지로, 임베디드 코드몽키의 특징은 스스로 배우려는 의지가 없다는 점을 들 수 있어요.
물론 개발을 하다보면 어쩔 수 없이 뭔가 배워야 할 때가 있습니다. 이 때는 임베디드 코드몽키는 자신에게 주어진 일을 할 정도의 지식만 배운다는 점입니다.
이것도 구글링을 통해 얻는 간단한 지식에 불과한 경우가 많죠. 

책을 읽지 않는 것은 물론 꼭 봐야할 스팩 문서도 쳐다보지 않습니다.

스팩에 맞게 공부해서 학점을 따는데 길들여 졌는지, 하는 일이 관심이 없는 지 모르겠지만,
아무튼 임베디드 코드몽키는 배우려는 의지가 거의 없습니다.

단순 반복적인 일을 편하게 느낀다 

개발을 하다보면 코드몽키성 업무는 누구나 마추치게 됩니다.
빌드 스크립트만 짜거나 특정 피쳐를 넣고 빼는 일, 기계적인 깃 머지 혹은 단순 브링업과 같은 일이죠.

임베디드 코드몽키들은 이런 반복적인 일을 좋아하고 편하다고 느낍니다.

고수 개발자들이 가장 혐오하는게 단순 반복적인 개발업무인데, 이런 임베디드 코드몽키들은 이런 코드몽키성 업무만 쫒아 다닙니다.

보통 신입 개발자들에겐 가장 쉬운 업무를 주는 경우가 많은데요. 어쩔 수 없이 코드몽키성 업무를 주는 상황이 많습니다.
그런데 5년차 이상의 임베디드 코드몽키 개발자들이 이런 업무에 스스로 뛰어들어 신입개발자들과 경쟁을 한다고 하네요.

메뉴얼 대로 시키는 일만 한다

대부분의 임베디드 코드몽키는 메뉴얼대로 하는 일을 좋아합니다.
대신 조금이라도 스스로 일을 하는 걸 싫어합니다. 절대적으로 시키는 일만 합니다.

다른 동료가 작성한 코드에 심각한 버그가 있던 말건 기계적으로 코드를 머지합니다.
하지만 메뉴얼을 벗어난 업무를 지시하면 분노합니다. 임베디드 코드몽키에게 메뉴얼화가 안된 새로운 일을 주면 대부분 싫어하기 때문이죠.
'이걸 왜 해야 해?'라고 질문을 던지며 갱스터 랩을 하면서 100가지 이상 이유를 들이댑니다. 

자신에게 주어진 일을 왜 해야 하는지, 결과물을 어떻게 나올 지 고민을 안하기 때문이라고 합니다.

노력을 할 필요가 없다고 생각한다 

임베디드 코드몽키는 노력을 해도 자신의 삶이 나아지지 않는다고 생각하는 경우가 많다고 합니다. 
의도적으로 개발자, 직장인의 한계를 말하는 경우도 있다고 하는군요. 예를 들면 다음과 같아요.

아무리 개발을 잘해봤자 재테크를 하는 것보다 돈을 벌지 못한다.
개발을 잘 하려고 공부를 해도 나이먹으면 치킨 집을 차릴 수 밖에 없다.

100% 틀린 말은 아니지만 구지 저런 소리는 자주 할 필요가 있는 지 좀 의문이 들긴 합니다. 

평범한 개발자를 유난히 높게 평가한다 

임베디드 코드몽키들은 지극히 평범한 그저 그런 개발자를 아주 뛰어난 개발자라고 칭송하는 경우가 많습니다. 
메뉴얼대로 시키는 일에 익숙해져 있기 때문에 조금이라도 일을 창의적으로 하는 개발자를 보면(다른 개발자가 보기엔 '개나 소나하는' 일인데) 
'우아, 정말 대단하다'라고 진심으로 박수를 보낸다고 합니다. 

저는 이런 상황을 겪진 않았지만 다른 시니어급 개발자들은 이런 상황을 종종 겪었나 봅니다.

코드몽키가 되는 건 사실 개개인의 선택이고 뭐라고 말할 필요는 없는 것 같습니다.
하지만 가끔 동료에게 피해를 주거나 부서에서 진행 중인 프로젝트에 엄청난 대형사고를 치는게 문제라고 합니다.

Written by <디버깅을 통해 배우는 리눅스 커널의 구조와 원리> 저자





덧글

  • 코드몽키 2020/07/18 20:04 # 삭제 답글

    저 같은 코드 몽키를 위해 좋은 책을 써 주셔서 감사합니다.
    이 책 읽으면 코드 몽키에서 벗어날 수 있겠죠?
댓글 입력 영역