Arm Linux Kernel Hacks

rousalome.egloos.com

포토로그 Kernel Crash


통계 위젯 (화이트)

8179
1390
307630


[임베디드] 강력한 꼰대 개발자가 되는 방법(1) 임베디드 에세이

'꼰대 개발자가 되는 방법'이란 주제로 2개 포스팅을 올린 후 많은 개발자의 피드백을 받았습니다.

 
그 중 제가 생각하는 '꼰대 개발자'에게 이 글을 보여드리고 의견을 알려 달라고 부탁을 드렸습니다. 실제 꼰대 개발자들의 인터뷰를 한 내용을 바탕으로 '꼰대 개발자'가 되는 방법을 써야 좋은 글이 나오겠죠. 꼰대 개발자님께서 대부분 애정어린, 진심을 담은 후기를 주셨습니다. 그 내용을 잠깐 소개해드릴까요?

   * 글의 내용이 정말 부실하다. 넌 글을 정말 못 쓰는 구나!
   * 야, 꼰대 개발자가 되기 위한 조건이 맞는지 모르겠다. 조금 더 내용을 보강해야 할 것 같다.
   * 참, 글 쓰레기 같이 쓴다. 이게 뭐냐?

위와 같은 의견을 주시면서 꼰대 개발자가 되기 위한 방법과 조건을 알려 주셨습니다. 자, 이번에는 조금 더 강력한 꼰대 개발자가 되기 위한 방법에 대해 조금 더 알아봅시다.

자신이 알고 있는 기술이나 기법은 대단하고 자신이 모르는 기술은 별게 아니라 믿는다. 

자신이 예전에 잘 다뤘더나 익숙한 기술이나 기법들은 다른 개발자들이 반드시 잘 배우고 알아야 한다고 믿어야 합니다. 
자신을 중심에 놓고 기술을 이분법적으로 보는 것이죠. 자신이 고생하면서 배운 기술이나 기법이 대단하다고 확신해야 합니다.

   * 뛰어난 개발자가 되려면 전체 소프웨어 패키지를 빌드하는 빌드 스크립트를 반드시 잘 알아야 한다.
     이걸 모르는 놈들은 다들 허접들이다.

   * 오실로스코프를 잘 다루지 못하는 개발자들은 다 허접개발자들이다.

그런데 새로운 SW 기법이나 이론 개발 방식에 대해서는 '별 게 아니다'라고 생각하는 습관을 갖는 것이 중요합니다. 몇 가지 예를 들어 볼까요? 
   
   * 머신러닝은 별 게 아니야. 그거 파이썬을 돌리면 다 되는 거 아니야?(물론 본인은 파이썬을 코딩한 적이 없습니다.)
     그거 일 주일이면 다 마스터 할 수 있는 거야.(물론 본인은 머신러닝을 공부하지 않은 백지 상태로 남아 있습니다.)

   * 우리가 리눅스 커널의 스케줄러 코드를 고치니? 
     리눅스 커널은 그냥 가져다 쓰면 되는 거야. (물론 본인은 리눅스 커널 소스를 분석한 적도 없습니다.)
     리눅스 커널은 조금만 하면 누구나 잘할 수 있는 거야. (당연히 앞으로 리눅스 커널의 소스 코드를 쳐다 보지도 않습니다.)

   * TRACE32를 왜 잘 다뤄야 하지? 
     그거 하루만 교육 받으면 다 쓸 수 있는 거 아니야?
     (물론 본인은 TRACE32 프로그램을 실행시키는 방법조차 모르고 배울 생각 조차 하지 않습니다)

이처럼 별 희한한 이유를 대면서 자신이 모르는 이론이나 기법은 별 게 아니라고 스스로 최면을 걸어야 합니다. 대신 자신에게 익숙하고 많은 시간을 투자한 기술에 대해서 '이게 전부이고 가장 중요하다'라고 생각하면서 오로지 자신에게 익숙한 기법을 강화하는 방향으로 공부를 해야 합니다.

꼰대 개발자가 되려면 반드시 공부를 열심히 해야 합니다. 그런데 공부의 방법과 방향이 가장 중요합니다. 

   * 새로운 트렌드는 죄악시 여기고 자신이 잘 알고 있는 기술에 대해서만 관심을 기울여야 합니다.

입시생이든 개발자이던 공부 방법이 가장 중요한 것 같습니다.

공개적으로 다른 개발자를 무시하고 원색적인 비난을 서슴치 말아라!

강력한 꼰대 개발자가 되기 위한 가장 중요한 관문 중 하나입니다. 개발을 하다보면 우리와 다른 관점의 생각을 표출하는 개발자를 만날 수 밖에 없습니다. 서로 다른 생각을 하는 것은 지극히 당연하다고 봐야 합니다. 그런데 그들의 의견을 잘 듣고 설득력이 있는 내용이면 이를 받아 들이는게 상식이죠. 

하지만 꼰대 개발자가 되려면 이런 개발자들을 절대 가만히 두면 안됩니다. 여러분은 스스로 자신이 성공한 개발자이고 IT 역사의 흐름을 바꾼 '리누스 토발즈'나 '스티브 잡스'와 같은 위인이라고 확신하고 있습니다. 이렇게 위대한 자신과 다른 생각을 하다니. 

   * 절대 용서할 수 없습니다.

그래서 자신과 다른 생각을 말하는 상대방을 죄악시 여기기는 것은 기본이고 원색적인 비난을 서슴치 말아야 합니다. 상대 개발자를 저주하고 멸시하는 가장 좋은 기회와 공간은 바로

   * 공개적인 회의 

입니다. 그렇다면 공개적인 석상에서 다른 개발자를 비난해야 하는 이유는 무엇일까요? 
상대방이 어떤 의견을 견지하던 나와 다른 관점이나 생각 혹은 상이한 방향으로 어떤 문제를 분석하는 것은 있을 수 없고참을 수 없기 때문입니다. 그래서 자연스럽게 억울함이 쓰나미 처럼 밀려 옵니다. '나 같이 위대한 개발자를 멸시하는 개발자가 있다'니 이런 말도 안돼는 일은 생길 수 없어! 이런 억울함을 호소하기 위해서는 자연히 다음과 같이 행동하게 됩니다. 

   * 다들 보는 앞에서 특정 개발자를 무시하거나 비난해야 합니다. 

가끔 꼰대 개발자와 비슷한 연차의 동료들이 '단 둘이 조용히 이야기하면 되지 않을까? 구지 그렇게 공개적인 자리에서 욕을 하니'란 의견을 들어도 흔들리면 안됩니다. '반드시 다른 사람들이 보는 앞에서 다른 개발자들을 원색적으로 비난해야'합니다.


"이 포스팅이 유익하다고 생각되시면 공감 혹은 댓글로 응원해주시면 감사하겠습니다.
"혹시 궁금한 점이 있으면 댓글로 질문 남겨주세요. 아는 한 성실히 답변 올려드리겠습니다!"

Thanks,
Austin Kim(austindh.kim@gmail.com)


* Reference



# Reference: For more information on 'Linux Kernel';

디버깅을 통해 배우는 리눅스 커널의 구조와 원리. 1

디버깅을 통해 배우는 리눅스 커널의 구조와 원리. 2




덧글

댓글 입력 영역