[ (번역) 소프트웨어 집단의 부패:Expert Beginner의 유산 ]


[ 2018. 05. 08 ]

너무 좋은 글이었다. 개발자를 업으로 삼는 사람들이라면 한 번쯤 읽어볼만한 가치가 있었다. 개발을 업으로 살아가는 사람들은 대개 자신의 기술 스펙에 대한 자부심 혹은 자신감이 있을 것이다. 그만큼 자신은 그 분야에 대한 기술을 깊이 있게 파고들었기 때문이다. 위의 글은 그러한 사람들이 개발자로서의 잘못된 마음가짐을 가졌을 때 나타나는 문제점을 말해준다.


아래의 내용은 전체 글에 대한 나의 요약과 생각이 들어가있다. 읽으면서도 공감되는 내용들이 매우 많았으며 본인이 이 글을 본다면 해당 링크로 들어가 직접 글을 보길 권한다.


Expert Beginner

자신의 테두리가 곧 전체의 테두리라 굳게 믿고, 지역적 최고점에 도달한 후 배움을 멈춘 개발자,


이들은 큰 그림을 볼 수 있을 정도의 역량이 없으므로, 자신들이 전문가가 아니라는 사실을 자각하지 못한다. 즉, 자신들이 여태까지 노출되었던 환경이 곧 전체이자 유일한 방법이라고 생각할 정도로 시야가 좁다는 의미. 


Expert Beginner 가 될만한 성장 요소들을 살펴보면, 제한된 교육환경 내에서 매우 교육을 잘 받았으며, 쉽게 성공하였고, 요구되는 기준 조건들이 낮으며, 자신과 정보를 교류하고 의사소통할 전문가들이 존재하지 않으며, 실질적인 진짜 전문가도 없으며, 다른 이들과의 경쟁자도 없고, 외부와의 접촉도 없는 환경이다. 


이들이 어느 기업의 높은 직함을 지니고 군림하고 있다면 그와 함께 같은 기업에 소속하고 있는 사람들에게 자신이 개발자로서 가진 잘못된 성향과 습관을 전염시킬 수 있다.


그렇다면 이러한 문제들속에서 우리는 어떻게 해야하는 것일까?


정체하지 않고 진전하는 문화 만들기

  • 팀 멤버들에게 최대한 자유롭게 상상할 수 있는 기회를 주고, 그들이 발견한 방법을 직접 보여줄 수 있도록 독려하라 (성공보다는 실패에서 배우는 게 많음을 기억하자)

  • 새로운 언어, 접근법, 프레임워크, 패턴, 스타일 들의 학습하는 것에 대한 인센티브를 제공하라

  • 특정 주장이 더 낫다고 평가하거나 수용할 때, 절대로 그 사람의 연차를 근거로 삼지 말아라.

  • 외부의 의견을 사내에 강제적으로 주입받을 수 있는 정책을 만들어라(점심시간을 이용한 네트워킹, 월간 트레이닝, 감사 등)

  • 가능하다면 논쟁이나 의견 충돌이 있을 때 직급이나 투표등의 주관적 기준이 아닌 좀 더 객관적인 기준으로 해결하라

  • 증명하는 문화(culture of proof)를 만들어라. 실제 레퍼런스, 통계, 사실 등이 확인되지 않으면 그 의견은 없는 것이나 다름없다.

  • 주기적으로 주니어와 시니어를 아우르는 설문을 진행하라. 그들의 강점과, 강점의 갯수만큼 자신이 모르는 것, 혹은 알고 싶은 것에 대한 것을 작성하도록 하라. 이것은 사전에 직원들이 (특히 오래된 직원들이) 자신이 "모든 것을 다 안다" 라고 생각하게 되는 분위기를 미연에 방지하기 위해서 이다.

위의 리스트에서 공감되는 부분들은 색으로 따로 구별해두었다.


빨간색으로 표시한 부분은 내가 공감하는 내용들이었다. 아직 개발자로서 명함을 내밀기에도 매우 부족한 '나 자신' 이란 걸 알고 있다. 우리나라는 여전히 직급체계가 잡혀있고 그들의 생각과 가치관들이 기업의 전체적인 문화를 아우르기 때문에 어쩌면 우리나라는 아직까지는 open mindset 이 정착되어 있지 않다. 하지만 그 과정에서 굴지의 IT 기업들은 기업 문화, 그리고 개발자들간의 커뮤니티를 활성화 시키기 위해 사내에 변화를 주고 있으며 현재 우리나라는 과도기 상태에 있다고 생각한다. 


그리고 우리나라에서 가지고 있는 문제점이 항상 실력을 연차에 근거해서 혹은 연차에 비례해 연관지어 생각하는 것이다.


" XX년차 개발자인데, 연봉 얼마정도 받는게 맞을까요? "

" XX년차 개발자입니다. 이 정도는 아는 것이 맞는게 아닐까요? "

" XX년차 개발자입니다만 제가 이때까지 해본 것으로는 그것은 해결이 되지 않던데요? "

" XX년차 개발자입니다, 저는 그러한 얘기를 이때까지 들어본 적이 없는데요? "

" XX년차 개발자입니다. XX년차 정도면 어느정도는 알고 있어야 하나요? "


항상 근속연수를 기준으로 개발자로서의 잣대를 들이미는데, 사실 평가기준이 근속연수 밖에 확인할 방법이 없는 것일 수 있다. 한번 생각해볼 문제이다.


I Don't Know 를 말할 수 있는 사람되기

나 또한 누군가와 프로그래밍적인 얘기를 하다보면 내가 가진 기술 스펙과 지식으로 상대방에게 설득하기 위해 혹은 말로써 이기려고 한다는 걸 느꼈다. 하지만 이것은 매우 잘못된, 정말 그릇된 생각이라는 것을 안다. 어떻게 나의 답변이 정답이 될 수 있는가. 


모르면 모른다는 것을 인정하고 인지하고 거기에 맞춰서 공부를 하고 익혀나가야한다. 내가 알지 못하는 지식은 쓰레기 지식이라는 그 생각 자체가 쓰레기 생각이다. 최근에 드는 생각은 배움에 있어서 겸손함을 인식하고 새로움에 대해서 언제든지 받아들일 준비를 하자가 크자. 자신감이 있으면 좋지만 오만한 자신감은 자만감이 되기 쉽기 때문에 항상 스스로를 경계하고 조심해야 한다고 느낀다.

Posted by doubler
,